Strona 1 z 1

dodatkowa kolumna - dok. związany

: 04 wrz 2025, 15:34
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) ?

:)

Re: dodatkowa kolumna - dok. związany

: 05 wrz 2025, 10:28
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ć.

Re: dodatkowa kolumna - dok. związany

: 05 wrz 2025, 11:27
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}


Re: dodatkowa kolumna - dok. związany

: 05 wrz 2025, 11:51
autor: EweB
BAAAAARDZO Wam dziękuję!

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

Re: dodatkowa kolumna - dok. związany

: 05 wrz 2025, 14:22
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}