[RTC] Page mit Default Wert vorbelegen

9. Januar 2012 10:50

Hallo,

Ich würde gerne in einer Page (Lagerkommissionierungen) das Buchungsdatum mit dem heutigen Datum vorbelegen, nur weiß leider nicht wie.

Habs es jetzt glaube ich in allen Triggern probiert. Z.B. im (AfterGetRecord). In den Actions "Buchen" mache ich letztendlich das Modify.

Nur irgendwie bekomme ich entweder das Buchungsdatum nicht mit dem WORKDATE gefüllt, oder aber es wird im AftergetRecord gefüllt, ändert der User dies aber, wird trotzdem das WORKDATE gebucht.

KAnn mir hier jmd helfen? Kann doch eigtl nicht schwer sein...

Re: [RTC] Page mit Default Wert vorbelegen

9. Januar 2012 11:30

Hallo,

ich vermute mal das Datum wird weiter im Code überschrieben.
Müsstest debuggen, um zu sehen wo das Datum überschrieben wird.
Oder gib dir einfach einige Messages aus (vorher und nachher).


Gruß
Aydin

Re: [RTC] Page mit Default Wert vorbelegen

9. Januar 2012 11:46

Das Problem ist, das der OnAfterGetRecord häufiger in der Page augerufen wird, und das geänderte Datum wieder überschrieben wird. Vielleicht hätte ich schreiben soll, dass ich dies schon mittels Messages herausgefunden habe.

Nur leider eben nicht wo ich die Vorbelegung einmalig ausführen kann(In der Page pro aufgerufenem Rec).

Re: [RTC] Page mit Default Wert vorbelegen

9. Januar 2012 12:13

PhilSan hat geschrieben:Nur leider eben nicht wo ich die Vorbelegung einmalig ausführen kann(In der Page pro aufgerufenem Rec).


Bei ner Form wäre das 'on after get curr.rec'?

Re: [RTC] Page mit Default Wert vorbelegen

9. Januar 2012 12:20

Habs scheinbar gelöst. Hab jetzt im OnOpenPage Trigger.

Code:
IF Rec.Find THEN BEGIN
  "Posting Date" := WORKDATE;
  MODIFY;
END;


Hat jemand Einwände?

Re: [RTC] Page mit Default Wert vorbelegen

9. Januar 2012 12:50

Hallo,

du möchtest doch wahrscheinlich erreichen, dass die Kommissionierung beim Buchen das aktuelle Datum verwendet :wink: .

Eine Vorbelegung mit dem aktuellen Datum in der Page hätte zur Folge, dass du wahrscheinlich auch die Zeilen aktualisieren müsstest, und zwar bei jedem öffnen/Scrollen der Kommission(en), was wahrscheinlich keine so gute Idee ist.

Dieses Thema solltest du über die Buchungsroutine angehen, die beim Buchen das Buchungsdatum auf das gewünschte Datum setzt.

Gruß, Fiddi

Re: [RTC] Page mit Default Wert vorbelegen

9. Januar 2012 12:56

Das stimmt schon irgendwie.
Das war allerdings die Anforderung: Bei jedem Öffnen das Buchungsdatum auf den heutigen Tag setzen. Das soll natürlich auch so verbucht werden, allerdings dem User auch zwingend so angezeigt werden. Um die Zeilen geht es gar nicht :wink:

Ist das im OnOpenPage Trigger so verkehrt?

Re: [RTC] Page mit Default Wert vorbelegen

9. Januar 2012 13:08

Soweit ich weiß hat ist der Datensatz im OnOpenPage gar nicht vorhanden.

Kannst du nicht eine globale Date Variable deklarieren und diese in die SourceExpression übergben.
Dann könntest du im OnOpenPage das heutige aktuelle Datum übergeben und beim Buchen übergibst du das wiederrum an das richtige Feld oder an die richtige Funktion.
Wäre zumindest mal eine saubere Lösung.

OnOpenPage Trigger.
Code:
myCurrDate := Workdate;
//myCurrDate := Today;



Gruß
Aydin

Re: [RTC] Page mit Default Wert vorbelegen

9. Januar 2012 18:23

Ist das im OnOpenPage Trigger so verkehrt?


Die einzige Stelle wo du das ändern könntest, wäre im OnAfterGetRecord, da nur da der aktuelle Datensatz greifbar ist. Wenn du hier allerdings kein Modify machst, werden die Daten auch nicht fürs Buchen übernommen :wink: .

Ob du allerdings jeden Datensatz ändern möchtest, nur weil jemand die Belege durchblättert, und ob jeder, der die Belege durchblättern darf auch das Buchungsdatum ändern soll, möchte ich mal bezweifeln.

Deshalb ist es sicherlich besser, das in die Buchungsroutine zu verschieben (es wird schon jeder wissen, dass die Belege mit dem aktuellen Datum gebucht werden, das muss man nicht mehr anzeigen :-? )
Und du solltest sicherstellen, das beim Ändern des Buchungsdatums auch die Datums- Felder in den Zeilen aktualisiert werden, wenn nötig :wink:

Gruß, Fiddi