27. Juli 2015 11:31
SalesInvoiceLine.RESET;
SalesInvoiceLine.SETRANGE("Document No.",DocumentNo);
AmountinclVAT := 0;
IF SalesInvoiceLine.FINDSET THEN BEGIN
REPEAT
AmountinclVAT += SalesInvoiceLine."Amount Including VAT";
UNTIL SalesInvoiceLine.NEXT = 0;
IF AmountinclVAT = 0 THEN BEGIN
CurrReport.SKIP;
END;
END;
27. Juli 2015 11:47
27. Juli 2015 12:03
ein COUNT absetzen und dir die Zahl in einer Variable merken
statt deiner REPEAT-Schleife kannst du auch im Sales Invoice Header einfach das FlowField "Amount Including VAT" abfragen
27. Juli 2015 12:44
NIQ hat geschrieben:Wie meinst du das? Wie genau bekomme ich diese Trennung hin?
DeineAnzahlVariable = COUNT;
27. Juli 2015 13:17
Deinen o.g. Code nur dann ausführen, wenn diese Zahl = 1 ist.
27. Juli 2015 13:22
NIQ hat geschrieben:Ich müsste doch noch einen Filter setzen, bei dem "Sales Invoice Header"."No." = VGR15.* und
27. Juli 2015 13:31
Der Filter wird vom Benutzer gesetzt, indem er den Bericht für genau einen Rechnungsbeleg aufruft --> Filter auf Nr. ist gesetzt.
28. Juli 2015 09:59
28. Juli 2015 10:53
28. Juli 2015 12:34
IF NullRechnungenDrucken = FALSE THEN BEGIN
SalesInvoiceLine.RESET;
SalesInvoiceLine.SETRANGE("Document No.",DocumentNo);
AmountinclVAT := 0;
IF SalesInvoiceLine.FINDSET THEN BEGIN
REPEAT
AmountinclVAT += SalesInvoiceLine."Amount Including VAT";
UNTIL SalesInvoiceLine.NEXT = 0;
IF AmountinclVAT = 0 THEN BEGIN
CurrReport.SKIP;
END;
END;
END
ELSE NullRechnungenDrucken := TRUE;
28. Juli 2015 12:44
NIQ hat geschrieben:Oder lässt sich der Code noch optimieren?
NIQ hat geschrieben:Stimmt!Natalie hat geschrieben:statt deiner REPEAT-Schleife kannst du auch im Sales Invoice Header einfach das FlowField "Amount Including VAT" abfragen
29. Juli 2015 07:54
29. Juli 2015 08:52
Am einfachsten wäre es aber vielleicht trotzdem gewesen, per Hand auf Betrag > 0 zu filtern