Forum Użytkownikow Subiekt GT
InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: siadou w Lipiec 18, 2018, 12:37:50
-
Mam mały problem napisałem zestawienie które ma mi ułatwić pracę.
Wpierw myślałem o zrobieniu rozwijalnej listy z możliwych opcji wyboru treści pola Uwagi ale nie potrafiłem tego zrobić.
Postanowiłem to zrobić poprzez IS NOT NULL, ale niestety wciąż wyświetlają się wszystkie rekordy, może mi ktoś podpowiedzieć co robię źle.
SELECT tw_Symbol[ID], tw_nazwa [Nazwa_towaru], tw_DostSymbol [NR_Kat], [2] AS Dzielna, [1] AS Tamka, ([2])+([1]) SumaTplusD, tc_CenaBrutto5 [Zakup Brotto], tw_Uwagi [Uwagi]
FROM
(
SELECT tw_Zablokowany = CASE WHEN tw_Zablokowany = 1 THEN '0' ELSE '1' END, tw_Symbol, tw_nazwa, tw_PodstKodKresk, tw_DostSymbol, st_magid, (st_stan-st_stanrez) Dostepne, tc_CenaBrutto5, tw_Uwagi
FROM tw__towar
INNER JOIN tw_stan
ON tw_id=st_towid
INNER JOIN tw_Cena
ON tw_id=tc_id
AND tw_Zablokowany IN ({LI:Aktywny#0#Nieaktywny#1#:Towary o statusie})
AND tw_IdGrupa= ({CHL_DB:SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw ORDER BY grt_Nazwa:Grupa towarowa})
)
Stany
PIVOT
(
SUM(Dostepne)
FOR St_MagId IN ([1],[2])
)
pMag
WHERE [2]+[1] = 0
AND tw_Uwagi IS NOT NULL
ORDER BY tw_DostSymbol ASC
-
Jeśli chcesz odfiltrować towary bez uwag to musisz zmienić warunek is not null na isnull(tw_Uwagi,'')!=''. Pusty string to też string, samo is not null nie wystarczy :)
-
Taki banał a ja na to nie wpadłem, działa idealnie :)
Teraz jeszcze by się przydała rozwijalna lista ze wszystkimi możliwościami pola uwagi ale pisząc w ten sposób nie działa.
tw_Uwagi IN ({CHL_DB:SELECT tw_Uwagi FROM tw__Towar:Katalog})
-
CHL_DB wymaga dwóch pól: int-a i stringa
Więc musiałoby to wyglądać tak:
tw_id IN ({CHL_DB:SELECT tw.id, tw_Uwagi FROM tw__Towar:Katalog})
ale raczej nie zadziała to tak jak chcesz :)
-
A dało by się zrobić tak jak jest w zestawieniu "Towar poniżej stanu minimalnego" Parametr "towar" z listy, ale dla pola uwagi?
Bo to by była rzecz która by dawała to co potrzebuję.
-
Wykliniłem, wyszło mi tak i działa.
CHECKSUM(tw_Uwagi) IN ({CHL_DB:SELECT distinct CHECKSUM(tw_Uwagi), tw_Uwagi FROM tw__Towar:Katalog})
-
O a to ciekawy pomysł, nie wpadłem na to nigdy :)
-
Dobrze zgaduję, że pole uwag używacie do jakiejś klasyfikacji towarów? Lepiej się do tego nadają grupy towarowe i cechy.
-
Tak wiem, ale musieliśmy na szybko wprowadzić a rewolucję dopiero będę robił niebawem, i mam to na uwadze. :)
W sumie to ta klasyfikacja nie jest stała i muszę mieć szybki dostęp do zmiany parametru w razie potrzeby, jeszcze myślę nad rozwiązaniem.
Ale dzięki za podpowiedź.