[Gelöst] CC: Zeile zu viel bei Ausgabe in Excel

29. April 2016 09:59

Hallo.

Ich habe einen Report geschrieben, welcher mir Mengen berechnet und ausgibt, für alle Mandanten.
Ausgabe.PNG


In der Ausgabe wird die erste Zeile, welche auf keinen Artikel verweist, falsch ausgegeben.
Die Ausgabe für alle Artikel stimmt allerdings. Ich weiß nur nicht, wieso er mir die erste falsche Zeile ausgibt.
Er gibt hier in der ersten Zeile den Wert aus dem letzten Artikel aus, nur einen Mandanten zu spät.

DataItems:
Dataitem.PNG


Meine Ausgabe:
Code:

Item - OnPreDataItem()
SETCURRENTKEY("No.");

Sheet.Range(FORMAT(i[z])+':'+FORMAT(i[z])).NumberFormat:='@';
j:='7';
b:='6';

Item - OnAfterGetRecord()
Artikelnummer:=FORMAT(Item."No.");


IF Checkbox = TRUE THEN BEGIN

  IF Artikelnummer <> '' THEN BEGIN

    Sheet.Range('A:A').NumberFormat:='@';
    Sheet.Range('A'+j).Value:=Artikelnummer;

    Sheet.Range(FORMAT(i[z])+b).Value:=FORMAT(FaktMenge);
   
       
  END;
END;


j:=INCSTR(j);
b:=INCSTR(b);


FaktMenge:=0;

Item - OnPostDataItem()
Sheet.Range(FORMAT(i[z])+b).Value:=FORMAT(FaktMenge);


Ich könnte die erste Zeile einfach nur ausblenden, aber mich interessiert das Problem.

MfG
Christian
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von navCH am 29. April 2016 11:11, insgesamt 1-mal geändert.

Re: CC: Zeile zu viel bei Ausgabe in Excel

29. April 2016 10:19

Hallo NavCH,

das ist im Grunde kein Problem, du gehst nur von den falschen Voraussetzungen aus.

Wenn du die DataItems so verschachtelst und dann im DataItem "Item" die Werte vom darunter liegenden DataItem "Value Entry" ausgeben willst, dann passiert das eben zeitlich in einer anderen Reihenfolge.

Reihenfolge:
1. Company
2. Item
3. Value Entry

Damit sind die fakturierten Mengen von "Value Entry", die du im DataItem "Item" im Trigger PreDataItem ausgibst, die vom letzten Datensatz von "Item".
Wenn du diese im OnAftergetRecord ausgibst, wäre das wohl auch nicht viel besser, da es hier nur diese vom vorherigen Datensatz von "Value Entry" wären.

Einfacher wäre, du nimmst hier nur ein DataItem "Value Entry" und dann verwendest du im Report nur Recordvariablen für Company/Item mit REPEAT UNTIL, dann hast du das Problem nicht. :wink:
Wenn du die DataItems dennoch benötigst, dann würde ich die Ausgabe im "Value Entry" OnPostDataItem organisieren.

mfg,
winfy

Re: CC: Zeile zu viel bei Ausgabe in Excel

29. April 2016 11:11

Hallo winfy.
winfy hat geschrieben:Wenn du die DataItems dennoch benötigst, dann würde ich die Ausgabe im "Value Entry" OnPostDataItem organisieren.
winfy

So gemacht. Funktioniert jetzt einwandfrei! :-D