Fehlermeldung „Exportierte Pmts müssen Ja sein", wenn Sie Buch.-Blattzeilen in der spanischen Version von Microsoft Dynamics NAV 2009 buchen
Symptome
Gehen Sie nach der Installation vonKB3036839 davon aus, dass Sie eine SEPA-Zahlung stornieren, die aus dem Journal in der spanischen Version von Microsoft Dynamics NAV 2009 exportiert wird. Wenn Sie dann die Journalzeilen buchen, nachdem Sie die SEPA-Zahlungsdatei exportiert haben, erhalten Sie die folgende Fehlermeldung:
„Elect. Pmts Exported" muss „Ja" in „Allg. Buch.-Blattzeilen-Journalvorlagenname=", „Blattstapelname=", „Zeilennr.=" sein."
Befolgen Sie die Schritte im Abschnitt „Codeänderungen", um dieses Problem zu beheben. Dieses Problem tritt bei folgenden Produkten auf:
Die spanische Version von Microsoft Dynamics NAV 2009 R2
Die spanische Version von Microsoft Dynamics NAV 2009 SP1
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:
Ändern Sie den Code in „Kontrollen" im Formular „Zahlungsbuch.-Blatt" (256) wie folgt:
Vorhandener Code 1...
OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
ShowShortcutDimCode(ShortcutDimCode);
ENDE;
}
{ 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;
...Ersatzcode 1
...
OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
ShowShortcutDimCode(ShortcutDimCode);
// Fügen Sie die folgende Zeile hinzu.
CheckRecipientBankAccount;
// Ende der hinzugefügten Zeile.
ENDE;
}
{ 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;
...Vorhandener Code 2
...
SourceExpr="Ursachencode" }
{ 70 ;Label ;0 ;0 ;0 ;0 ;ParentControl=69;
InColumnHeading=Ja }
{ 24 ;Frame ;220 ;6160 ;16060;1430 ;HorzGlue=Both;
VertGlue=Unten;
ShowCaption=Nein }
...Ersatzcode 2
...
SourceExpr="Ursachencode" }
{ 70 ;Label ;0 ;0 ;0 ;0 ;ParentControl=69;
InColumnHeading=Ja }
// Fügen Sie die folgenden Zeilen hinzu.
{ 1100012;TextBox ;71517;1100 ;1700 ;440 ;ParentControl=1;
InColumn=Ja;
SourceExpr="Bankkonto des Empfängers" }
{ 1100013;Label ;0 ;0 ;0 ;0 ;ParentControl=1100012;
InColumnHeading=Ja }
// Ende der hinzugefügten Zeilen.
{ 24 ;Frame ;220 ;6160 ;16060;1430 ;HorzGlue=Both;
VertGlue=Unten;
ShowCaption=Nein }
...Vorhandener Code 3
...
CaptionML=ENU=Exportieren;
OnPush=VAR
Text1100000@1100000 : TextConst 'ENU=Nichts zum Exportieren.';
// Folgende Zeilen löschen.
START
// es0006.begin
GenJnlLine.RESET;
GenJnlLine := Rec;
GenJnlLine.SETRANGE("Journal-Vorlagenname","Journal-Vorlagenname");
GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");
WENN NICHT GenJnlLine.FIND('-') DANN
FEHLER(Text1100000);
GenJnlLine.TESTFIELD("Elect. Pmts Exported",FALSE);
REPORT.RUNMODAL(REPORT::"Export Electronic Payments",TRUE,FALSE,GenJnlLine);
// Ende der gelöschten Zeilen.
// es0006.end
ENDE;
}
...Ersatzcode 3
...
CaptionML=ENU=Exportieren;
OnPush=VAR
Text1100000@1100000 : TextConst 'ENU=Nichts zum Exportieren.';
// Fügen Sie die folgenden Zeilen hinzu.
Auswahl@1100004: Ganzzahl;
START
// es0006.begin
GenJnlLine.COPYFILTERS(Rec);
GenJnlLine.SETRANGE("Journal-Vorlagenname","Journal-Vorlagenname");
GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");
GenJnlLine.SETRANGE("Bankzahlungstyp","Bankzahlungstyp"::"Elektronische Zahlung");
GenJnlLine.SETRANGE("Elect. Pmts Exported",FALSE);
WENN GenJnlLine.ISEMPTY DANN
FEHLER(Text1100000);
Auswahl := STRMENU(ExportFormatTypeTxt,2);
FALLauswahl VON
1:
START
IF ExportedPmtExist(GenJnlLine) THEN
WENN NICHT BESTÄTIGEN (ExportAgainQst), DANN
AUSFAHRT;
CheckDocNos(GenJnlLine);
CODEUNIT.RUN(CODEUNIT::"SEPA CT-Exportdatei",GenJnlLine);
GenJnlLine.MODIFYALL("Exportdateiname",'');
GenJnlLine.MODIFYALL("Elect. Pmts Exported",TRUE);
ENDE;
2:
START
GenJnlLine.TESTFIELD("Elect. Pmts Exported",FALSE);
REPORT.RUNMODAL(REPORT::"Export Electronic Payments",TRUE,FALSE,GenJnlLine);
ENDE;
ENDE;
// Ende der hinzugefügten Zeilen.
// es0006.end
ENDE;
}
...Vorhandener Code 4
...
// es0006.end
ENDE;
}
{ ID=65;
CaptionML=ENU=Void Check;
OnPush=BEGIN
...Ersatzcode 4
...
// es0006.end
ENDE;
}
// Fügen Sie die folgenden Zeilen hinzu.
{ ID=1100014;
PushAction=RunObject;
MenuLevel=1;
CaptionML=ENU=Exportdateifehler anzeigen;
RunObject=Form 1228;
RunFormLink=Journal-Vorlagenname=FIELD(Journal-Vorlagenname),
Journal-Batch-Name=FIELD(Journal-Batch-Name) }
// Ende der hinzugefügten Zeilen.
{ ID=65;
CaptionML=ENU=Void Check;
OnPush=BEGIN
...Ändern Sie den Code in „Globale Variablen" im Formular „Zahlungserfassung" (256) wie folgt:
Vorhandener Code...
ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018: ARRAY [8] OF Code[20];
OpenedFromBatch@1019: Boolean;
LOKALE VERFAHREN UpdateBalance@1();
START
...Ersatzcode
...
ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018: ARRAY [8] OF Code[20];
OpenedFromBatch@1019: Boolean;
// Fügen Sie die folgenden Zeilen hinzu.
ExportFormatTypeTxt@1100001 : TextConst 'ENU=SEPA,N34.1';
ExportAgainQst@1100000 : TextConst 'ENU=Eine oder mehrere der ausgewählten Zeilen wurden bereits exportiert. Möchten Sie erneut exportieren?';
// Ende der hinzugefügten Zeilen.
LOKALE VERFAHREN UpdateBalance@1();
START
...Ändern Sie den Code in der Funktion „ExportedPmtExist" im Formular „Zahlungsjournal" (256) wie folgt:
Vorhandener Code...
CurrForm.TotalBalance.VISIBLE := ShowTotalBalance;
ENDE;
START
{
<Änderungsprotokoll>
...Ersatzcode
...
CurrForm.TotalBalance.VISIBLE := ShowTotalBalance;
ENDE;
// Fügen Sie die folgenden Zeilen hinzu.
LOKALES PROZEDUR ExportedPmtExist@1100002(GenJournalLine@1100000: Datensatz 81): Boolean;
VAR
GenJnlLine3@1100001: Datensatz 81;
START
GenJnlLine3.COPYFILTERS(GenJnlLine);
GenJnlLine3.SETRANGE("In Zahlungsdatei exportiert",TRUE);
EXIT(NOT GenJnlLine3.ISEMPTY);
ENDE;
LOKALES VERFAHREN CheckRecipientBankAccount@1100000();
VAR
VendorBankAccount@1100000: Datensatz 288;
CustomerBankAccount@1100001: Datensatz 287;
START
WENN ("Konto-Nr." <> xRec."Konto-Nr.") DANN
VALIDATE("Bankkonto des Empfängers",'');
ENDE;
// Ende der hinzugefügten Zeilen.
START
{
<Änderungsprotokoll>
...Ändern Sie den Code in den Eigenschaften auf der Seite „Zahlungsjournal" (256) wie folgt:
Vorhandener Code...
ENDE;
ENDE;
}
{ 1900000004;0 ;ActionContainer;
ActionContainerType=ActionItems }
{ 40 ;1 ;ActionGroup;
...Ersatzcode
...
ENDE;
ENDE;
}
// Fügen Sie die folgenden Zeilen hinzu.
{ 1100050 ;2 ;ActionGroup;
CaptionML=ENU=Elektronische Zahlungen }
{ 1100051 ;3 ;Aktion ;
CaptionML=ENU=Exportieren;
OnAction=VAR
Text1100000@1100000 : TextConst 'ENU=Nichts zum Exportieren.';
Auswahl@1100004: Ganzzahl;
START
// es0006.begin
GenJnlLine.RESET;
GenJnlLine.COPYFILTERS(Rec);
GenJnlLine.SETRANGE("Journal-Vorlagenname","Journal-Vorlagenname");
GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");
WENN NICHT GenJnlLine.FIND('-') DANN
FEHLER(Text1100000);
Auswahl := STRMENU(ExportFormatTypeTxt,2);
FALLauswahl VON
1:
START
IF ExportedPmtExist(GenJnlLine) THEN
WENN NICHT BESTÄTIGEN (ExportAgainQst), DANN
AUSFAHRT;
CODEUNIT.RUN(CODEUNIT::"SEPA CT-Exportdatei",GenJnlLine);
ENDE;
2:
START
GenJnlLine.TESTFIELD("Elect. Pmts Exported",FALSE);
REPORT.RUNMODAL(REPORT::"Export Electronic Payments",TRUE,FALSE,GenJnlLine);
ENDE;
ENDE;
// es0006.end
ENDE;
}
{ 1100052 ;3 ;Aktion ;
CaptionML=ENU=Void;
OnAction=VAR
VoidElecPayments@1101100000: Bericht 10722;
START
// es0006.begin
GenJnlLine.RESET;
GenJnlLine := Rec;
GenJnlLine.SETRANGE("Journal-Vorlagenname","Journal-Vorlagenname");
GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");
CLEAR(VoidElecPayments);
VoidElecPayments.SETTABLEVIEW(GenJnlLine);
VoidElecPayments.RUNMODAL;
// es0006.end
ENDE;
}
{ 1100014 ;3 ;Aktion ;
CaptionML=ENU=Exportdateifehler anzeigen;
RunObject=Seite 1228;
RunFormLink=Journal-Vorlagenname=FIELD(Journal-Vorlagenname),Journal-Batch-Name=FIELD(Journal-Batch-Name) }
// Ende der hinzugefügten Zeilen.
{ 1900000004;0 ;ActionContainer;
ActionContainerType=ActionItems }
{ 40 ;1 ;ActionGroup;
...Ändern Sie den Code unter „Kontrollen" auf der Seite „Zahlungsbuch.-Blatt" (256) wie folgt:
Vorhandener Code 1...
OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
ShowShortcutDimCode(ShortcutDimCode);
ENDE;
}
...Ersatzcode 1
...
OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
ShowShortcutDimCode(ShortcutDimCode);
// Fügen Sie die folgende Zeile hinzu.
CheckRecipientBankAccount;
// Ende der hinzugefügten Zeile.
ENDE;
}
...Vorhandener Code 2
...
SourceExpr="Ursachencode";
Sichtbar=FALSCH }
{ 24 ;1 ;Gruppe }
{ 1903561801;2;Gruppe ;
...Ersatzcode 2
...
SourceExpr="Ursachencode";
Sichtbar=FALSCH }
// Fügen Sie die folgenden Zeilen hinzu.
{ 1100012;2;Feld ;
SourceExpr="Bankkonto des Empfängers" }
// Ende der hinzugefügten Zeilen.
{ 24 ;1 ;Gruppe }
{ 1903561801;2;Gruppe ;
...Ändern Sie den Code in „Globale Variablen" auf der Seite „Zahlungsbuch.-Blatt" (256) wie folgt:
Vorhandener Code...
ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018: ARRAY [8] OF Code[20];
OpenedFromBatch@1019: Boolean;
BalanceVisible@19073040 : Boolean INDATASET;
TotalBalanceVisible@19063333: Boolean INDATASET;
...Ersatzcode
...
ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018: ARRAY [8] OF Code[20];
OpenedFromBatch@1019: Boolean;
// Fügen Sie die folgenden Zeilen hinzu.
ExportFormatTypeTxt@1100001 : TextConst 'ENU=SEPA,N34.1';
ExportAgainQst@1100000 : TextConst 'ENU=Eine oder mehrere der ausgewählten Zeilen wurden bereits exportiert. Möchten Sie erneut exportieren?';
// Ende der hinzugefügten Zeilen.
BalanceVisible@19073040 : Boolean INDATASET;
TotalBalanceVisible@19063333: Boolean INDATASET;
...Ändern Sie den Code in der Funktion „ExportedPmtExist" auf der Seite „Zahlungsjournal" (256) wie folgt:
Vorhandener Code...
TotalBalanceVisible := ShowTotalBalance;
ENDE;
LOKALE PROZEDUR CurrentJnlBatchNameOnAfterVali@19002411();
START
CurrPage.SAVERECORD;
...Ersatzcode
...
TotalBalanceVisible := ShowTotalBalance;
ENDE;
// Fügen Sie die folgenden Zeilen hinzu.
LOKALES PROZEDUR ExportedPmtExist@1100002(GenJournalLine@1100000: Datensatz 81): Boolean;
VAR
GenJnlLine3@1100001: Datensatz 81;
START
GenJnlLine3.COPYFILTERS(GenJnlLine);
GenJnlLine3.SETRANGE("In Zahlungsdatei exportiert",TRUE);
EXIT(NOT GenJnlLine3.ISEMPTY);
ENDE;
LOKALES VERFAHREN CheckRecipientBankAccount@1100000();VARVendorBankAccount@1100000: Datensatz 288;
CustomerBankAccount@1100001: Datensatz 287;
START
WENN ("Konto-Nr." <> xRec."Konto-Nr.") DANN
VALIDATE("Bankkonto des Empfängers",'');
ENDE;
// Ende der hinzugefügten Zeilen.
LOKALE PROZEDUR CurrentJnlBatchNameOnAfterVali@19002411();
START
CurrPage.SAVERECORD;
...Ändern Sie den Code in den Eigenschaften im SEPA CT Pain.001.001.03 xmlport (1000) wie folgt:
Vorhandener Code...
ELEMENTE
{
{ [{0EA1BA75-FB56-4C05-946C-A299E4809E84}]; ;Dokument ;Element ;Tabelle ;
SourceTable=Table81 }
{ [{596E5521-E230-4D9C-B0F7-DF29388F515B}];1 ;xmlns ;Attribute;Text ;
VariableName=XMLNamespace }
...Ersatzcode
...
ELEMENTE
{
{ [{0EA1BA75-FB56-4C05-946C-A299E4809E84}]; ;Dokument ;Element ;Tabelle ;
SourceTable=Table81;
// Fügen Sie die folgende Zeile hinzu.
MaxOccurs=Once }
// Ende der hinzugefügten Zeile.
{ [{596E5521-E230-4D9C-B0F7-DF29388F515B}];1 ;xmlns ;Attribute;Text ;
VariableName=XMLNamespace }
...
Voraussetzungen
Um diesen Hotfix anwenden zu können, muss eines der folgenden Produkte installiert sein:
Die spanische Version von Microsoft Dynamics NAV 2009 R2
Die spanische Version von Microsoft Dynamics NAV 2009 SP1
Darüber hinaus mussKB3036839 installiert sein.
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