[Gelöst] Report läuft nicht richtig

23. Januar 2009 15:17

Hallo,

ich habe da ein seltsames Problem.

Der Kunde hat eine Haufen Debitorenposten, die ohne Zahlungsbedingung erstellt wurden.
Das heisst, das Fälligkeitsdatum ist gleich dem Belegdatum und das Skontodatum sowie der Skontobetrag sind leer.

Jetzt hat jeder Kunde seinen Zahlungsbedingungscode bekommen.

Da es sehr aufwendig ist, das Fälligkeitsdatum, sowie Skonto in jedem Posten einzeln per Hand zu korrigieren, soll dafür ein Report herhalten.

Den habe ich bereits, und im Prinzip würde er auch funktionieren.
Allerdings läuft er beim 1.Mal durch, ohne was zu ändern, beim 2. Mal auch, beim 3. Mal (ohne das in der Zwischenzeit etwas geänder worden wäre) korrigiert er ein paar Posten (manchmal mittendrin, also auch nicht nachvollziehbar), das geht eine ganze WEile so weiter, bis alle durch sind.

Ich finde das sehr rätselhaft und kann mir das nicht erklären.

Der Kunde hat eine SQL-Datenbank, aber lokal auf meiner Kopie ist es genau dasselbe.

Ich bin folgendermaßen vorgegangen:
Report mit DataItem Customer, darunter Customer Ledger Entry
der Debitor kann wie gewünscht gefiltert werden.
Die Posten werden nach Debitornummer und offen = ja gefiltert.
Dann werden die beiden Daten sowie der Skontobetrag anhand des Zahlungsbedingungscodes des Debitors berechnet
und modify;

Ich habe auch schon das 2. DataItem wieder gelöscht und gehe im OnAfterGetRecord des Debitors per Fuß zu den Posten, um sie zu ändern.

Habe es auch schon mit commit zwischendurch probiert.

Der Debugger macht mich auch nicht schlauer, er geht duch alle Posten durch.

Jetzt weiß ich mir nicht mehr zu helfen.
Zuletzt geändert von tjane am 23. Januar 2009 15:37, insgesamt 1-mal geändert.

Re: Report läuft nicht richtig

23. Januar 2009 15:27

Hallo Tjane,

hast du in deinem Report eines der Felder gefiltert, das du ändern willst?. Falls ja, solltest du dir eine Recordvariable bauen, die im OnAftergetrecord des Reports, den vom Report gerade gelesenen Datensatz neu liest, die Änderungen auf dieser Variable durchführt und wieder zurückschreibt.
Du solltest nie in NAV gefilterte Felder in der gleichen Recordvariable ändern, das geht meistens schief. :wink:

Das kannst du einfach in einer Tabellenform ausprobieren, indem du auf einem Feld einen Filter setzt, und dann versuchst mit Suchen und Ersetzen das gefilterte Feld veränderst. Bei mir wird im Normalfall nur jeder 3. Datensatz geändert.

Gruß, Fiddi

Re: Report läuft nicht richtig

23. Januar 2009 15:30

Welchen Schlüssel hast du denn auf Cust. Ledger Entry gesetzt?

Re: Report läuft nicht richtig

23. Januar 2009 15:33

Nein habe ich nicht,

ich filtere nur die Debitornummer oder die Inkassoart (das ist ein zusätzliches Feld).
Geändert wird Fälligkeitsdatum, Skontodatum, Restskonto mgl.

Re: Report läuft nicht richtig

23. Januar 2009 15:36

das mit dem schlüssel wars. (mit Fälligkeitsdatum)

super, danke.