dodatkowa kolumna - dok. związany

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

Moderator: mikey

EweB
Posty: 25
Rejestracja: 29 sty 2020, 20:31
Rola: Użytkownik CDN XL
Wersja: 9.0

dodatkowa kolumna - dok. związany

Post autor: EweB »

Cześć !
czy jest tu jakaś dobra dusza, która pomoże stworzyć kolumnę na Dokumenty-> Zakup -> PZ, która będzie pokazywała dokument związany "spinaczem" (PZ -> Nagłówek -> Spinacz) ?

:)

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

Re: dodatkowa kolumna - dok. związany

Post autor: praiser »

Kod: Zaznacz cały

SELECT 
    CASE 
        WHEN Trn_SpiNumer <> 0 THEN CDN.NazwaObiektu(TrN_SpiTyp, TrN_SpiNumer, 0, 2)
        WHEN TraSElem.TrS_GidNumer IS NOT NULL THEN CDN.NazwaObiektu(TraSElem.TrS_GidTyp, TraSElem.TrS_GidNumer, 0, 2)
        ELSE ''
    END as 'Spinacz'
FROM cdn.tranag
LEFT JOIN CDN.TraSElem ON TrS_SpiNumer = Trn_GidNumer AND Trs_SpiTyp = Trn_GidTyp
WHERE {filtrsql}
gdyby mały spinacz był używany wielokrotnie do jednego PZ to trzeba przerobić.
--------------------------------
Pozdrawiam
WW

Misek
Posty: 40
Rejestracja: 09 wrz 2014, 08:39
Rola: Administrator CDN XL
Wersja: 2016
Lokalizacja: Wrocław

Re: dodatkowa kolumna - dok. związany

Post autor: Misek »

Uwzglednia spinacz elementów (s)FZ (1 do wielu) ,spinacz nagłówkowy (S)FZ i FAI

Kod: Zaznacz cały

Select 
[Dokument związany] = 
case when trn_gidtyp = 1489 and  trn_spityp < 0 then FZ
when trn_gidtyp = 1489 and trn_spityp > 0 then cdn.NazwaObiektu(TrN_SpiTyp, TrN_SpiNumer,0,2)
when trn_gidtyp = 1490 then FAI
else '' end
 from cdn.TraNag (nolock)
outer apply 
(Select 'FZ' = stuff((Select  ' ,' + cdn.nazwaobiektu(TrS_GIDTyp,TrS_GIDNumer,0,2)  from cdn.TraSElem (nolock) where TrS_SpiNumer = TrN_GIDNumer group by TrS_GIDTyp,TrS_GIDNumer for xml path ('')), 2, 1,'')
) as SpiElem
Outer apply
(
Select 'FAI' = stuff((
		Select ' ,' +  Dok from (
		select cdn.nazwaobiektu(RTI_DocTyp,RTI_DocNumer,0,2) as Dok  from cdn.RelTraImp (nolock) where RTI_ZrdTyp = TrN_GIDTyp and RTI_ZrdNumer = TrN_GIDNumer group by RTI_DocTyp,RTI_DocNumer
		Union all
		Select cdn.nazwaobiektu(RTI_ZrdTyp,RTI_ZrdNumer,0,2)  from cdn.RelTraImp (nolock) where RTI_DocTyp = TrN_GIDTyp and RTI_DocNumer = TrN_GIDNumer group by RTI_ZrdTyp,RTI_ZrdNumer
		)Data for XML Path ('')
		), 2, 1,'')) as FAI

where {filtrsql}


EweB
Posty: 25
Rejestracja: 29 sty 2020, 20:31
Rola: Użytkownik CDN XL
Wersja: 9.0

Re: dodatkowa kolumna - dok. związany

Post autor: EweB »

BAAAAARDZO Wam dziękuję!

Czy można też zrobić taką kolumnę (dokument związany spinaczem nagłówkowym) na liście WZ?

Misek
Posty: 40
Rejestracja: 09 wrz 2014, 08:39
Rola: Administrator CDN XL
Wersja: 2016
Lokalizacja: Wrocław

Re: dodatkowa kolumna - dok. związany

Post autor: Misek »

dla WZ i WZE sprawa jest prostsza:

Kod: Zaznacz cały

Select
[Dokument związany] = CASE
		 when  trn_spityp < 0 then isnull(WZ,'')
		 when  trn_spityp > 0 then cdn.NazwaObiektu(TrN_SpiTyp, TrN_SpiNumer,0,2)
else '' end
 from cdn.TraNag (nolock)
outer apply 
(Select 'WZ' = stuff((Select  ' ,' + cdn.nazwaobiektu(TrS_GIDTyp,TrS_GIDNumer,0,2)  from cdn.TraSElem (nolock) where TrS_SpiNumer = TrN_GIDNumer group by TrS_GIDTyp,TrS_GIDNumer for xml path ('')), 2, 1,'')
) as SpiElem

where {filtrsql}

ODPOWIEDZ