Numer zamówienia przy pozycji na FV - crystal reports
Moderator: mikey
Numer zamówienia przy pozycji na FV - crystal reports
Witam,
próbuję przypisać numer zamówienia do pozycji na fakturze za pomocą funkcji sql utworzonej w podraporcie w Crystal reports
Ściezka faktury
ZS -> WZ -> FV
Na WZ udało mi się to zrobić za pomocą tej funkcji
select distinct
cdn.NazwaObiektu(ZaE_GIDTyp,ZaE_GIDNumer,0,2)
from cdn.TraNag
left join cdn.traelem on trn_gidtyp = tre_gidtyp and trn_gidnumer = tre_gidnumer
left join cdn.traselem on tre_gidtyp = trs_gidtyp and tre_gidnumer = trs_gidnumer and tre_gidlp = trs_gidlp
join cdn.ZamElem on TrS_ZlcTyp=ZaE_GIDTyp and TrS_ZlcNumer=ZaE_GIDNumer and TrS_ZlcLp = ZaE_GIDLp
Odwołując się do parametrów Tre_GIDlp, TrE_GIDTyp i TrE_GIDnumer
Na fakturze jednak ten sposób nie działa, pomimo tego że w sql jestem w stanie wyciagnąć te numery zamówień
próbuję przypisać numer zamówienia do pozycji na fakturze za pomocą funkcji sql utworzonej w podraporcie w Crystal reports
Ściezka faktury
ZS -> WZ -> FV
Na WZ udało mi się to zrobić za pomocą tej funkcji
select distinct
cdn.NazwaObiektu(ZaE_GIDTyp,ZaE_GIDNumer,0,2)
from cdn.TraNag
left join cdn.traelem on trn_gidtyp = tre_gidtyp and trn_gidnumer = tre_gidnumer
left join cdn.traselem on tre_gidtyp = trs_gidtyp and tre_gidnumer = trs_gidnumer and tre_gidlp = trs_gidlp
join cdn.ZamElem on TrS_ZlcTyp=ZaE_GIDTyp and TrS_ZlcNumer=ZaE_GIDNumer and TrS_ZlcLp = ZaE_GIDLp
Odwołując się do parametrów Tre_GIDlp, TrE_GIDTyp i TrE_GIDnumer
Na fakturze jednak ten sposób nie działa, pomimo tego że w sql jestem w stanie wyciagnąć te numery zamówień
Re: Numer zamówienia przy pozycji na FV - crystal reports
Faktura jest spinaczem WZ, czy pozycje są bezpośrednio na niej? Używasz na FV tego samego zapytania?
Re: Numer zamówienia przy pozycji na FV - crystal reports
Tak faktura jest spinaczem WZ, użyłam tego samego zapytania na fakturze jednak numer zamówienia na wydruku nie wyświetla się.
Dlatego też do wyżej napisanego SQL dodałam zapis który zwracałby numer faktury i wszystko działa tak jak powinno w bazie sql. Wydaje mi się że chodzi tutaj o jakis parametr z którym powinnam połączyć podraport z SQL z raportem głównym w crystal reports. Próbowałam również uwzględnić typ i numer spinacza w parametrach jednak nie dało to rezultatów
Dlatego też do wyżej napisanego SQL dodałam zapis który zwracałby numer faktury i wszystko działa tak jak powinno w bazie sql. Wydaje mi się że chodzi tutaj o jakis parametr z którym powinnam połączyć podraport z SQL z raportem głównym w crystal reports. Próbowałam również uwzględnić typ i numer spinacza w parametrach jednak nie dało to rezultatów
Re: Numer zamówienia przy pozycji na FV - crystal reports
Tak spróbuj:
Parametry w raporcie:
trn_numer
trn_typ
Zapytanie SQL w subraporcie:
select distinct
cdn.NazwaObiektu(ZaE_GIDTyp,ZaE_GIDNumer,0,2)
from cdn.TraNag
left join cdn.traelem on trn_gidtyp = tre_gidtyp and trn_gidnumer = tre_gidnumer
left join cdn.traselem on tre_gidtyp = trs_gidtyp and tre_gidnumer = trs_gidnumer and tre_gidlp = trs_gidlp
join cdn.ZamElem on TrS_ZlcTyp=ZaE_GIDTyp and TrS_ZlcNumer=ZaE_GIDNumer and TrS_ZlcLp = ZaE_GIDLp
where (TrN_GIDTyp={?trn_typ} AND TrN_GIDNumer={?trn_numer})
W raporcie głównym podlinkuj subraport do
Spinag.Trn_GidTyp -> ?trn_typ
Spinag.Trn_GidNumer -> ?trn_numer
Parametry w raporcie:
trn_numer
trn_typ
Zapytanie SQL w subraporcie:
select distinct
cdn.NazwaObiektu(ZaE_GIDTyp,ZaE_GIDNumer,0,2)
from cdn.TraNag
left join cdn.traelem on trn_gidtyp = tre_gidtyp and trn_gidnumer = tre_gidnumer
left join cdn.traselem on tre_gidtyp = trs_gidtyp and tre_gidnumer = trs_gidnumer and tre_gidlp = trs_gidlp
join cdn.ZamElem on TrS_ZlcTyp=ZaE_GIDTyp and TrS_ZlcNumer=ZaE_GIDNumer and TrS_ZlcLp = ZaE_GIDLp
where (TrN_GIDTyp={?trn_typ} AND TrN_GIDNumer={?trn_numer})
W raporcie głównym podlinkuj subraport do
Spinag.Trn_GidTyp -> ?trn_typ
Spinag.Trn_GidNumer -> ?trn_numer
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Numer zamówienia przy pozycji na FV - crystal reports
Po połaczeniu tych parametrów z raportem głownym nie wyświetla się niestety numer zamówienia. Mysle, że należy łączyć podraport po parametrach z tabeli TraElem bądź TraSElem jeżeli chce by dane zamówienie przypisało się do pozycji jednak ten sposób też nie działa
Re: Numer zamówienia przy pozycji na FV - crystal reports
Sprawdziłem testowo ścieżkę
ZS-6 -> WZ
ZS-7 -> WZ
potem spinacz nagłówkowy tych WZ do (S)FS i ten link w supraporcie wydaje się działać.
ZS-6 -> WZ
ZS-7 -> WZ
potem spinacz nagłówkowy tych WZ do (S)FS i ten link w supraporcie wydaje się działać.
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Numer zamówienia przy pozycji na FV - crystal reports
W naszym przypadku stosujemy mały spinacz, z elementów być może dlatego takie łączenie u mnie nie działa
Re: Numer zamówienia przy pozycji na FV - crystal reports
Spróbowałam rownież połączyć podraport z formułami w raporcie głównym np.
@Tre_GIDlp = {?tre_GIDLp}
Gdzie formuła wyglada tak:
IF {TraNag.TrN_SpiTyp} >= 0 THEN
{TraElem.TrE_GIDLp}
ELSE
{spiElemTraElem.TrE_GIDLp}
I tak rownież w przypadku TrE_GIDNumer oraz TrE_GIDTyp
@Tre_GIDlp = {?tre_GIDLp}
Gdzie formuła wyglada tak:
IF {TraNag.TrN_SpiTyp} >= 0 THEN
{TraElem.TrE_GIDLp}
ELSE
{spiElemTraElem.TrE_GIDLp}
I tak rownież w przypadku TrE_GIDNumer oraz TrE_GIDTyp
Re: Numer zamówienia przy pozycji na FV - crystal reports
Tak wydaje się działać:
zlinkowałem subraport tak:
TraNag.Trn_Gidnumer -> ?trn_gidnumer
spielemTraElem_Tre_GidLp ?trs_gidlp
Query w subraporcie
select distinct cdn.NazwaObiektu(zn.Zan_GidTyp, zn.Zan_GidNumer,0,2)
from cdn.tranag spinag
join cdn.traselem spitras on spitras.Trs_gidNumer = spinag.TrN_GIDNumer
join cdn.traselem spiety on spiety.trs_gidnumer = spitras.trs_spinumer
join cdn.tranag tranag on spiety.trs_gidnumer = tranag.trn_gidnumer
outer apply (select ZaN_GIDTyp,Zan_GidNumer,ZaN_ZamTyp,ZaN_Rodzaj, ZaN_ZamNumer,ZaN_ZamRok,ZaN_ZamSeria,ZaN_ZamMiesiac, ZaN_DokumentObcy from cdn.zamnag where (tranag.trn_zantyp=zan_gidtyp and tranag.trn_zannumer=zan_gidnumer) or (spiety.trs_zlctyp=zan_gidtyp and spiety.trs_zlcnumer=zan_gidnumer)) zn
where spinag.TrN_GIDNumer={?trn_gidnumer} and spitras.Trs_GidLp={?trs_gidlp}
zlinkowałem subraport tak:
TraNag.Trn_Gidnumer -> ?trn_gidnumer
spielemTraElem_Tre_GidLp ?trs_gidlp
Query w subraporcie
select distinct cdn.NazwaObiektu(zn.Zan_GidTyp, zn.Zan_GidNumer,0,2)
from cdn.tranag spinag
join cdn.traselem spitras on spitras.Trs_gidNumer = spinag.TrN_GIDNumer
join cdn.traselem spiety on spiety.trs_gidnumer = spitras.trs_spinumer
join cdn.tranag tranag on spiety.trs_gidnumer = tranag.trn_gidnumer
outer apply (select ZaN_GIDTyp,Zan_GidNumer,ZaN_ZamTyp,ZaN_Rodzaj, ZaN_ZamNumer,ZaN_ZamRok,ZaN_ZamSeria,ZaN_ZamMiesiac, ZaN_DokumentObcy from cdn.zamnag where (tranag.trn_zantyp=zan_gidtyp and tranag.trn_zannumer=zan_gidnumer) or (spiety.trs_zlctyp=zan_gidtyp and spiety.trs_zlcnumer=zan_gidnumer)) zn
where spinag.TrN_GIDNumer={?trn_gidnumer} and spitras.Trs_GidLp={?trs_gidlp}
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Numer zamówienia przy pozycji na FV - crystal reports
Dodałam te parametry do swojego sql i numer zamówienia faktycznie pojawia się. Zdaje się, że kluczowym parametrem był spitras.Trs_GidLp={?trs_gidlp}. Dziękuje bardzo za pomoc!