Problembeschreibung
Beim Erstellen einer vorauszahlungsrechnung in Microsoft Dynamics NAV 2009 wird die folgende Fehlermeldung angezeigt:
"Vorauszahlung Nummernserie Datenreihe muss einen Wert im Verkauf/Einkauf Header haben."
Dies geschieht nur, wenn keine Serie einrichten für die Vorauszahlung fakturiert haben. Folgen Sie den Schritten im Abschnitt ändert sich dieses Problem lösen. Dieses Problem tritt in den folgenden Produkten auf:
-
Microsoft Dynamics NAV 2009 R2
-
Microsoft Dynamics NAV 2009 SP1
Problemlösung
Hotfix-Informationen
Ein unterstützter Hotfix ist inzwischen von Microsoft erhältlich. Allerdings ist es lediglich zur Behebung dieses Problems. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt. Dieser Hotfix wird möglicherweise noch getestet. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir, dass Sie warten auf das nächste Servicepack für Microsoft Dynamics NAV 2009 oder die nächste Microsoft Dynamics NAV-Version, die diesen Hotfix enthält.
Hinweis In besonderen Fällen bestimmt Gebühren fallen normalerweise Support aufrufen Wenn Experte Support für Microsoft Dynamics und zugehörige Produkte storniert werden können, dass ein bestimmtes Update Ihr Problem behebt. Die normalen Supportkosten gilt für zusätzliche Supportfragen und Probleme, die nicht für das betreffende Update qualifizieren.Informationen zur Installation
Microsoft bietet Programmierbeispiele lediglich zur Veranschaulichung, ohne ausdrückliche oder konkludente Gewährleistung. Dies beinhaltet, ist jedoch nicht beschränkt auf, konkludente Gewährleistungen der Tauglichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der von Beispielen verwendeten Programmiersprache und den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden, vertraut sind. Microsoft-Supporttechniker helfen der Erläuterung der Funktionalität bestimmter Prozeduren. Allerdings werden sie diese Beispiele nicht ändern, um zusätzliche Funktionalität bereitzustellen oder Prozeduren erstellen, die Ihren spezifischen Bedürfnisse erfüllen.
Hinweis Bevor Sie diesen Hotfix installieren, stellen Sie sicher, dass alle Microsoft Dynamics NAV-Clientbenutzer vom System abgemeldet werden. Hierzu gehören Dienste Microsoft Dynamics NAV Application Server (NAS). Sie sollte nur-Client-Benutzers, der angemeldet ist, wenn Sie diesen Hotfix installieren. Muss eine Entwicklerlizenz verfügen, um diesen Hotfix installieren können. Es wird empfohlen, das Benutzerkonto im Fenster Windows-Benutzernamen oder im Fenster Datenbank-Anmeldenamen "SUPER" Rollen-ID zugewiesen werden Wenn das Benutzerkonto die Rollen-ID "SUPER" nicht zugeordnet werden kann, müssen Sie sicherstellen, dass das Benutzerkonto die folgenden Berechtigungen verfügt:-
Änderungsberechtigung für das Objekt, das Sie ändern.
-
Ausführungsberechtigung für System Object ID 5210 und System Object ID 9015
Objekt.
Hinweis Sie müssen keine Rechte für die Datenspeicher haben, es sei denn, Sie müssen eine Datenreparatur durchführen.
Ändern von Code
Hinweis Testen Sie Programmcodeverbesserungen generell erst in einem Testsytem, bevor Sie sie im Produktionssystem verwenden.
Gehen Sie folgendermaßen vor, um dieses Problem zu beheben:-
Ändern Sie den Code in Felder in der Tabelle Sales kopiert (36) wie folgt:
Vorhandener Code 1... IF "Prepayment No. Series" <> '' THEN BEGIN
SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Inv. Nos."); // Delete the following line. NoSeriesMgt.TestSeries(SalesSetup."Posted Prepmt. Inv. Nos.","Prepayment No. Series"); // End of the deleted line. END; TESTFIELD("Prepayment No.",''); END; ...Neuer Code 1
...IF "Prepayment No. Series" <> '' THEN BEGIN
SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Inv. Nos."); // Add the following line. NoSeriesMgt.TestSeries(GetPostingPrepaymentNoSeriesCo,"Prepayment No. Series"); // End of the added line. END; TESTFIELD("Prepayment No.",''); END; ...Vorhandener Code 2
...SalesHeader := Rec;
SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Inv. Nos."); // Delete the following line. IF NoSeriesMgt.LookupSeries(SalesSetup."Posted Prepmt. Inv. Nos.","Prepayment No. Series") THEN // End of the deleted line. VALIDATE("Prepayment No. Series"); Rec := SalesHeader; END; ...Neuer Code 2
...
SalesHeader := Rec; SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Inv. Nos."); // Add the following line. IF NoSeriesMgt.LookupSeries(GetPostingPrepaymentNoSeriesCo,"Prepayment No. Series") THEN // End of the added line. VALIDATE("Prepayment No. Series"); Rec := SalesHeader; END; ...Vorhandenen Code 3
... IF "Prepmt. Cr. Memo No." <> '' THEN BEGIN
SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Cr. Memo Nos."); // Delete the following line. NoSeriesMgt.TestSeries(SalesSetup."Posted Prepmt. Cr. Memo Nos.","Prepmt. Cr. Memo No."); // End of the deleted line. END; TESTFIELD("Prepmt. Cr. Memo No.",''); END; ...Neuer Code 3
... IF "Prepmt. Cr. Memo No." <> '' THEN BEGIN
SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Cr. Memo Nos."); // Add the following line. NoSeriesMgt.TestSeries(GetPostingPrepaymentNoSeriesCo,"Prepmt. Cr. Memo No. Series"); // End of the added line. END; TESTFIELD("Prepmt. Cr. Memo No.",''); END; ...Vorhandenen Code 4
...SalesHeader := Rec;
SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Cr. Memo Nos."); // Delete the following lines. IF NoSeriesMgt.LookupSeries(GetPostingNoSeriesCode,"Prepmt. Cr. Memo No.") THEN VALIDATE("Prepmt. Cr. Memo No."); // End of the deleted lines. Rec := SalesHeader; END; END; ...Neuer Code 4
...SalesHeader := Rec;
SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Cr. Memo Nos."); // Add the following lines. IF NoSeriesMgt.LookupSeries(GetPostingPrepaymentNoSeriesCo,"Prepmt. Cr. Memo No. Series") THEN VALIDATE("Prepmt. Cr. Memo No. Series"); // End of the added lines. Rec := SalesHeader; END; END; ... -
Ändern Sie den Code in GetPostingPrepaymentNoSeriesCo Funktion in der Tabelle Sales kopiert (36) wie folgt:
Vorhandener code...EXIT(SalesSetup."Posted Invoice Nos.");
END; LOCAL PROCEDURE TestNoSeriesDate@40(No@1000 : Code[20];NoSeriesCode@1001 : Code[10];NoCapt@1002 : Text[1024];NoSeriesCapt@1004 : Text[1024]); VAR NoSeries@1005 : Record 308; ...Neuer code
... EXIT(SalesSetup."Posted Invoice Nos.");
END; // Add the following lines. LOCAL PROCEDURE GetPostingPrepaymentNoSeriesCo@59() : Code[10]; BEGIN IF "Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"] THEN EXIT(SalesSetup."Posted Prepmt. Cr. Memo Nos."); EXIT(SalesSetup."Posted Prepmt. Inv. Nos."); END; // End of the added lines. LOCAL PROCEDURE TestNoSeriesDate@40(No@1000 : Code[20];NoSeriesCode@1001 : Code[10];NoCapt@1002 : Text[1024];NoSeriesCapt@1004 : Text[1024]); VAR NoSeries@1005 : Record 308; ... -
Ändern Sie den Code in Feldern der Einkaufskopftabelle (38) folgendermaßen:
Vorhandener Code 1...IF "Prepayment No. Series" <> '' THEN BEGIN
PurchSetup.GET; PurchSetup.TESTFIELD("Posted Prepmt. Inv. Nos."); // Delete the following line. NoSeriesMgt.TestSeries(PurchSetup."Posted Prepmt. Inv. Nos.","Prepayment No. Series"); // End of the deleted line. END; TESTFIELD("Prepayment No.",''); END; ...Neuer Code 1
...IF "Prepayment No. Series" <> '' THEN BEGIN
PurchSetup.GET; PurchSetup.TESTFIELD("Posted Prepmt. Inv. Nos."); // Add the following line. NoSeriesMgt.TestSeries(GetPostingPrepaymentNoSeriesCo,"Prepayment No. Series"); // End of the added line. END; TESTFIELD("Prepayment No.",''); END; ...Vorhandener Code 2
...PurchHeader := Rec;
PurchSetup.GET; PurchSetup.TESTFIELD("Posted Prepmt. Inv. Nos."); // Delete the following line. IF NoSeriesMgt.LookupSeries(PurchSetup."Posted Prepmt. Inv. Nos.","Prepayment No. Series") THEN // End of the deleted line. VALIDATE("Prepayment No. Series"); Rec := PurchHeader; END; ...Neuer Code 2
...PurchHeader := Rec;
PurchSetup.GET; PurchSetup.TESTFIELD("Posted Prepmt. Inv. Nos."); // Add the following line. IF NoSeriesMgt.LookupSeries(GetPostingPrepaymentNoSeriesCo,"Prepayment No. Series") THEN // End of the added line. VALIDATE("Prepayment No. Series"); Rec := PurchHeader; END; ...Vorhandenen Code 3
...IF "Prepmt. Cr. Memo No. Series" <> '' THEN BEGIN
PurchSetup.GET; PurchSetup.TESTFIELD("Posted Prepmt. Cr. Memo Nos."); // Delete the following line. NoSeriesMgt.TestSeries(PurchSetup."Posted Prepmt. Cr. Memo Nos.","Prepmt. Cr. Memo No. Series"); // End of the deleted line. END; // Delete the following line. TESTFIELD("Prepmt. Cr. Memo No. Series",''); // End of the deleted line. END; OnLookup=BEGIN ...Neuer Code 3
...IF "Prepmt. Cr. Memo No. Series" <> '' THEN BEGIN
PurchSetup.GET; PurchSetup.TESTFIELD("Posted Prepmt. Cr. Memo Nos."); // Add the following line. NoSeriesMgt.TestSeries(GetPostingPrepaymentNoSeriesCo,"Prepmt. Cr. Memo No. Series"); // End of the added line. END; // Add the following line. TESTFIELD("Prepmt. Cr. Memo No.",''); // End of the added line. END; OnLookup=BEGIN ...Vorhandenen Code 4
...PurchHeader := Rec;
PurchSetup.GET; PurchSetup.TESTFIELD("Posted Prepmt. Cr. Memo Nos."); // Delete the following line. IF NoSeriesMgt.LookupSeries(PurchSetup."Posted Prepmt. Cr. Memo Nos.","Prepmt. Cr. Memo No. Series") THEN // End of the deleted line. VALIDATE("Prepmt. Cr. Memo No. Series"); Rec := PurchHeader; END; ...Neuer Code 4
...PurchHeader := Rec;
PurchSetup.GET; PurchSetup.TESTFIELD("Posted Prepmt. Cr. Memo Nos."); // Add the following line. IF NoSeriesMgt.LookupSeries(GetPostingPrepaymentNoSeriesCo,"Prepmt. Cr. Memo No. Series") THEN // End of the added line. VALIDATE("Prepmt. Cr. Memo No. Series"); Rec := PurchHeader; END; ... -
Ändern Sie den Code in GetPostingPrepaymentNoSeriesCo Funktion in der Einkaufskopftabelle (38) folgendermaßen:
Vorhandener code...EXIT(PurchSetup."Posted Invoice Nos.");
END; LOCAL PROCEDURE TestNoSeriesDate@40(No@1000 : Code[20];NoSeriesCode@1001 : Code[10];NoCapt@1002 : Text[1024];NoSeriesCapt@1004 : Text[1024]); VAR NoSeries@1005 : Record 308; ...Neuer code
...EXIT(PurchSetup."Posted Invoice Nos.");
END; // Add the following lines. LOCAL PROCEDURE GetPostingPrepaymentNoSeriesCo@37() : Code[10]; BEGIN IF "Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"] THEN EXIT(PurchSetup."Posted Prepmt. Cr. Memo Nos."); EXIT(PurchSetup."Posted Prepmt. Inv. Nos."); END; // End of the added lines. LOCAL PROCEDURE TestNoSeriesDate@40(No@1000 : Code[20];NoSeriesCode@1001 : Code[10];NoCapt@1002 : Text[1024];NoSeriesCapt@1004 : Text[1024]); VAR NoSeries@1005 : Record 308; ...
Voraussetzungen
Sie müssen eines der folgenden Produkte verfügen, um diesen Hotfix installieren:
-
Microsoft Dynamics NAV 2009 R2
-
Microsoft Dynamics NAV 2009 SP1
Informationen zur Deinstallation
Dieser Hotfix kann nicht entfernt werden.
Status
Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.
Hinweis Dies ist ein im Schnellverfahren veröffentlichter Artikel, der direkt in der Microsoft Support-Organisation erstellt wurde. Die hierin enthaltenen Informationen werden ohne Mängelgewähr in Reaktion auf neue Probleme bereitgestellt. Aufgrund der schnellen Bereitstellung kann das Material möglicherweise typografische Fehler enthalten und jederzeit ohne vorherige Ankündigung geändert werden. Weitere Hinweise finden Sie unter Geschäftsbedingungen.