Summe pro Monat bilden - Report

21. Dezember 2010 10:40

Hallo zusammen!

kann mir bitte jemand bei der Summenbildung meines Reports helfen? :cry:

Ich soll den Zeilenbetrag + Restaubtragsbetrag in den Sales Line nach Monat summieren... aber ich weiß nicht wie das geht *ahhhhhhhhhhhhhh*

Re: Summe pro Monat bilden - Report

21. Dezember 2010 11:36

Hallo,

ich würde das wie folgt lösen:

In den Properties des DataItems als GroupTotalFields den Monat anlegen. Im OnAfterGetRecord des DataItems die beiden Betragsfelder aufaddieren und in einer Variablen speichern. In OnPreDataItem diese Variable per CurrReport.CREATETOTALS für den GroupFooter bereitstellen.

In den Sections den Body für das DataItem löschen und einen GroupFooter erstellen. Hier die Variable andrucken.

Wenn es andere Lösungen gibt, immer her damit, hilft mir auch weiter.

Gruß, Apfl

Re: Summe pro Monat bilden - Report

21. Dezember 2010 11:58

Apfl hat geschrieben:In den Properties des DataItems als GroupTotalFields den Monat anlegen.

Wie das?

Re: Summe pro Monat bilden - Report

21. Dezember 2010 12:22

Ich bin davon ausgegangen, dass die Tabelle, die als DataItem eingetragen wurde, ein Feld "Monat" hat.

@escabrosa: Ist das eine Standarttabelle, die Du auswerten willst? Dann gucke ich mal rein.

Gruß, Apfl

Re: Summe pro Monat bilden - Report

21. Dezember 2010 12:36

Apfl hat geschrieben: Ist das eine Standarttabelle, die Du auswerten willst?

Auf die sales line will sie los. Frage ist noch, auf welches Datum ..

Re: Summe pro Monat bilden - Report

21. Dezember 2010 16:18

Also als DataItem habe ich:


-Customer
-- Date
--- Sales Header
---- Sales Line


Im DataItem Date -OnPreDataItem steht folgendes:

Code:
FirstOrderDateLoc := 0D;
LastOrderDateLoc := 0D;

SalesHeader.RESET;
SalesHeader.SETCURRENTKEY("Document Type","Sell-to Customer No.","Order Date");
SalesHeader.COPYFILTERS("Sales Header");

SalesHeader.SETRANGE(SalesHeader."Document Type",SalesHeader."Document Type"::Order);
SalesHeader.SETRANGE(SalesHeader."Sell-to Customer No.",Customer."No.");

IF SalesHeader.FINDFIRST THEN BEGIN
  FirstOrderDateLoc :=CALCDATE('<CM-30D>', SalesHeader."Order Date");
END;

IF SalesHeader.FINDLAST THEN BEGIN
  LastOrderDateLoc := SalesHeader."Order Date";
END;

Date.SETRANGE(Date."Period Start",FirstOrderDateLoc,LastOrderDateLoc);


und im dataItem Sales Header steht das hier:

Code:
"Sales Header".FILTERGROUP(2);
"Sales Header".SETRANGE("Sales Header"."Order Date",Date."Period Start",NORMALDATE(Date."Period End"));
"Sales Header".FILTERGROUP(0);



alles andere wurde durch die Properties gelöst.

es funktionier auch ... leider nicht die summenbildung pro monat :'(