Czy dany towar był korygowany na fakturze?

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

Lukas
Posty: 124
Rejestracja: 28 wrz 2017, 14:57
Rola: Użytkownik CDN XL
Wersja: 2019

Czy dany towar był korygowany na fakturze?

Post autor: Lukas »

Cześć,

koleżanka robi korekty do faktur. Natomiast potrzebuje ona mieć informacje, czy towar "1" z danej faktury został skorygowany. Jeżeli dana faktura miała w sobie pozycje o towarach "1" - 5 sztuk i towar "2" - 10 sztuk, to w kolumnie powinno się pokazać przykładowo "możliwe do korekty" bądź "Ilość początkowa - ilość z faktury" .

Pomyślałem, by to ogarnąć w Historii towaru, wrzuciłem filtr na TRN_GIDTYP IN (2033, 2034, 2037) and KnA_Akronim LIKE '%' + ?@S100|Kontrahent:'' + '%' by zobaczyć tylko faktury dla konkretnego kontrahenta, natomiast potrzebowałbym pomocy przy kolumnie.

Od strony SQL widzę co było korygowane w korekcie, ale nie wiem jak to przełożyć do XLa na kolumnę, pomoże ktoś? :)

edit:

myślałem o kolumnie coś w stylu:

Kod: Zaznacz cały

select case when trn_zwrnumer <> 0 then select tre_ilosc - tre_ilosc from cdn.traelem where tre_twrgidnumer
 when trn_zwrnumer = 0 then '----' end as [Kolumna test]  from cdn.tranag
join cdn.traelem on TrN_GIDTyp = TrE_GIDTyp and TrN_GIDNumer=TrE_GIDNumer
where {filtrsql}
ale zwątpiłem, po pierwszym where bo nie wiem za bardzo jak go ogarnąć :P Any one ?

Awatar użytkownika
praiser
Posty: 685
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: Czy dany towar był korygowany na fakturze?

Post autor: praiser »

To kolumna w elementach faktury ma być ?

Ja bym to zrobił funkcją multi table-valued,
przekazać do niej @gidnumer i @pozycja

i w funkcji zwrócić tabelkę

Kod: Zaznacz cały

select Tre_Ilosc FROM CDN.TraElem  --zamiast Tre_Ilosc mogą być inne obliczenia
left join CDN.TraNag on Tre_GidNumer = TrN_ZwrNumer 
where Tre_GidTyp in (2041, i inne typy korekt.....) and TrN_GIDNumer=@GidNumer and TrE_Pozycja=@Pozycja
--------------------------------
Pozdrawiam
WW

Lukas
Posty: 124
Rejestracja: 28 wrz 2017, 14:57
Rola: Użytkownik CDN XL
Wersja: 2019

Re: Czy dany towar był korygowany na fakturze?

Post autor: Lukas »

praiser pisze:
02 gru 2021, 13:40
To kolumna w elementach faktury ma być ?

Ja bym to zrobił funkcją multi table-valued,
przekazać do niej @gidnumer i @pozycja

i w funkcji zwrócić tabelkę

Kod: Zaznacz cały

select Tre_Ilosc FROM CDN.TraElem  --zamiast Tre_Ilosc mogą być inne obliczenia
left join CDN.TraNag on Tre_GidNumer = TrN_ZwrNumer 
where Tre_GidTyp in (2041, i inne typy korekt.....) and TrN_GIDNumer=@GidNumer and TrE_Pozycja=@Pozycja
Dzięki, ale chyba ta funkcja to za dużo na mnie, nie jestem programistą, jedynie jakieś proste rzeczy jestem w stanie zrobić. Funkcja to za duzo na mnie :)

edit:

później myślałem, by zrobić to w ten deseń, ale jednak jest błędnie, może w takiej formie da radę to ogarnąć?

Kod: Zaznacz cały

select case when trn_zwrnumer <> 0 then a.tre_ilosc - b.tre_ilosc 
 when trn_zwrnumer = 0 then '----' 
end as  'Czy jest korekta' 
from cdn.tranag
join cdn.traelem a on TrN_GIDTyp = a.TrE_GIDTyp and TrN_GIDNumer=a.TrE_GIDNumer
join cdn.traelem b on TrN_GIDTyp = b.TrE_GIDTyp and TrN_GIDNumer=b.TrE_GIDNumer
where {filtrsql}

Awatar użytkownika
praiser
Posty: 685
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: Czy dany towar był korygowany na fakturze?

Post autor: praiser »

Okazuje się , że są gotowe funkcje skalarne.

Pozostało do korekty wywołasz w kolumnie kwerendą:

Kod: Zaznacz cały

select [CDN].[ZwrocDaneSElementy_IloscPoKorekcie] (TrE_GIDTyp,TrE_GIDNumer,TrE_GIDLp,Tre_Ilosc) as [Pozostaje do korekty]
from CDN.TraElem
where {FiltrSQL}
--------------------------------
Pozdrawiam
WW

Lukas
Posty: 124
Rejestracja: 28 wrz 2017, 14:57
Rola: Użytkownik CDN XL
Wersja: 2019

Re: Czy dany towar był korygowany na fakturze?

Post autor: Lukas »

fenomalne! jak to znalazłeś? :)

Awatar użytkownika
praiser
Posty: 685
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: Czy dany towar był korygowany na fakturze?

Post autor: praiser »

sama funkcja jest nazwana tak,że trudno nie znaleźć filtrując listę funkcji :)
--------------------------------
Pozdrawiam
WW

Lukas
Posty: 124
Rejestracja: 28 wrz 2017, 14:57
Rola: Użytkownik CDN XL
Wersja: 2019

Re: Czy dany towar był korygowany na fakturze?

Post autor: Lukas »

Jak wszedłem w funkcje też zauważyłem, ale nawet nie pomysłałem by tam patrzeć :) graty!

swoją drogą ciekawe co tam jeszcze można wyciągnąć ;-) pewnie nie ma takiej listy?

ODPOWIEDZ