Filter expression und Wiederholung der DocumentRow
Mario Höfer
Hallo,ich habe folgendes Problem:
In dem Standard Marketing Beleg habe ich nach dem Databand DocumentRow ein zweites Databand (noch innerhalb des Document Databands) erstellt. Als Datenquelle dient ebenfalls B1_Data.Document.DocumentRow, dort sollen nämlich nochmals die Zwischensummen nach den Artikeln wiederholt werden. Dementsprechend gibt es innerhalb nochmal ein Databand mit der DataSource B1_Data.Document.DocumentRow.RowRowSubtotalText.
Die Ausgabe hat bis jetzt immer gut geklappt, jetzt sollen allerdings alle Artikel (und später Zwischensummen) die den Betrag 0 (in diesem Fall aus einem UDF) haben gefiltert werden.
Um das zu erreichen habe ich erstmal eine Filterexpression
not (DocumentRow("U_TRTotNeu") = 0 AND (DocumentRow("LineType")="R" OR DocumentRow("LineType")="P" OR DocumentRow("LineType")="A"))
bei dem Databand DocumentRow eingefügt. Soweit funktioniert auch alles, nur daß die Wiederholung der Summen nicht mehr funktioniert. Der gesamte Bereich wird nicht mehr angezeigt inkl. Header und Footer.
Hat der Filter damit auch direkte Auswirkungen auf das zweite Band ? Bzw. wie kann ich das beheben ?
Ich habe testweise im neuen Band auch eine Filter Expression versucht, im besten Fall blieb alles gleich, im schlechtesten verschwanden die Zwischensummen auch im DocumentRow Band.
Ich hoffe jemand kann mir einen Tipp geben.
Danke im Vorraus.
Gruß,
Mario
Mario Höfer
Würde vielleicht folgende Variante funktionieren ?:Im Layout als Abfrage
/* @@Overwrite @@Name=[Row] Save all foreign translations for a given DocNum and LangCode */
SELECT T1.PK AS ItemCode,
CAST(T0.Trans AS NVARCHAR(4000)) AS MLDesc INTO #SWA_LD_ITEMTRANS FROM MLT1 T0 INNER JOIN OMLT T1
ON T0.TranEntry = T1.TranEntry INNER JOIN @@RDR1 T2 ON T1.PK = T2.ItemCode WHERE T1.TableName='OITM'
AND T1.FieldAlias = 'ItemName' AND T0.LangCode='[%LangCode]' AND T2.DocEntry=[%DocEntry] GROUP BY T1.PK,CAST(T0.Trans AS NVARCHAR(4000))
/* now get the items and the MLDesc if it exist */
SELECT T0.*, T0.LineTotal AS SWA_LD_SubSumValue, T0.TotalFrgn AS SWA_LD_SubSumFrgnValue ,
CASE WHEN T1.MLDesc IS NOT NULL THEN T1.MLDesc ELSE T0.Dscription END AS DescML FROM @@RDR1 T0 LEFT OUTER JOIN #SWA_LD_ITEMTRANS T1
ON T0.ItemCode = T1.ItemCode WHERE T0.DocEntry = [%DocEntry] AND T0.LineTotal <> 0 ORDER BY T0.VisOrder
einfügen. Damit werdem Zeilen mit Summe 0 ausgeschlossen.
Dann sollte doch eigentlich kein Filtern im Beleg mehr nötig, da damit Artikel
mit Betrag 0 und Zwischensummen mit 0 automatisch rausfallen sollten, oder ?
Gruß,
Mario
Mario Höfer
Leider hat das auch nicht so recht funktioniert, da dadurch zwar die Artikelzeilen mit 0 verschwinden aber gleichzeitig auch die Summenzeilen, die direkt danach folgen (egal ob diese 0 sind oder nicht).Hat jemand noch eine andere Idee ?
Comments
Please sign in to leave a comment.