Cześć.
Napisałem sobie zapytanie wyciągające kontrahentów z przypisanym określonym atrybutem.
SELECT
KK.Knt_GIDNumer
,KK.Knt_Akronim
,KK.Knt_Nip,DateAdd(d,KLK.KLK_DataOd,'18001228') as 'Data Od'
,CASE
WHEN DateAdd(d,KLK.KLK_DataDo,'18001228') = '2058-01-19' THEN 'Bez ograniczeń'
ELSE Convert(varchar,DateAdd(day,KLK.KLK_DataDo,'18001228'),23)
END
as 'Data Do'
,KLK.KLK_MaxLimitWart as 'Limit'
,KLK.KLK_Waluta as 'Waluta'
,AK.AtK_Typ
,AtK_ID
,AK.AtK_Nazwa
,Atr_Wartosc
FROM CDN.KntKarty KK
LEFT OUTER JOIN CDN.Atrybuty A ON (KK.Knt_GIDTyp = A.Atr_ObiTyp AND KK.Knt_GIDNumer = A.Atr_ObiNumer)
LEFT OUTER JOIN CDN.KntLimityK KLK ON (KK.Knt_GIDTyp = KLK.KLK_KntTyp) AND (KK.Knt_GIDNumer = KLK.KLK_KntNumer)
INNER JOIN CDN.AtrybutyKlasy AK ON A.Atr_AtkId = AK.AtK_ID
WHERE DateAdd(d,KLK_DataDo,'18001228') >= GetDate()
AND KK.Knt_Typ = 16 AND AK.Atk_ID = 198
ORDER BY KK.Knt_Akronim, KLK.KLK_DataOd
Zapytanie jako takie działa i wyświetla to co chcę.
Chciałbym z tego zrobić filtr dla dziewczyn z księgowości (najlepiej lista rozwijalna - combo),
ale niestety brakuje mi wiedzy, żeby byc nawet zielony w filtrach w XL'u.
Spłodziłem coś takiego:
@PAR ?@R(SELECT AK.Atk_ID, AK.Atk_Nazwa FROM cdn.KntKarty KK
LEFT OUTER JOIN CDN.Atrybuty A ON (KK.Knt_GIDTyp = A.Atr_ObiTyp AND KK.Knt_GIDNumer = A.Atr_ObiNumer)
INNER JOIN CDN.AtrybutyKlasy AK ON A.Atr_AtkId = AK.AtK_ID ORDER BY AK.Atk_Nazwa )|ID|&Atrybut:REG= @? PAR@ID=AK.Atk_ID=198
ale mam komunikat, żebym się douczył :)
Kontrahent - Filtr[Atrybut]
Moderator: mikey
Kontrahent - Filtr[Atrybut]
----
Pozdrawiam GM
Pozdrawiam GM
Re: Kontrahent - Filtr[Atrybut]
Filtr dla listy kontrahentów mógłby wyglądać tak:
Kod: Zaznacz cały
@PAR ?@R(SELECT AtW_Wartosc as id, AtW_Wartosc as Wartosc
FROM CDN.AtrybutyWartosci
WHERE (CDN.AtrybutyWartosci.AtW_AtKId = 198))|Atrybut|&Wartość atrybutu:REG= @? PAR@
exists(
SELECT Atr_Wartosc FROM CDN.Atrybuty WHERE Atr_Wartosc = ??_QAtrybut AND Knt_GIDNumer = Atr_ObiNumer
)--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Kontrahent - Filtr[Atrybut]
Dzięki wielkie za naprowadzenie.
Po małej modyfikacji działa.
Co muszę teraz zrobić, żeby wartości atrybutu pojawiły się w Eksporcie do Ms Excel ?
Ps. Ta zmienna "_QArtybut" jest jakoś wewnętrznie definiowana przez XL'a ?
Po małej modyfikacji działa.
Kod: Zaznacz cały
@PAR ?@R(SELECT Atk_ID as id, Atk_Nazwa as Nazwa
FROM CDN.AtrybutyKlasy
WHERE (Atk_ID IN(54,78,93,94,95,96,198)))|Atrybut|&Wartość atrybutu:REG= @? PAR@
exists
(
SELECT AT.Atr_ID,AT.Atr_Wartosc FROM CDN.Atrybuty AT
INNER JOIN CDN.AtrybutyKlasy ATK ON AT.Atr_AtkId = ATK.AtK_ID
WHERE Knt_GIDNumer = Atr_ObiNumer AND Atk_ID = ??_QAtrybut
)
Ps. Ta zmienna "_QArtybut" jest jakoś wewnętrznie definiowana przez XL'a ?
----
Pozdrawiam GM
Pozdrawiam GM
Re: Kontrahent - Filtr[Atrybut]
Filtry to chyba najlepiej ogarnąć używając "wizarda". (prawym myszy w konstruktorze filtru). Próbować różnych rozwiązań i obserwować wynik w polu wyniku.
Pomocny jest też manual od comarchu, https://pomoc.comarch.pl/xl/index.php/d ... namiczne/
Eksport do excela można by ogarnąć dodając kolumnę z wartościami.
Pomocny jest też manual od comarchu, https://pomoc.comarch.pl/xl/index.php/d ... namiczne/
Eksport do excela można by ogarnąć dodając kolumnę z wartościami.
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Kontrahent - Filtr[Atrybut]
praiser pisze: 08 wrz 2023, 17:14 Filtry to chyba najlepiej ogarnąć używając "wizarda". (prawym myszy w konstruktorze filtru). Próbować różnych rozwiązań i obserwować wynik w polu wyniku.
Pomocny jest też manual od comarchu, https://pomoc.comarch.pl/xl/index.php/d ... namiczne/
Eksport do excela można by ogarnąć dodając kolumnę z wartościami.
Dzięki za link'a.
Temat ogarnięty.
Przy okazji naumiałem się jak dodać kolumny, żeby trafiły do "Eksportu do Ms Excel"
i udało mi się stworzyć "szybki raport SQL" i podpiąć, żeby się wykonywał.
Z tymi parametrami trzeba będzie przysiąść.
jeszcze raz WIELKIE dzieki.
----
Pozdrawiam GM
Pozdrawiam GM