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}