[Gelöst]Automatische Auffüllung von Feldern

14. August 2019 10:35

Hallo :),

Ich bin grade dabei einen Artikel-Rezensionen Button zu erstellen und würde gerne das Feld "Debitor Name" durch die Eingabe von der "Debitor Nr." automatisch füllen.

Ich habe folgenden Code in meine Item-Reviews Page implementiert:

Code:
IF "Customer No." <> '  ' THEN BEGIN
  Customer.SETRANGE(Customer."No.","Customer No.");
  Customer.SETRANGE(Customer.Name,"Customer Name");
  Rec.VALIDATE("Customer Name",Customer.Name);
  Rec.MODIFY;
END
ELSE MESSAGE('FAIL');


Ich bekomme hierbei im Client nach der Ausführung des Buttons folgende Fehlermeldung:

"'Item Reviews' ist nicht vorhanden. Identifizierte Felder und Werte: Artikel Nr.='1000', Debitor Nr.='01445544'

Liebe Grüße,
Razvan
Zuletzt geändert von RazvanNAV am 21. August 2019 13:24, insgesamt 2-mal geändert.

Re: Automatische Auffüllung von Feldern

14. August 2019 10:44

Hallo RazvanNAV,

dein Quelltext ist leichter zu lesen und zu verstehen, wenn du ihn zwischen so genannte Code-Tags setzt. Insbesondere deine Formatierungen werden so auch beibehalten.

Daher bitten wir dich, vor und nach deinem Quelltext diese Code-Tags einzufügen. Beispiel:


[code]Dein Quelltext[/code]

Gruß, Kowa
MSDynamics.de-Team

Re: Automatische Auffüllung von Feldern

14. August 2019 11:10

RazvanNAV hat geschrieben:...Ich habe folgenden Code in meine Item-Reviews Page implementiert...

Ich empfehle dazu den OnValidate-Trigger des Feldes der Tabelle zu verwenden.
Nur absolut in der Page notwendiger Code sollte in einer Page existieren.

Zum Code selbst:
Der Fehler deutet daraufhin, dass es den Datensatz nicht gibt. Das hängt höchst wahrscheinlich mit dem Modify aus deinem Code zusammen. Einen Datensatz, den es noch nicht gibt, kann ich nicht modifizieren.

Code:
IF Customer.GET("Customer No.") THEN
  Rec.VALIDATE("Customer Name", Customer.Name); // Wenn kein Validate notwendig, würde ich es nur zuweisen (:=).

Re: Automatische Auffüllung von Feldern

14. August 2019 11:20

Code:
IF Customer.GET("Customer No.") THEN
  Rec.VALIDATE("Customer Name", Customer.Name); // Wenn kein Validate notwendig, würde ich es nur zuweisen (:=).


Ich habe den Code so in die Tabelle eingetragen (War davor doch nicht in der Page sonder im OnValidate Trigger der Tabelle) und bekomme leider immer noch die selbe Fehlermeldung.
Hab's auch mit der Zuweisung versucht leider mit dem gleichen Ergebnis.

Re: Automatische Auffüllung von Feldern

14. August 2019 11:44

Ich denke, dass deine Variable Rec noch nicht in der Datenbank steht und du deshalb noch keinen MODIFY machen kannst.
Also vor dem MODIFY mit einer zusätzlichen Variable und einem GET prüfen, ob der Datensatz schon in der Datenbank steht.
Oder alternativ abfangen durch:
Code:
IF NOT Rec.MODIFY THEN;

Re: Automatische Auffüllung von Feldern

14. August 2019 12:06

RazvanNAV hat geschrieben:...Hab's auch mit der Zuweisung versucht leider mit dem gleichen Ergebnis.

Dann ist der Fehler woanders. Du hast an irgendweiner Stelle ein MODIFY, welches da nicht hingehört > Debugger