Cześć
Napisałem raport pod "wykrzyknikiem" , który ma za zadanie pokazać mi w zapisach na koncie sumy kwot z dekretacji dla opisu analitycznego
W przypadku gdy dekretacja jest rozbita na np dwa konta typu 4 to raport pokazuje mi te dwie pozycje pomimo tego, że wchodzę w zapisy dla danego konta.
Co robię źle? Nakierujcie mnie bo już nie wiem o co chodzi
SELECT cast(Frm2.FRS_Nazwa as varchar)+'-'+cast(Frm1.FRS_Nazwa as varchar)+'-'+cast(Frm.FRS_Nazwa as varchar),
sum(OWE_Wartosc)
FROM CDN.Dekrety Dekrety
INNER JOIN CDN.Zrodla Zrodla ON
Dekrety.DT_GIDNumer=Zrodla.ZRO_DTNumer AND
Dekrety.DT_GIDLp=Zrodla.ZRO_DTLp AND
Dekrety.DT_GIDTyp=Zrodla.ZRO_DTTyp
INNER JOIN CDN.TraNag TraNag ON
Zrodla.ZRO_TRNNumer=TraNag.TrN_GIDNumer AND
Zrodla.ZRO_TRNTyp=TraNag.TrN_GIDTyp
INNER JOIN CDN.OpisWymNag OpisWymNag ON
TraNag.TrN_GIDNumer=OWN_GIDNumer AND
TraNag.TrN_GIDTyp=OWN_GIDTyp
INNER JOIN CDN.OpisWymElem OpisWymElem ON
TraNag.TrN_GIDNumer=OWE_GIDNumer AND
TraNag.TrN_GIDTyp=OWE_GIDTyp
INNER JOIN CDN.OpisWymSElem OpisWymSElem ON
OWE_GIDNumer=OWS_GIDNumer and OWE_GIDLp=OWS_GIDLp and OWS_TypWymiaru=1
INNER JOIN CDN.FrmStruktura Frm ON
OWS_WMRID=Frm.FRS_GIDNumer
INNER JOIN CDN.FrmStruktura Frm1
on Frm1.FRS_GIDNumer=Frm.FRS_GRONumer
INNER JOIN CDN.FrmStruktura Frm2
on Frm2.FRS_GIDNumer=Frm1.FRS_GRONumer
WHERE
{filtrsql}
group by cast(Frm2.FRS_Nazwa as varchar)+'-'+cast(Frm1.FRS_Nazwa as varchar)+'-'+cast(Frm.FRS_Nazwa as varchar)
Raport uruchamiasz w jakimś kontekście - nie napisałeś w jakim. Zapewne na zapisie księgowym. W tym kontekście do filtra przekazywany jest gidnumer calego dekretu, a nie tylko jednej pozycji. Samo zapytanie SQL wygląda ok.
Raport uruchamiam dokładnie z księgowości, plan kont, zapisy dla konta. A czy istnieje jakiś sposób aby z konstrukcji "where {filtrsql}" wyciągnąć poszczególne "składowe" filtra i przypisać sobie do zmiennych, które późnej mogę wykorzystać w zapytaniu?
Tak jak napisał Wojtek, tylko dodatkowo żeby to obsłużyć musisz zbudować raport w oparciu o procedurę skladowaną. Zerknij na naszą stronę światXL, są tam bezpłatne przykłady takich raportów.
Tak jak napisał Wojtek, tylko dodatkowo żeby to obsłużyć musisz zbudować raport w oparciu o procedurę skladowaną. Zerknij na naszą stronę światXL, są tam bezpłatne przykłady takich raportów.