1. Dezember 2009 20:09
1. Dezember 2009 21:18
Record.INIT;
Record."Entry No." := 0; "Entry No." = AutoIncrement
...
Record.INSERT;
2. Dezember 2009 11:54
2. Dezember 2009 12:16
2. Dezember 2009 12:52
2. Dezember 2009 13:10
mikka hat geschrieben:Hallo MisterElektro1981,
ergänzend zu Stryks Beitrag, möchte ich dich bitten künftig Fehlermeldungen nicht als DOC oder PDF sondern als JPG hochzuladen.
Es ist für alle recht umständlich erst die Datei runterzuladen um diese sehen zu können.
Vielen Dank für dein Verständnis.
Solltest du dich ungerecht behandelt fühlen, so wende dich bitte an einen Administrator.
Gruß, Mikka
MSDynamics.de-Team
2. Dezember 2009 14:30
Natalie hat geschrieben:...
Ich bin nach wie vor dafür, Fehlermeldungen am besten nur als Text direkt in den Beitrag zu schreiben (zumindest aus NAV heraus kann man die Meldung direkt per Strg+C kopieren). ...
19. September 2023 09:53
stryk hat geschrieben:OK, das ist ein IDENTITY_INSERT Fehler. Aaaaalso ...
In der Tabelle wird offenbar ein PK mit einer laufenden Nummer verwendet, die via "AutoIncrement" erzeugt wird. "AI" Felder dürfen keine Vorgabewerte enthalten, und sollten daher immer mit 0 initialisiert werden (zu beachten: ein INIT initialisiert keine PK Felder!). Also z.B.:
- Code:
Record.INIT;
Record."Entry No." := 0; "Entry No." = AutoIncrement
...
Record.INSERT;
Wird ein Wert <> 0 entweder explizit oder implizit (xRec) vorgegeben, dann versucht NAV zur Laufzeit das IDENTITY umzuschalten (SET IDENTITY_INSERT ON). Das darf aber nur ein "sysadmin" oder "db_owner"! In deinem Fall wird vermutlich ein normaler "public" User auf den Fehler gelaufen sein ...
Die Lösung ist also: Die Stelle des INSERT finden und dort sicher stellen, dass das AI Feld mit "0" vorbelegt wird.
Sollte klappen ...
lrc_ISA.RESET;
lrc_ISA.INIT;
lrc_ISA."Entry No." := 0;
IF (lrc_ISA.INSERT(TRUE)) THEN BEGIN...
19. September 2023 14:47