Autor Wątek: Kontrolka z wartością (dowolna)  (Przeczytany 1992 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Lucus

  • Użytkownik
  • **
  • Wiadomości: 50
  • Reputacja +0/-0
  • Wersja programu: Subiekt Gt 1.70
Kontrolka z wartością (dowolna)
« dnia: Luty 24, 2022, 16:00:35 »
Hej,

Tworzę sobie w zestawieniu kontrolkę z wartością (dowolna) jak poniżej:
{CHL_DB: SELECT -1, '(dowolna)' UNION ALL SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw:Grupa:-1:(dowolna)}Problem mam taki, że mimo wpisania w wartości domyślnej -1 po włączeniu zestawienia nie wyświetla mi się lista produktów (samo kliknięcie wylicz też nic nie daje).
Musze dopiero wejść w kontrolkę (tam jest zaznaczona opcja "dowolna") i dać ok, a następnie wylicz.
Czy da się jakoś sprawić, aby od razu wyświetlały się towary z dowolnej grupy?
Może częściowym rozwiązaniem byłoby zaznaczenie od razu wszystkich grup? (tylko jak to napisać?)

Zauważyłem też, że w "Towary i usługa" zaznaczenie grupa dowolna wyświetla również towary z grupą "brak", a w zestawieniu własnym są one pomijane. Z czego to wynika?

Offline yemet

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 1271
  • Reputacja +46/-1
  • Wersja programu: Navireo
Kontrolka z wartością (dowolna)
« Odpowiedź #1 dnia: Luty 24, 2022, 16:22:17 »
"Brak" to nie jest prawdziwa grupa. Towary, które są oznaczone grupą "brak" mają NULLa  w tw_idgrupa. W słowniku grup towarowych nie ma wpisu z NULLem. To samo dotyczy innych słowników, np. cech i kategorii. Da się to z tym poradzić np. isnullem na tw_idrgupa i joinem na słownik grup, który to uwzględni.

Spróbuj tak (pisane z pamięci):

... in ( ({CHL_DB: SELECT -1, '(dowolna)' UNION ALL SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw:Grupa:-1:(dowolna)})
or -1 in  ({CHL_DB: SELECT -1, '(dowolna)' UNION ALL SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw:Grupa:-1:(dowolna)})
)
« Ostatnia zmiana: Luty 24, 2022, 16:33:14 wysłana przez yemet »

Offline Lucus

  • Użytkownik
  • **
  • Wiadomości: 50
  • Reputacja +0/-0
  • Wersja programu: Subiekt Gt 1.70
Odp: Kontrolka z wartością (dowolna)
« Odpowiedź #2 dnia: Luty 25, 2022, 14:41:28 »
Działa, tylko bez objęcia w podwójne nawiasy :)
Tylko:
... in ({CHL_DB: SELECT -1, '(dowolna)' UNION ALL SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw:Grupa:-1:(dowolna)})
or -1 in  ({CHL_DB: SELECT -1, '(dowolna)' UNION ALL SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw:Grupa:-1:(dowolna)})
Dla odwiedzających w przyszłości - dodając ORDER BY trzeba by nazwać wszystkim nazwom na liście wspólne określenie:
... in ({CHL_DB: SELECT -1, '(dowolna)' AS Nazwa UNION ALL SELECT grt_Id, grt_Nazwa AS Nazwa FROM sl_GrupaTw ORDER BY Nazwa:Grupa:-1:(dowolna)})
or -1 in  ({CHL_DB: SELECT -1, '(dowolna)' AS Nazwa UNION ALL SELECT grt_Id, grt_Nazwa AS Nazwa FROM sl_GrupaTw ORDER BY Nazwa:Grupa:-1:(dowolna)})

Dzięki Wielkie  :D

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9228
  • Reputacja +1306/-21
  • Wersja programu: Najnowsza
Odp: Kontrolka z wartością (dowolna)
« Odpowiedź #3 dnia: Luty 25, 2022, 15:12:26 »
Uściślę odnoście ORDER:
Jeżeli chcemy sortować po aliasie to musi on być w pierwszym SELECT. W kolejnym nie musi go być wcale albo może być zupełnie inny
Poniższe też zadziała:
Cytuj
SELECT -1, '(dowolna)' AS Nazwa
UNION ALL
SELECT grt_Id, grt_Nazwa AS NazwaInna
FROM sl_GrupaTw
ORDER BY Nazwa

Ale równie dobrze możesz posortować po numerze kolumny czyli ORDER BY 2 i nie musisz mieć aliasu.
Sławek, Zduńska Wola

Offline Lucus

  • Użytkownik
  • **
  • Wiadomości: 50
  • Reputacja +0/-0
  • Wersja programu: Subiekt Gt 1.70
Odp: Kontrolka z wartością (dowolna)
« Odpowiedź #4 dnia: Luty 25, 2022, 15:17:43 »
@birds22
Dzięki za twój post. Nie wiedziałem, że to działa w ten sposób.

Forum Użytkownikow Subiekt GT

Odp: Kontrolka z wartością (dowolna)
« Odpowiedź #4 dnia: Luty 25, 2022, 15:17:43 »