[Gelöst] Form - Edit Datensatz bei Aufruf

10. September 2009 09:57

Hallo,

ich versuche im Form Customer Card, bei Aufruf eines Datensatzes die aktuelle User ID in die Table 18 in ein eigenes Feld User ID für den betreffenden Datensatz zu speichern.
Dies benötige ich um bei den Style Sheets die Debitoren Daten (Adresse etc.) sowie die Mitarbeiterdaten (Telefon, Name etc.) über Link einfügen zu können.

Hierfür habe ich den Form - OnAfterGetRecord Trigger bemüht.

Leider erhalte ich folgende Meldung:
Sie können keine Änderung an der Datenbank vornehmen, ehe eine Transaktion gestartet wurde.

Ich habe es mit Code im Form probiert, eine Funktion in Table 18 mit lokaler Variable Customer.... hilft alles nix!
Code:
Customer.GET("No.");
Customer."User ID" := USERID;
Customer.MODIFY;
Zuletzt geändert von Will_SV am 10. September 2009 13:12, insgesamt 2-mal geändert.

Re: Form - Edit Datensatz bei Aufruf

10. September 2009 10:09

Wenn, dann gehört der Quelltext in den OnAfterGetCurrRecord-Trigger. Ob dieser auch hier den Fehler verursacht, weiß aber nicht auswendig vorherzusagen. Ich tippe aber auf "ja".

Die Frage ist nur, ob deine Anpassung überhaupt Sinn macht:
Benutzer A blättert auf Debitor 123 (vielleicht aber nur, weil er von Deb. 122 gestartet war und eigentlich 124 aufrufen wollte) - schon steht sein Name im Datensatz.
Benutzer B macht dies zur ungefähr gleichen Zeit, streift nur einen Tucken später über den gleichen Datensatz - nun steht da sein Name.
Und was hast du davon?

Wäre es nicht sinniger, du fügst den Namen schon beim Einfügen des Debitors ein, nicht später noch einmal?

Re: Form - Edit Datensatz bei Aufruf

10. September 2009 10:15

Hallo,

versuche doch die Programmzeilen im Form - OnOpenform oder onAfterGetCurrentRecord (Natalie hat natürlich Recht ;) ) einzutragen. Vielleicht aber genügt auch eine zusätzliche Zeile
in der Funktion "AddCustomerLetter" oder "AddSalesOrder"(ausprobieren) in Codeunit 403 (Die enstsprechenden Rechte vorrausgesetzt.)
welche die XML-Datenpackete für die Stylesheets generiert.
ungefähr so:
Code:
AddElement(ParentNode,'UserID',UserID,ChildNode);


viel Erfolg
Zuletzt geändert von prisma informatik am 10. September 2009 10:33, insgesamt 4-mal geändert.

Re: Form - Edit Datensatz bei Aufruf

10. September 2009 10:17

prisma informatik hat geschrieben:versuche doch die Programmzeilen im Form - OnOpenform einzutragen.

Zu diesem Zeitpunkt ist aber noch kein einziger Datensatz gelesen worden.

Re: [Gelöt] Form - Edit Datensatz bei Aufruf

10. September 2009 13:12

Hallo zusammen und vielen Dank.

Ich habe eine Lösung gefunden - in der Code Unit 682 beim Aufruf CreateCaptionXMLStructure kann ich die aktuelle UserID einfügen uns so die Zuordnung im Style Sheet vornehmen!