Guten Tag,
ich habe in meinem Programm an zwei Stellen einen äußerst ähnlichen Aufbau für das Ein- bzw. Ausbuchen von Beständen.
Das Einbuchen sieht so aus:
docid := @DbLookup("Notes":"NoCache";@DbName;"($ArtikelnachID)";erf_Produkt_ArtNr;1;[ReturnDocumentUniqueID]);
bestand := @DbLookup("Notes":"NoCache";@DbName;"($ArtikelnachID)";erf_Produkt_ArtNr;"Artikel_Bestand");
bestand := bestand + @ToNumber(erf_Produkt_Anzahl);
@SetDocField(docid;"Artikel_Bestand";bestand);
@SetField("erf_Produkt_Status";"erledigt");
@Command([FileSave]);
@Command([ViewRefreshFields]);
Das Ausbuchen ist so programmiert:
docid := @DbLookup("Notes":"NoCache";@DbName;"($ArtikelnachID)";erf_Ausbuchung_ArtikelNr;1;[ReturnDocumentUniqueID]);
bestand := @DbLookup("Notes":"NoCache";@DbName;"($ArtikelnachID)";erf_Ausbuchung_ArtikelNr;"Artikel_Bestand");
bestand := bestand - @ToNumber(erf_Ausbuchung_Anzahl);
@SetDocField(docid;"Artikel_Bestand";bestand);
@Command([FileSave]);
@Command([ViewRefreshFields]);
Beide Funktionen werden durch je einen Button gestartet. Das Einbuchen findet aus einer Ansicht auf dem Artikel stehend, das Ausbuchen, nach Auswahl des Artikels aus einer Ansicht in eine Maske, heraus statt.
Das Einbuchen klappt einwandfrei. Das Ausbuchen überhaupt nicht. Der neu berechnete Bestand wird nicht zurück gespeichert. Durch @Prompt Ausgaben an den entsprechenden Stellen konnte ich sehen, das auch beim Ausbuchen die docid und der Wert von "bestand" richtig ausgewählt bzw. berechnet werden.
Woran könnte das liegen?
Vielen Dank für jeden Tipp.
Ach ja, ich bin Anfänger im Programmieren mit Notes, also nicht zu viel voraussetzen. Programmiererfahrung in anderen Sprachen habe ich allerdings reichlich.
harmonyker