Wednesday, August 16, 2023

Eine gelöschte Zeile ist für einen neuen Einzahlungsschein in der französischen Version von Microsoft Dynamics NAV 2009 nicht verfügbar – Microsoft-Support

Dieser Artikel gilt für Microsoft Dynamics NAV für das Sprachgebietsschema Französisch (fr).

Symptome

Wenn Sie in der französischen Version von Microsoft Dynamics NAV 2009 eine Zeile aus einem Einzahlungsschein löschen, steht die gelöschte Zeile nicht für einen neuen Einzahlungsschein zur Verfügung.

Dieses Problem tritt bei folgenden Produkten auf:

  • Die französische Version von Microsoft Dynamics NAV 2009 Service Pack 1

  • Die französische Version von Microsoft Dynamics NAV 2009 R2


Auflösung

Hotfix-Informationen

Ein unterstützter Hotfix ist jetzt von Microsoft verfügbar. Es dient jedoch lediglich der Behebung des in diesem Artikel beschriebenen Problems. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt. Dieser Hotfix wird möglicherweise weiteren Tests unterzogen. Wenn Sie von diesem Problem nicht schwerwiegend betroffen sind, empfehlen wir Ihnen daher, auf das nächste Microsoft Dynamics NAV 2009 Service Pack oder die nächste Microsoft Dynamics NAV-Version zu warten, die diesen Hotfix enthält.

Hinweis: In besonderen Fällen können die Gebühren, die normalerweise für Supportanrufe anfallen, storniert werden, wenn ein Mitarbeiter des technischen Supports für Microsoft Dynamics und verwandte Produkte feststellt, dass ein bestimmtes Update Ihr Problem lösen wird. Für zusätzliche Supportfragen und Probleme, die für das jeweilige Update nicht in Frage kommen, fallen die üblichen Supportkosten an.

Installationsinformationen

Microsoft stellt Programmierbeispiele nur zur Veranschaulichung zur Verfügung, ohne ausdrückliche oder stillschweigende Gewährleistung. Dazu gehören unter anderem stillschweigende Garantien der Marktgängigkeit oder Eignung für einen bestimmten Zweck. In diesem Artikel wird davon ausgegangen, dass Sie mit der demonstrierten Programmiersprache und den Tools vertraut sind, die zum Erstellen und Debuggen von Prozeduren verwendet werden. Microsoft-Supporttechniker können dabei helfen, die Funktionalität eines bestimmten Verfahrens zu erläutern. Sie werden diese Beispiele jedoch nicht ändern, um zusätzliche Funktionalität bereitzustellen oder Prozeduren zu erstellen, die Ihren spezifischen Anforderungen entsprechen.

Hinweis Bevor Sie diesen Hotfix installieren, stellen Sie sicher, dass alle Benutzer des Microsoft Dynamics NAV-Clients vom System abgemeldet sind. Dazu gehören Microsoft Dynamics NAV Application Server (NAS)-Dienste. Sie sollten der einzige Clientbenutzer sein, der angemeldet ist, wenn Sie diesen Hotfix implementieren.

Um diesen Hotfix zu implementieren, benötigen Sie eine Entwicklerlizenz.

Wir empfehlen, dem Benutzerkonto im Fenster „Windows-Anmeldungen" oder im Fenster „Datenbank-Anmeldungen" die Rollen-ID „SUPER" zuzuweisen. Wenn dem Benutzerkonto nicht die Rollen-ID „SUPER" zugewiesen werden kann, müssen Sie überprüfen, ob das Benutzerkonto über die folgenden Berechtigungen verfügt:

  • Die Änderungsberechtigung für das Objekt, das Sie ändern möchten.

  • Die Ausführungsberechtigung für das Systemobjekt-ID-5210-Objekt und für das Systemobjekt-ID-9015-Objekt

    Objekt.

Hinweis Sie müssen keine Rechte an den Datenspeichern haben, es sei denn, Sie müssen eine Datenreparatur durchführen.

Codeänderungen

Hinweis: Testen Sie Codekorrekturen immer in einer kontrollierten Umgebung, bevor Sie die Korrekturen auf Ihren Produktionscomputern anwenden.

Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

  1. Ändern Sie den Code unter „Kontrollen im Zahlungsscheinformular" (10868) wie folgt:
    Vorhandener Code 1

     ...
    CaptionML=[ENU=Ändern;
    FRA=Modifikator];
    OnPush=BEGIN

    // Folgende Zeile löschen.
    CurrForm.Lines.FORM.Modify;
    // Ende der gelöschten Zeile.

    ENDE;
    }
    { ID=2;
    ...

    Ersatzcode 1

     ...
    CaptionML=[ENU=Ändern;
    FRA=Modifikator];
    OnPush=BEGIN

    // Fügen Sie die folgende Zeile hinzu.
    CurrForm.Lines.FORM.ModifyLines;
    // Ende der hinzugefügten Zeile.

    ENDE;
    }
    { ID=2;
    ...

    Vorhandener Code 2

     ...
    CaptionML=[ENU=Einfügen;
    FRA=Ins�rer];
    OnPush=BEGIN

    // Folgende Zeile löschen.
    CurrForm.Lines.FORM.Insert;
    // Ende der gelöschten Zeile.

    ENDE;
    }
    { ID=3;
    ...

    Ersatzcode 2

     ...
    CaptionML=[ENU=Einfügen;
    FRA=Ins�rer];
    OnPush=BEGIN

    // Fügen Sie die folgende Zeile hinzu.
    CurrForm.Lines.FORM.InsertLines;
    // Ende der hinzugefügten Zeile.

    ENDE;
    }
    { ID=3;
    ...

    Vorhandener Code 3

     ...
    CaptionML=[ENU=Entfernen;
    FRA=Supprimer];
    OnPush=BEGIN

    // Folgende Zeile löschen.
    CurrForm.Lines.FORM.Delete;
    // Ende der gelöschten Zeile.

    ENDE;
    }
    { ID=1120028;
    ...

    Ersatzcode 3

     ...
    CaptionML=[ENU=Entfernen;
    FRA=Supprimer];
    OnPush=BEGIN

    // Fügen Sie die folgende Zeile hinzu.
    CurrForm.Lines.FORM.DeleteLines;
    // Ende der hinzugefügten Zeile.

    ENDE;
    }
    { ID=1120028;
    ...
  2. Ändern Sie den Code in der Funktion „Ändern" im Unterformular „Einzahlungsschein von" (10869) wie folgt:
    Vorhandener Code

     ...
    ENDE;
    ENDE;

    // Folgende Zeile löschen.
    VERFAHREN Modify@3();
    // Ende der gelöschten Zeile.

    VAR
    PaymentLine@1120001: Datensatz 10866;
    PaymentModification@1120000: Formular 10871;
    ...

    Ersatzcode

     ...
    ENDE;
    ENDE;

    // Fügen Sie die folgende Zeile hinzu.
    VERFAHREN ModifyLines@3();
    // Ende der hinzugefügten Zeile.

    VAR
    PaymentLine@1120001: Datensatz 10866;
    PaymentModification@1120000: Formular 10871;
    ...
  3. Ändern Sie den Code in der Funktion „Einfügen" im Unterformular „Einzahlungsschein von" (10869) wie folgt:
    Vorhandener Code

     ...
    NACHRICHT(Text002);
    ENDE;

    // Folgende Zeile löschen.
    VERFAHREN Insert@1120007();
    // Ende der gelöschten Zeile.

    VAR
    PaymentManagement@1120000: Codeeinheit 10860;
    BEGINNEN
    ...

    Ersatzcode

     ...
    NACHRICHT(Text002);
    ENDE;

    // Fügen Sie die folgende Zeile hinzu.
    VERFAHREN InsertLines@1120007();
    // Ende der hinzugefügten Zeile.

    VAR
    PaymentManagement@1120000: Codeeinheit 10860;
    BEGINNEN
    ...
  4. Ändern Sie den Code in der Funktion „Löschen" im Unterformular „Einzahlungsschein von" (10869) wie folgt:
    Vorhandener Code

     ...
    PaymentManagement.LinesInsert("No.");
    ENDE;

    // Folgende Zeile löschen.
    VERFAHREN Delete@4();
    // Ende der gelöschten Zeile.

    VAR
    PostingStatement@1120000: Codeeinheit 10860;
    StatementLine@1120001: Datensatz 10866;
    ...

    Ersatzcode

     ...
    PaymentManagement.LinesInsert("No.");
    ENDE;

    // Fügen Sie die folgende Zeile hinzu.
    VERFAHREN DeleteLines@4();
    // Ende der hinzugefügten Zeile.

    VAR
    PostingStatement@1120000: Codeeinheit 10860;
    StatementLine@1120001: Datensatz 10866;
    ...
  5. Ändern Sie den Code in der CopyLigBor-Funktion in der Payment Management Codeunit (10860) wie folgt:
    Vorhandener Code

     ...
    Process@1120009: Datensatz 10860;
    PaymentStatus@1120010: Datensatz 10861;
    BEGINNEN

    // Folgende Zeilen löschen.
    FromPaymentLine.MARKEDONLY(TRUE);
    WENN NICHT FromPaymentLine.FIND('-') DANN
    FromPaymentLine.MARKEDONLY(FALSE);
    // Ende der gelöschten Zeilen.

    WENN FromPaymentLine.FIND('-') DANN BEGIN
    Step.GET(FromPaymentLine."Payment Class",NewStep);
    Process.GET(FromPaymentLine."Payment Class");
    ...

    Ersatzcode

     ...
    Process@1120009: Datensatz 10860;
    PaymentStatus@1120010: Datensatz 10861;
    BEGINNEN
    WENN FromPaymentLine.FIND('-') DANN BEGIN
    Step.GET(FromPaymentLine."Payment Class",NewStep);
    Process.GET(FromPaymentLine."Payment Class");
    ...
  6. Ändern Sie den Code in der Funktion „DeleteLigBorCopy" in der Payment Management Codeunit (10860) wie folgt:
    Vorhandener Code

     ...
    VAR
    ToPaymentLine@1120001: Datensatz 10866;
    BEGINNEN

    // Folgende Zeile löschen.
    FromPaymentLine.MARKEDONLY(TRUE);
    // Ende der gelöschten Zeile.

    ToPaymentLine.SETCURRENTKEY("Kopiert nach Nr.","Kopiert in Zeile");

    IF FromPaymentLine.FIND('-') THEN
    ...

    Ersatzcode

     ...
    VAR
    ToPaymentLine@1120001: Datensatz 10866;
    BEGINNEN
    ToPaymentLine.SETCURRENTKEY("Kopiert nach Nr.","Kopiert in Zeile");

    IF FromPaymentLine.FIND('-') THEN
    ...
  7. Ändern Sie den Code in den Eigenschaften auf der Seite „Zahlungsbeleg-Unterformular" (10869) wie folgt:
    Vorhandener Code 1

     ...
    OnAction=BEGIN
    //Diese Funktionalität wurde von Seite #10868 kopiert. Der nicht unterstützte Teil wurde kommentiert. Überprüfen Sie bitte das.
    {CurrPage.Lines.FORM.}

    // Folgende Zeile löschen.
    _Ändern;
    // Ende der gelöschten Zeile.

    ENDE;
    }
    { 1900724604;2 ;Aktion ;
    ...

    Ersatzcode 1

     ...
    OnAction=BEGIN
    //Diese Funktionalität wurde von Seite #10868 kopiert. Der nicht unterstützte Teil wurde kommentiert. Überprüfen Sie bitte das.
    {CurrPage.Lines.FORM.}

    // Fügen Sie die folgende Zeile hinzu.
    ModifyLines;
    // Ende der hinzugefügten Zeile.

    ENDE;
    }
    { 1900724604;2 ;Aktion ;
    ...

    Vorhandener Code 2

     ...
    OnAction=BEGIN
    //Diese Funktionalität wurde von Seite #10868 kopiert. Der nicht unterstützte Teil wurde kommentiert. Überprüfen Sie bitte das.
    {CurrPage.Lines.FORM.}

    // Folgende Zeile löschen.
    EINFÜGEN;
    // Ende der gelöschten Zeile.

    ENDE;
    }
    { 1900724504;2 ;Aktion ;
    ...

    Ersatzcode 2

     ...
    OnAction=BEGIN
    //Diese Funktionalität wurde von Seite #10868 kopiert. Der nicht unterstützte Teil wurde kommentiert. Überprüfen Sie bitte das.
    {CurrPage.Lines.FORM.}

    // Fügen Sie die folgende Zeile hinzu.
    Zeilen einfügen;
    // Ende der hinzugefügten Zeile.

    ENDE;
    }
    { 1900724504;2 ;Aktion ;
    ...

    Vorhandener Code 3

     ...
    OnAction=BEGIN
    //Diese Funktionalität wurde von Seite #10868 kopiert. Der nicht unterstützte Teil wurde kommentiert. Überprüfen Sie bitte das.
    {CurrPage.Lines.FORM.}

    // Folgende Zeile löschen.
    LÖSCHEN;
    // Ende der gelöschten Zeile.

    ENDE;
    }
    { 1905048704;2 ;ActionGroup;
    ...

    Ersatzcode 3

     ...
    OnAction=BEGIN
    //Diese Funktionalität wurde von Seite #10868 kopiert. Der nicht unterstützte Teil wurde kommentiert. Überprüfen Sie bitte das.
    {CurrPage.Lines.FORM.}

    // Fügen Sie die folgende Zeile hinzu.
    Löschzeilen;
    // Ende der hinzugefügten Zeile.

    ENDE;
    }
    { 1905048704;2 ;ActionGroup;
    ...
  8. Ändern Sie den Code in der Funktion „Ändern" auf der Seite „Zahlungsbeleg-Unterformular" (10869) wie folgt:
    Vorhandener Code 1

     ...
    ENDE;
    ENDE;

    // Folgende Zeile löschen.
    VERFAHREN _Modify@19068298();
    // Ende der gelöschten Zeile.

    VAR
    PaymentLine@1120001: Datensatz 10866;
    PaymentModification@1120000: Formular 10871;
    ...

    Ersatzcode 1

     ...
    ENDE;
    ENDE;

    // Fügen Sie die folgende Zeile hinzu.
    VERFAHREN ModifyLines@3();
    // Ende der hinzugefügten Zeile.

    VAR
    PaymentLine@1120001: Datensatz 10866;
    PaymentModification@1120000: Formular 10871;
    ...

    Vorhandener Code 2

     ...
    NACHRICHT(Text002);
    ENDE;

    // Folgende Zeilen löschen.
    VERFAHREN Modify@3();
    VAR
    PaymentLine@1120001: Datensatz 10866;
    PaymentModification@1120000: Formular 10871;
    BEGINNEN
    WENN „Zeilennr." = 0 DANN
    NACHRICHT(Text001)
    Sonst, wenn nicht gepostet, dann beginnen
    PaymentLine.COPY(Rec);
    PaymentLine.SETRANGE("No.","No.");
    PaymentLine.SETRANGE("Zeilennr.","Zeilennr.");
    PaymentModification.SETTABLEVIEW(PaymentLine);
    PaymentModification.RUNMODAL;
    ENDE SONST
    NACHRICHT(Text002);
    ENDE;
    // Ende der gelöschten Zeilen.

    VERFAHREN Insert@1120007();
    VAR
    PaymentManagement@1120000: Codeeinheit 10860;
    BEGINNEN
    ...

    Ersatzcode 2

     ...
    NACHRICHT(Text002);
    ENDE;

    VERFAHREN InsertLines@1120007();
    VAR
    PaymentManagement@1120000: Codeeinheit 10860;
    BEGINNEN
    ...
  9. Ändern Sie den Code in der Funktion „Löschen" auf der Seite „Zahlungsbeleg-Unterformular" (10869) wie folgt:
    Vorhandener Code

     ...
    PaymentManagement.LinesInsert("No.");
    ENDE;

    // Folgende Zeile löschen.
    VERFAHREN Delete@4();
    // Ende der gelöschten Zeile.

    VAR
    PostingStatement@1120000: Codeeinheit 10860;
    StatementLine@1120001: Datensatz 10866;
    ...

    Ersatzcode

     ...
    PaymentManagement.LinesInsert("No.");
    ENDE;

    // Fügen Sie die folgende Zeile hinzu.
    VERFAHREN DeleteLines@4();
    // Ende der hinzugefügten Zeile.

    VAR
    PostingStatement@1120000: Codeeinheit 10860;
    StatementLine@1120001: Datensatz 10866;
    ...


Voraussetzungen

Um diesen Hotfix anwenden zu können, muss eines der folgenden Produkte installiert sein:

  • Die französische Version von Microsoft Dynamics NAV 2009 Service Pack 1

  • Die französische Version von Microsoft Dynamics NAV 2009 R2

Informationen zum Entfernen

Sie können diesen Hotfix nicht entfernen.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Gilt für" aufgeführt sind.

Hinweis Dies ist ein „FAST PUBLISH"-Artikel, der direkt von der Microsoft-Supportorganisation erstellt wurde. Die hierin enthaltenen Informationen werden unverändert als Reaktion auf neu auftretende Probleme bereitgestellt. Aufgrund der schnellen Bereitstellung können die Materialien Tippfehler enthalten und jederzeit ohne Vorankündigung überarbeitet werden. Weitere Hinweise finden Sie in den Nutzungsbedingungen .

No comments:

Post a Comment