Große Probleme beim Einfügen einer Zeile

13. Dezember 2007 14:55

Ich habe folgendes Problem:

Ich möchte in der Verkaufszeile beim Einfügen eines Artikels direkt nach dem Textbaustein eine weitere, dem Artikel zugehörige Zeile vom Typ Sachkonto, einfügen.

Das Problem ist, dass die Zeile verschwindet sobald ich diese Zeile:
Code:
SalesLine.VALIDATE("Attached to Line No.", tempLineNo);

auskommentiere.

Code:
SalesLine.INIT;
SalesLine.VALIDATE("Document Type", "Document Type");
SalesLine.VALIDATE("Document No.", "Document No.");
SalesLine.VALIDATE("Line No.", 10250);
SalesLine.VALIDATE(Type, Type::"G/L Account");
//SalesLine.VALIDATE("Attached to Line No.", tempLineNo);
SalesLine.INSERT;


Ich hoffe ihr könnt mir schnell helfen (vieleicht heute noch?) da ich morgen nicht in der Firma bin, die Anpassung aber Montag fertig sein muss.

13. Dezember 2007 15:21

Warum hast du die Zeile auskommentiert?

Und: Ist dies nur als Beispiel gedacht oder kodierst du hier wirklich hart?
Code:
SalesLine.VALIDATE("Line No.", 10250);

13. Dezember 2007 15:29

Die "harte" codierung ist nur ein Beispiel weil da eine Methode aufgerufen wird.

Die Zeile ist allerdings auskommentiert weil es ohne nicht mehr geht (Wie oben beschrieben).

13. Dezember 2007 15:55

Ist hinter dem Feld "Attached to Line No." bei euch ein Validate gepflegt (im Standard nicht).

13. Dezember 2007 16:07

Nein, da steht nichts. Auch in dem Instert und Modify steht nichts drin was das verändert (Habe es auskommentiert)

13. Dezember 2007 16:14

Dann kann es eigentlich nur folgendes heißen:
Nach deinem INSERT wird später im Verlauf auf das Feld "Attached to Line No." <> 0 gefiltert (oder abgefragt).

Wird auf deiner Form gefiltert? Hast du dich vergewissert, dass dein Datensatz in der Tabelle wider Erwarten doch existiert?

13. Dezember 2007 16:26

Der Datensatz existiert faktisch nicht, ich habe in der Tabelle SalesLine gefiltert.

13. Dezember 2007 16:54

Ich würd den Debugger mitlaufen lassen: Wird das INSERT wirklich ausgeführt? Wenn wirklich, dann müsstest du weiter debuggen oder dir Meldungen ausgeben lassen, die dir belegen, wann der Datensatz wieder verworfen wird.
Vielleicht ist es ein ERROR('');? Dies bekommt man als Benutzer nicht zu sehen (keine Fehlermeldung), nimmt aber die bisherigen DB-Transaktionen zurück.

Und die SalesLine-Variable ist nicht temporär?

13. Dezember 2007 17:29

Das habe ich auch schon gemacht. Die SalesLine-Variable ist nicht temporär.
Danke für deine Beiträge, ich glaube ich bin hier auf dem Holzweg und suche mal einen anderen Weg.

13. Dezember 2007 17:55

Schade.
Falls du des Rätsels Lösung findest, lass uns bitte daran teilhaben. :-)

14. Dezember 2007 09:57

Ich glaube, dass der Textbaustein dran schuld ist. Durch das ("Attached to Line No.") hält Navision das für einen Bestandteil des Textbausteins. Ich glaube die werden gelegentlich neu geupdatet, allerdings auf Type::" ".
evtl. geht da dein Sachkonto verloren.

14. Dezember 2007 10:18

wenn dem so ist, muss er das Häkchen automatischer Textbaustein auf der Artikelkarte entfernen, dann wird nicht automatisch upgedated.

14. Dezember 2007 10:23

Dann verstehe ich das Problem noch weniger als vorher:
Wenn die obige Zeile auskommentiert ist, dann ist es nach NAV-Definition KEIN Textbaustein - warum also sollte diese Zeile verschwinden?

14. Dezember 2007 11:04

An welcher Stelle rufdt du denn den Code auf??

14. Dezember 2007 11:05

Er hat die Zeile auskommentiert, weil sonst der Fehler auftaucht, ich habe auch 3mal lesen müssen, bis ich das kapiert habe ;-)

14. Dezember 2007 11:07

Michael Schumacher hat geschrieben:Er hat die Zeile auskommentiert, weil sonst der Fehler auftaucht, ich habe auch 3mal lesen müssen, bis ich das kapiert habe ;-)


Ich kanns noch immer nicht herauslesen .... :shock:

14. Dezember 2007 12:55

Im zweiten Beitrag schreibt Steev, er hat's auskommentiert, weils sonst nicht funktioniert. Steht zwar im Gegensatz zum ersten Beitrag, aber sein Ziel ist ja das dieses "Attach to lineno" drinsteht. Also bringt die Code den Fehler wenn sie nicht auskommentiert ist und damit die neue Zeile nicht geschrieben wird. Wenn er sie auskommentiert , kommt kein Fehler aber dafür het er das Feld nicht gefüllt.

Ich hoffe dass ich mir nach den vielen Verneinungen noch folgen kann :roll:

14. Dezember 2007 13:01

Das Aufprall-KLING meines gefallenen Groschens verursacht bei mir noch immer einen Tinnitus ;-)