Der automatische Abgleich funktioniert für IBAN in der niederländischen Version von Microsoft Dynamics NAV 2009 nicht
Dieses Problem tritt beim Importieren eines Kontoauszugs mit CAMT in der niederländischen Version von Microsoft Dynamics NAV 2009 auf. Darüber hinaus wird der offene Debitorenbucheintrag nicht automatisch abgeglichen. Befolgen Sie die Schritte im Abschnitt „Codeänderungen", um dieses Problem zu beheben. Dieses Problem tritt bei folgenden Produkten auf:
Die niederländische Version von Microsoft Dynamics NAV 2009 R2
Die niederländische Version von Microsoft Dynamics NAV 2009 Service Pack 1 (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 den Eigenschaften im CBG Statement Reconciliation-Codeuint (11000006) wie folgt:
Vorhandener Code...
CBGStatementRec@1000000: Datensatz 11400;
BEGINNEN
ResetNumbers;
// Folgende Zeilen löschen.
WENN CBGStatementRec.FIND('-') DANN BEGIN
WIEDERHOLEN
MatchCBGStatement(CBGStatementRec);
UNTIL CBGStatementRec.NEXT() = 0;
ENDE;
// Ende der gelöschten Zeilen.
ENDE;
}
...Ersatzcode
...
CBGStatementRec@1000000: Datensatz 11400;
BEGINNEN
ResetNumbers;
// Fügen Sie die folgenden Zeilen hinzu.
IF CBGStatementRec.FIND('-') THEN
WIEDERHOLEN
MatchCBGStatement(CBGStatementRec);
UNTIL CBGStatementRec.NEXT = 0;
// Ende der hinzugefügten Zeilen.
ENDE;
}
...Ändern Sie den Code in „Globale Variablen" im CBG Statement Reconciliation-Codeuint (11000006) wie folgt:
Vorhandener Code 1...
PostDesRec@1000016: Datensatz 11000006;
PaymenthistorylineRec@1000017: Datensatz 11000002;
TransactionModeRec@1000018: Datensatz 11000004;
// Folgende Zeilen löschen.
Tab@1000019 : Text[2];
BankaccountNo@1000020: ARRAY [5] OF Code[40];
Name@1000021 : Code[40];
// Ende der gelöschten Zeilen.
Adresse@1000022: Code[40];
Stadt@1000023: Code[40];
Identifikation@1000024: Code[40];
...Ersatzcode 1
...
PostDesRec@1000016: Datensatz 11000006;
PaymenthistorylineRec@1000017: Datensatz 11000002;
TransactionModeRec@1000018: Datensatz 11000004;
// Fügen Sie die folgenden Zeilen hinzu.
TempBankAccount@1000025: Datensatz 270;
Name@1000021 : Code[80];
// Ende der hinzugefügten Zeilen.
Adresse@1000022: Code[40];
Stadt@1000023: Code[40];
Identifikation@1000024: Code[40];
...Vorhandener Code 2
...
Adresse@1000022: Code[40];
Stadt@1000023: Code[40];
Identifikation@1000024: Code[40];
// Folgende Zeilen löschen.
Rechnungsnummer@1000025: Text[250];
Len@1000026 : Ganzzahl;
NumberOfPossibleBankAccounts@1000027 : Ganzzahl;
// Ende der gelöschten Zeilen.
NumberOfDocumentNumbers@1000028 : Ganzzahl;
NumberOfLinesProcessed@1000029 : Ganzzahl;
NumberOfLinesChanged@1000030 : Ganzzahl;
...Ersatzcode 2
...
Adresse@1000022: Code[40];
Stadt@1000023: Code[40];
Identifikation@1000024: Code[40];
NumberOfDocumentNumbers@1000028 : Ganzzahl;
NumberOfLinesProcessed@1000029 : Ganzzahl;
NumberOfLinesChanged@1000030 : Ganzzahl;
...Vorhandener Code 3
...
Fenster@1000040: Dialog;
LocalFunctionalityMgt@1000041: Codeeinheit 11400;
HideMessages@1000042: Boolean;
VERFAHREN MatchCBGStatement@1000000(CBGStatementRec@1000000 : Datensatz 11400);
VAR
...Ersatzcode 3
...
Fenster@1000040: Dialog;
LocalFunctionalityMgt@1000041: Codeeinheit 11400;
HideMessages@1000042: Boolean;
// Fügen Sie die folgende Zeile hinzu.
BankAccountCharsToKeep@1000019 : Text[250];
VERFAHREN MatchCBGStatement@1000000(CBGStatementRec@1000000 : Datensatz 11400);
VAR
...Ändern Sie den Code in der MatchCBGStatementLine-Funktion im CBG Statement Reconciliation-Codeuint (11000006) wie folgt:
Vorhandener Code 1...
VERFAHREN MatchCBGStatementLine@1000001(CBGStatementRec@1000000: Datensatz 11400;VAR CBGStatementlineRec@1000001: Datensatz 11401);
VAR
RecChanged@1000002 : Boolean;
// Folgende Zeile löschen.
Gefunden@1000003: Boolean;
PaymentHistoryFound@1000004: Boolean;
i@1000005 : Ganzzahl;
strFilter@1000006 : Text[250];
...Ersatzcode 1
...
VERFAHREN MatchCBGStatementLine@1000001(CBGStatementRec@1000000: Datensatz 11400;VAR CBGStatementlineRec@1000001: Datensatz 11401);
VAR
RecChanged@1000002 : Boolean;
PaymentHistoryFound@1000004: Boolean;
i@1000005 : Ganzzahl;
strFilter@1000006 : Text[250];
...Vorhandener Code 2
...
NumberOfLinesProcessed := NumberOfLinesProcessed + 1;
RecChanged := FALSE;
- CLEAR(BankaccountNo);
CLEAR(Name);
CLEAR(Adresse);
CLEAR(Stadt);
...Ersatzcode 2
...
NumberOfLinesProcessed := NumberOfLinesProcessed + 1;
RecChanged := FALSE;
// Fügen Sie die folgende Zeile hinzu.
CLEAR(TempBankAccount);
CLEAR(Name);
CLEAR(Adresse);
CLEAR(Stadt);
...Vorhandener Code 3
...
CLEAR(Adresse);
CLEAR(Stadt);
CLEAR(Identifikation);
// Folgende Zeile löschen.
NumberOfPossibleBankAccounts := 0;
PostDesRec.SETRANGE("Journal Template Name", CBGStatementlineRec."Journal Template Name");
PostDesRec.SETRANGE("CBG Statement No.", CBGStatementlineRec."No.");
...Ersatzcode 3
...
CLEAR(Adresse);
CLEAR(Stadt);
CLEAR(Identifikation);
PostDesRec.SETRANGE("Journal Template Name", CBGStatementlineRec."Journal Template Name");
PostDesRec.SETRANGE("CBG Statement No.", CBGStatementlineRec."No.");
...Vorhandener Code 4
...
PostDesRec.SETRANGE("CBG Statement No.", CBGStatementlineRec."No.");
PostDesRec.SETRANGE("CBG Statement Line No.", CBGStatementlineRec."Line No.");
// Folgende Zeile löschen.
WENN PostDesRec.FIND('-') DANN BEGIN
WIEDERHOLEN
CASE PostDesRec."Informationstyp" OF
PostDesRec."Informationstyp"::"Beschreibung und Sonstiges":
...Ersatzcode 4
...
PostDesRec.SETRANGE("CBG Statement No.", CBGStatementlineRec."No.");
PostDesRec.SETRANGE("CBG Statement Line No.", CBGStatementlineRec."Line No.");
// Fügen Sie die folgende Zeile hinzu.
IF PostDesRec.FIND('-') THEN
WIEDERHOLEN
CASE PostDesRec."Informationstyp" OF
PostDesRec."Informationstyp"::"Beschreibung und Sonstiges":
...Vorhandener Code 5
...
WIEDERHOLEN
CASE PostDesRec."Informationstyp" OF
PostDesRec."Informationstyp"::"Beschreibung und Sonstiges":
// Folgende Zeilen löschen.
WENN NICHT SplitAccountnumber(PostDesRec.Description) DANN
SplitInvoicenumber(PostDesRec.Description);
PostDesRec."Information Type"::"Konto-Nr. Ausgleichskonto":
SplitAccountnumber(PostDesRec.Description);
// Ende des Dle
PostDesRec."Informationstyp"::"Name Kontoinhaber":
Name := PostDesRec.Description;
PostDesRec."Informationstyp"::"Adresskontoinhaber":
...Ersatzcode 5
...
WIEDERHOLEN
CASE PostDesRec."Informationstyp" OF
PostDesRec."Informationstyp"::"Beschreibung und Sonstiges":
// Fügen Sie die folgenden Zeilen hinzu.
SplitAccountNumber(PostDesRec.Description);
PostDesRec."Information Type"::"Konto-Nr. Ausgleichskonto":
AddPossibleBankAccount(PostDesRec.Description);
// Ende der hinzugefügten Zeilen.
PostDesRec."Informationstyp"::"Name Kontoinhaber":
Name := PostDesRec.Description;
PostDesRec."Informationstyp"::"Adresskontoinhaber":
...Vorhandener Code 6
...
Identifikation := PostDesRec.Description;
ENDE;
UNTIL PostDesRec.NEXT = 0;
// Folgende Zeilen löschen.
ENDE;
IF CBGStatementlineRec."Konto-Nr." = '' DANN BEGINNEN
FOR i := 1 TO 5 DO BEGIN
WENN BankkontoNr[i] <> '' DANN BEGINNEN
WENN CBGStatementlineRec.Credit > 0, DANN BEGINNEN
WENN FindAccountnumber(BankaccountNo[i], TempRec."Source Type"::Customer,CBGStatementlineRec."Account No.") DANN BEGINNEN
// Ende der gelöschten Zeilen.
CBGStatementlineRec."Account Type" := CBGStatementlineRec."Account Type"::Customer;
CBGStatementlineRec.VALIDATE("Konto-Nr.", CBGStatementlineRec."Konto-Nr.");
CBGStatementlineRec."Reconciliation Status" := CBGStatementlineRec."Reconciliation Status"::Changed;
...Ersatzcode 6
...
Identifikation := PostDesRec.Description;
ENDE;
UNTIL PostDesRec.NEXT = 0;
// Fügen Sie die folgenden Zeilen hinzu.
IF CBGStatementlineRec."Konto-Nr." = '' DANN BEGINNEN
WENN TempBankAccount.FINDFIRST DANN
WIEDERHOLEN
WENN TempBankAccount.IBAN <> '' DANN BEGINNEN
WENN CBGStatementlineRec.Credit > 0, DANN BEGINNEN
WENN FindAccountnumber(TempBankAccount.IBAN,TempRec."Source Type"::Customer,CBGStatementlineRec."Account No.") DANN BEGINNEN
// Ende der hinzugefügten Zeilen.
CBGStatementlineRec."Account Type" := CBGStatementlineRec."Account Type"::Customer;
CBGStatementlineRec.VALIDATE("Konto-Nr.", CBGStatementlineRec."Konto-Nr.");
CBGStatementlineRec."Reconciliation Status" := CBGStatementlineRec."Reconciliation Status"::Changed;
...Vorhandener Code 7
...
RecChanged := TRUE;
ENDE;
ENDE SONST BEGINNEN
// Folgende Zeile löschen.
WENN FindAccountnumber(BankaccountNo[i], TempRec."Source Type"::Vendor,CBGStatementlineRec."Account No.") DANN BEGINNEN
CBGStatementlineRec."Account Type" := CBGStatementlineRec."Account Type"::Vendor;
CBGStatementlineRec.VALIDATE("Konto-Nr.", CBGStatementlineRec."Konto-Nr.");
CBGStatementlineRec."Reconciliation Status" := CBGStatementlineRec."Reconciliation Status"::Changed;
...Ersatzcode 7
...
RecChanged := TRUE;
ENDE;
ENDE SONST BEGINNEN
// Fügen Sie die folgende Zeile hinzu.
WENN FindAccountnumber(TempBankAccount.IBAN,TempRec."Source Type"::Vendor,CBGStatementlineRec."Account No.") DANN BEGINNEN
CBGStatementlineRec."Account Type" := CBGStatementlineRec."Account Type"::Vendor;
CBGStatementlineRec.VALIDATE("Konto-Nr.", CBGStatementlineRec."Konto-Nr.");
CBGStatementlineRec."Reconciliation Status" := CBGStatementlineRec."Reconciliation Status"::Changed;
...Vorhandener Code 8
...
ENDE;
ENDE;
ENDE;
// Folgende Zeile löschen.
ENDE;
WENN NICHT neu geändert, dann beginnen
WENN Name <> '' DANN BEGINNEN
WENN CBGStatementlineRec.Credit > 0, DANN BEGINNEN
...Ersatzcode 8
...
ENDE;
ENDE;
ENDE;
// Fügen Sie die folgende Zeile hinzu.
BIS TempBankAccount.NEXT = 0;
WENN NICHT neu geändert, dann beginnen
WENN Name <> '' DANN BEGINNEN
WENN CBGStatementlineRec.Credit > 0, DANN BEGINNEN
...Vorhandener Code 9
...
ENDE;
ENDE;
// Folgende Zeilen löschen.
WENN RecChanged, DANN BEGINNEN
CBGStatementlineRec.MODIFY(TRUE);
// Ende der gelöschten Zeilen.
ENDE;
ENDE;
...Ersatzcode 9
...
ENDE;
ENDE;
// Fügen Sie die folgenden Zeilen hinzu.
WENN RecChanged THEN
CBGStatementlineRec.MODIFY(TRUE);
ENDE;
VERFAHREN SplitAccountNumber@1000002(strBuf@1000001 : Text[250]);
VAR
AccNo@1000003 : Text[30];
BEGINNEN
IF LocalFunctionalityMgt.CheckBankAccNo(COPYSTR(strBuf,1,30),'',AccNo) THEN
AddPossibleBankAccount(AccNo);
ENDE;
VERFAHREN FindAccountnumber@1000004("Account Name"@1000001: Code[80];"Source Type"@1000002: Integer;VAR Sourcenumber@1000003: Code[20]) Found@1000000: Boolean;
BEGINNEN
TempRec.SETRANGE("Data Type",TempRec."Data Type"::Bankaccount);
TempRec.SETRANGE("Quellentyp","Quellentyp");
TempRec.SETRANGE(Word,"Kontoname");
WENN TempRec.FIND('-') DANN BEGINNEN
Quellennummer := TempRec."Quellennr.";
EXIT(TRUE);
// Ende der hinzugefügten Zeilen.
ENDE;
ENDE;
...Ändern Sie den Code in der SplitAccountnumber-Funktion im CBG Statement Reconciliation-Codeuint (11000006) wie folgt:
Vorhandener Code...
ENDE;
ENDE;
// Folgende Zeilen löschen.
VERFAHREN SplitAccountnumber@1000002(VAR strBuf@1000001 : Text[250]) result@1000000 : Boolean;
VAR
strHlpBuf@1000002 : Text[250];
AccNo@1000003 : Text[30];
BEGINNEN
Ergebnis := LocalFunctionalityMgt.CheckBankAccNo(COPYSTR(strBuf,1,30), '', AccNo);
WENN Ergebnis, DANN BEGINNEN
NumberOfPossibleBankAccounts := NumberOfPossibleBankAccounts + 1;
BankaccountNo[NumberOfPossibleBankAccounts] :=
LocalFunctionalityMgt.CharacterFilter(AccNo,'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ');
ENDE;
ENDE;
VERFAHREN SplitInvoicenumber@1000003(strBuf@1000000 : Text[250]);
BEGINNEN
ENDE;
VERFAHREN FindAccountnumber@1000004("Account Name"@1000001: Code[80];"Source Type"@1000002: Integer;VAR Sourcenumber@1000003: Code[20]) Found@1000000: Boolean;
BEGINNEN
TempRec.SETRANGE(TempRec."Data Type", TempRec."Data Type"::Bankaccount);
TempRec.SETRANGE(TempRec."Quellentyp", "Quellentyp");
TempRec.SETRANGE(TempRec.Word, "Kontoname");
WENN TempRec.FIND('-') DANN BEGINNEN
Quellennummer := TempRec."Quellennr.";
EXIT(TRUE);
ENDE;
ENDE;
// Ende der gelöschten Zeilen.
VERFAHREN FindNAC@1000005(Name@1000001: Code[80];Adresse@1000002: Code[80];Stadt@1000003: Code[80];"Quellentyp"@1000004: Ganzzahl;VAR QuellnummerGefunden@1000005: Code[20] ) gefunden@1000000 : Boolean;
VAR
NameResultTemp@1000006: TEMPORÄRER Datensatz 11000008;
...Ersatzcode
...
ENDE;
ENDE;
VERFAHREN FindNAC@1000005(Name@1000001: Code[80];Adresse@1000002: Code[80];Stadt@1000003: Code[80];"Quellentyp"@1000004: Ganzzahl;VAR QuellnummerGefunden@1000005: Code[20] ) gefunden@1000000 : Boolean;
VAR
NameResultTemp@1000006: TEMPORÄRER Datensatz 11000008;
...Ändern Sie den Code in der FindNAC-Funktion im CBG Statement Reconciliation-Codeuint (11000006) wie folgt:
Vorhandener Code 1...
AddressResultTemp.SETCURRENTKEY("Quellentyp", "Quellennr.");
CityResultTemp.SETCURRENTKEY("Quellentyp", "Quellennr.");
// Folgende Zeilen löschen.
TempRec.SETRANGE(TempRec."Quellentyp", "Quellentyp");
TempRec.SETRANGE(TempRec."Data Type", TempRec."Data Type"::Name);
TempRec.SETRANGE(TempRec.Word, COPYSTR(Name,1,20));
// Ende der gelöschten Zeilen.
IF TempRec.FIND('-') THEN
WIEDERHOLEN
NameResultTemp := TempRec;
...Ersatzcode 1
...
AddressResultTemp.SETCURRENTKEY("Quellentyp", "Quellennr.");
CityResultTemp.SETCURRENTKEY("Quellentyp", "Quellennr.");
// Fügen Sie die folgenden Zeilen hinzu.
TempRec.SETRANGE("Quellentyp","Quellentyp");
TempRec.SETRANGE("Data Type",TempRec."Data Type"::Name);
TempRec.SETRANGE(Word,COPYSTR(Name,1,20));
// Ende der hinzugefügten Zeilen.
IF TempRec.FIND('-') THEN
WIEDERHOLEN
NameResultTemp := TempRec;
...Vorhandener Code 2
...
NameResultTemp.INSERT;
BIS TempRec.NEXT = 0;
// Folgende Zeilen löschen.
TempRec.RESET();
TempRec.SETRANGE(TempRec."Quellentyp", "Quellentyp");
TempRec.SETRANGE(TempRec."Data Type", TempRec."Data Type"::Street);
TempRec.SETRANGE(TempRec.Word, COPYSTR(Address,1,20));
// Ende der gelöschten Zeilen.
IF TempRec.FIND('-') THEN
WIEDERHOLEN
NameResultTemp.SETRANGE("Source Type",TempRec."Source Type");
...Ersatzcode 2
...NameResultTemp.INSERT;
BIS TempRec.NEXT = 0;
// Fügen Sie die folgenden Zeilen hinzu.
TempRec.RESET;
TempRec.SETRANGE("Quellentyp","Quellentyp");
TempRec.SETRANGE("Data Type",TempRec."Data Type"::Street);
TempRec.SETRANGE(Word,COPYSTR(Address,1,20));
// Ende der hinzugefügten Zeilen.
IF TempRec.FIND('-') THEN
WIEDERHOLEN
NameResultTemp.SETRANGE("Source Type",TempRec."Source Type");
...Vorhandener Code 3
...
ENDE;
BIS TempRec.NEXT = 0;
// Folgende Zeilen löschen.
TempRec.RESET();
TempRec.SETRANGE(TempRec."Quellentyp", "Quellentyp");
TempRec.SETRANGE(TempRec."Data Type", TempRec."Data Type"::City);
TempRec.SETRANGE(TempRec.Word, COPYSTR(City,1,20));
// Ende der gelöschten Zeilen.
IF TempRec.FIND('-') THEN
WIEDERHOLEN
AddressResultTemp.SETRANGE("Source Type",TempRec."Source Type");
...Ersatzcode 3
...
ENDE;
BIS TempRec.NEXT = 0;
// Fügen Sie die folgenden Zeilen hinzu.
TempRec.RESET;
TempRec.SETRANGE("Quellentyp","Quellentyp");
TempRec.SETRANGE("Data Type",TempRec."Data Type"::City);
TempRec.SETRANGE(Word,COPYSTR(City,1,20));
// Ende der hinzugefügten Zeilen.
IF TempRec.FIND('-') THEN
WIEDERHOLEN
AddressResultTemp.SETRANGE("Source Type",TempRec."Source Type");
...Ändern Sie den Code in der MakeTempfile-Funktion im CBG Statement Reconciliation-Codeuint (11000006) wie folgt:
Vorhandener Code...
VAR
NumberRec@1000000 : Ganzzahl;
RecNumerator@1000001 : Ganzzahl;
// Folgende Zeile löschen.
BankAccountCharsToKeep@1000002 : Text[50];
BEGINNEN
BankAccountCharsToKeep := 'ABCDEFGHIJKLMNOPQRSTUVWYXZ0123456789';
TempRec.RESET();
...Ersatzcode
...
VAR
NumberRec@1000000 : Ganzzahl;
RecNumerator@1000001 : Ganzzahl;
BEGINNEN
BankAccountCharsToKeep := 'ABCDEFGHIJKLMNOPQRSTUVWYXZ0123456789';
TempRec.RESET();
...Ändern Sie den Code in der GetTransactionModeFilter-Funktion im CBG Statement Reconciliation-Codeuint (11000006) wie folgt:
Vorhandener Code 1...
LOKALE VERFAHREN GetTransactionModeFilter@1000012(VAR CBGStatementLineRec@1000000 : Record 11401;VAR strFilter@1000001 : Text[250];Account_Type@1000002 : Integer);
VAR
CBGStatementRec@1000003: Datensatz 11400;
// Folgende Zeile löschen.
BankAccountRec@1000004: Datensatz 270;
BEGINNEN
strFilter := '';
IF CBGStatementRec.GET(CBGStatementLineRec."Journal Template Name",CBGStatementLineRec."No.") THEN BEGIN
...Ersatzcode 1
...
LOKALE VERFAHREN GetTransactionModeFilter@1000012(VAR CBGStatementLineRec@1000000 : Record 11401;VAR strFilter@1000001 : Text[250];Account_Type@1000002 : Integer);
VAR
CBGStatementRec@1000003: Datensatz 11400;
BEGINNEN
strFilter := '';
IF CBGStatementRec.GET(CBGStatementLineRec."Journal Template Name",CBGStatementLineRec."No.") THEN BEGIN
...Vorhandener Code 2
...
strFilter := '';
IF CBGStatementRec.GET(CBGStatementLineRec."Journal Template Name",CBGStatementLineRec."No.") THEN BEGIN
TransactionModeRec.SETRANGE("Kontotyp", Account_Type);
// Folgende Zeile löschen.
TransactionModeRec.SETRANGE(TransactionModeRec."Unsere Bank", CBGStatementRec."Konto-Nr.");
WENN TransactionModeRec.FIND('-') DANN BEGIN
strFilter := '''''';
WIEDERHOLEN
...Ersatzcode 2
...
strFilter := '';
IF CBGStatementRec.GET(CBGStatementLineRec."Journal Template Name",CBGStatementLineRec."No.") THEN BEGIN
TransactionModeRec.SETRANGE("Kontotyp", Account_Type);
// Fügen Sie die folgende Zeile hinzu.
TransactionModeRec.SETRANGE("Our Bank",CBGStatementRec."Account No.");
WENN TransactionModeRec.FIND('-') DANN BEGIN
strFilter := '''''';
WIEDERHOLEN
...Ändern Sie den Code in der SetHideMessages-Funktion im CBG Statement Reconciliation-Codeuint (11000006) wie folgt:
Vorhandener Code...
HideMessages := HideMessages2;
ENDE;
// Folgende Zeilen löschen.
BEGINNEN
{
// Bankschriften übereinstimmen, automatisch boekstuk(regels) vereffenen
}
// Ende der gelöschten Zeilen.
ENDE.
}
}
...Ersatzcode
...
HideMessages := HideMessages2;
ENDE;
// Fügen Sie die folgenden Zeilen hinzu.
LOKALES VERFAHREN AddPossibleBankAccount@1000018(AccountNumber@1000000 : Text[30]);
BEGINNEN
TempBankAccount.INIT;
TempBankAccount.VALIDATE(TempBankAccount."No.",FORMAT(TempBankAccount.COUNT + 1));
TempBankAccount.IBAN := LocalFunctionalityMgt.CharacterFilter(AccountNumber,BankAccountCharsToKeep);
TempBankAccount.INSERT;
ENDE;
BEGINNEN
// Ende der hinzugefügten Zeilen.
ENDE.
}
}
...
Voraussetzungen
Um diesen Hotfix anwenden zu können, muss eines der folgenden Produkte installiert sein:
Die niederländische Version von Microsoft Dynamics NAV 2009 R2
Die niederländische Version von Microsoft Dynamics NAV 2009 SP1
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