[GELÖST] Im Array immer gleiche Werte

16. April 2009 13:08

Hallo Community,

für euch sicher wieder gar kein Problem... :!:

Für einen horizontalen Artikel-Vergleich über drei Zeitperioden (Sales Line Archive) möchte ich ein Array verwenden. Als Beispiel habe ich mir den Report 112
angesehen und so meinen Report vom Aufbau her identisch versucht aufzubauen:

___________________________________CODE BEGINN_______________________________________
OnPreDataItem:
VglPer1von := 010107D;
VglPer1bis := 311207D;
VglPer2von := 010108D;
VglPer2bis := 311208D;
VglAktvon := 010109D;
VglAktbis := 311209D;

OnAfterGetRecord:
FOR i := 1 TO 3 DO BEGIN

IF i = 1 THEN BEGIN
DateVon := VglPer1von;
DateBis := VglPer1bis;
END;

IF i = 2 THEN BEGIN
DateVon := VglPer2von;
DateBis := VglPer2bis;
END;

IF i = 3 THEN BEGIN
DateVon := VglAktvon;
DateBis := VglAktbis;
END;

SETRANGE("Shipment Date", DateVon, DateBis);

vQuantityInvoiced[i] := "Quantity Invoiced";

END;

______________________________________CODE ENDE___________________________

Das Ergebnis möchte ich mir dann in der Body-Section so nebeneinander anzeigen lassen:
vQuantityInvoiced[1] vQuantityInvoiced[2] vQuantityInvoiced[3]



Das SETRANGE funktioniert einwandfrei wenn ich mir die den Zähler "i" und "DateVon" / "DateBis" anzeigen lasse.

Mein Problem ist dass alle drei vQuantityInvoiced[i] allesamt den Wert des vQuantityInvoiced[1] anzeigen.

Habt ihr eine Idee? Danke im Voraus für eure Unterstützung!

Gruß,
Dirk
Zuletzt geändert von dirksn am 16. April 2009 15:48, insgesamt 1-mal geändert.

Re: Im Array immer gleiche Werte

16. April 2009 13:47

hallo dirksn,

es ist immer eine schlechte Idee für Auswertungen auf die Archiv-Tabellen zu gehen, da sie einen Beleg mehrfach enthalten können (Verionsnr. ist Primärschlüssel), und so die Werte verfälschen.

Aber zunächst mal eine Frage: Was möchtest du denn erfahren? Verkäufe pro Artikel oder Debitor?

Gruß, fiddi

Re: Im Array immer gleiche Werte

16. April 2009 13:54

Hi Fiddi,

wir "Versionieren" bei uns nicht.... frag nicht warum, zu kompliziert... jede Menge Individualprogrammierung vom Partner :-?

Ich brauche die Artikel anhand des Debitors für aktuelles Jahr, Vorjahr und Vorvorjahr...

Was ich außen vor gelassen habe, das DataItem "Sales Line Archive" habe ich von "Customer" abhängig gemacht, das dürfte an den Umständen des Arrays aber eh nichts ändern.

Hast du eine Idee?

Gruß,
Dirk

Re: Im Array immer gleiche Werte

16. April 2009 14:17

Hallo dirksn,

da solltest du dir den Bericht 113 mal genauer anschauen, der tut sowas schon, und arbeitet korrekterweise mit den Wert- bzw. Artikelposten, was für Auswertungen immer genauer ist.

Zur Versionierung gibt es nur zu sagen, dass wenn ein Auftrag mehrfach geändert wird (Freigegben) gibt es automatisch eine neue Version.

Gruß, Fiddi

Re: Im Array immer gleiche Werte

16. April 2009 14:33

Hi nochmal,

den 113 hatte ich als erste Grundlage... nach 20 verbratenen Arbeitsstunden und einigen Flüchen habe ich begonnen es von Hand aufzubauen.
Außerdem habe ich da keine Arrays über die ich vergleiche auf selber Ebene ziehen kann.

Der Grund warum ich immer den selben Wert für das ganze Array bekomme kann doch nicht so schwer zu finden sein?

Gruß,
Dirk

Re: Im Array immer gleiche Werte

16. April 2009 15:25

Das Problem ist, dass das mit dem SETRANGE in deiner Version so nicht funktioniert.

Was du brauchst ist eine Mischung aus beiden Reports (112 und 113). Der globale Ablauf funktioniert wie in 112 nur das du dort die Menge pro Periode anhand der Wertposten berechnest wie in 113 (Du benötigst für jede deiner Perioden einen eigenen ValueEntryBuffer [denk dran der ist Temprär]).


Gruß, fiddi

Re: Im Array immer gleiche Werte

16. April 2009 15:44

Super, damit kann ich was anfangen. Danke Fiddy!