Objawy
Funkcjonalność płatności elektronicznych zapewnia możliwość, w celu eksportowania płatności elektronicznych z arkusza i weksli (cartera) (zlecenia płatności) w hiszpańskiej wersji systemu Microsoft Dynamics NAV 2009. Tylko wywóz z weksli (cartera) za pomocą polecenia zapłaty jest możliwe przy użyciu SEPA (XML). Powinny mieć możliwość eksportowania SEPA z arkusza dla kredytu Transfer (CT) również. Wykonaj kroki opisane w sekcji zmiany kodu , aby rozwiązać ten problem. Ten problem występuje w następujących produktach:
-
W wersji hiszpańskiej dla systemu Microsoft Dynamics NAV 2009 R2
-
W wersji hiszpańskiej dla dodatku SP1 dla programu Microsoft Dynamics NAV 2009
Rozwiązanie
Informacje o poprawce
Obsługiwana poprawka jest obecnie udostępniana przez firmę Microsoft. Jednak to jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Zastosuj ją tylko w systemach, w których występuje ten problem. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następny dodatek service pack dla systemu Microsoft Dynamics NAV 2009 lub następną wersję systemu Microsoft Dynamics NAV, zawierający tę poprawkę.
Uwaga W wyjątkowych przypadkach opłaty, telefonujący do pomocy technicznej mogą zostać anulowane, jeśli pomocy technicznej dla systemu Microsoft Dynamics i produktów powiązanych Określa, że określonej aktualizacji, można rozwiązać swój problem. Koszty obsługi zwykłych zastosuje się do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej aktualizacji.Informacje dotyczące instalacji
Firma Microsoft podaje przykłady programowania wyłącznie, bez jakichkolwiek gwarancji wyrażonych wprost lub domyślnie. To obejmuje, ale nie jest ograniczona, ustawowej rękojmi co do przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że użytkownik zna demonstrowany język programowania oraz narzędzia, które są używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu, jak działa określona procedura. Nie będą jednak modyfikować tych przykładów ani dodawać funkcjonalności i konstruować procedur w celu zaspokojenia określonych potrzeb użytkownika.
Uwaga Przed zainstalowaniem tej poprawki należy zweryfikować, że wszyscy użytkownicy klienta systemu Microsoft Dynamics NAV są wylogowani systemu. Obejmuje to usług systemu Microsoft Dynamics NAV aplikacji serwera (NAS). Powinny być użytkownika klienta, który jest zalogowany w momencie wdrożyć tę poprawkę. Aby wdrożyć tę poprawkę, musi mieć licencję deweloperską. Firma Microsoft zaleca, aby do konta użytkownika w oknie identyfikatorów logowania systemu Windows lub w oknie identyfikatorów logowania bazy danych być przypisany identyfikator roli "SUPER". Jeśli konto użytkownika nie można przypisać Identyfikatora roli "SUPER", należy sprawdzić, czy konto użytkownika ma następujące uprawnienia:-
Uprawnienie Modyfikacja dla obiektu, który będzie zmieniany.
-
Uprawnienie Execute obiektu 5210 identyfikator obiektu systemu i 9015 identyfikator obiektu systemu
obiekt.
Uwaga Nie trzeba mieć prawa do magazynów danych, chyba że konieczne jest przeprowadzenie naprawy danych.
Zmiany kodu
Uwaga Zawsze test poprawki kodu w kontrolowanym środowisku przed zastosowaniem poprawki na komputerach produkcyjnych.
Aby rozwiązać ten problem, wykonaj następujące kroki:-
Zmień kod w formantach w formularzu Arkusz płatności (256) w następujący sposób:
Istniejący kod 1... OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName); ShowShortcutDimCode(ShortcutDimCode); END; } { 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10; ...Kod zastępczy 1
... OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName); ShowShortcutDimCode(ShortcutDimCode); // Add the following line. CheckRecipientBankAccount; // End of the added line. END; } { 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10; ...Istniejący kod 2
... SourceExpr="Reason Code" }
{ 70 ;Label ;0 ;0 ;0 ;0 ;ParentControl=69; InColumnHeading=Yes } { 24 ;Frame ;220 ;6160 ;16060;1430 ;HorzGlue=Both; VertGlue=Bottom; ShowCaption=No } ...Kod zastępczy 2
... SourceExpr="Reason Code" }
{ 70 ;Label ;0 ;0 ;0 ;0 ;ParentControl=69; InColumnHeading=Yes } // Add the following lines. { 1100012;TextBox ;71517;1100 ;1700 ;440 ;ParentControl=1; InColumn=Yes; SourceExpr="Recipient Bank Account" } { 1100013;Label ;0 ;0 ;0 ;0 ;ParentControl=1100012; InColumnHeading=Yes } // End of the added lines. { 24 ;Frame ;220 ;6160 ;16060;1430 ;HorzGlue=Both; VertGlue=Bottom; ShowCaption=No } ...Istniejący kod 3
...CaptionML=ENU=Export;
OnPush=VAR Text1100000@1100000 : TextConst 'ENU=Nothing to export.'; BEGIN // es0006.begin GenJnlLine.RESET; ...Kod zastępczy 3
...CaptionML=ENU=Export;
OnPush=VAR Text1100000@1100000 : TextConst 'ENU=Nothing to export.'; // Add the following line. Selection@1100004 : Integer; // End of the added line. BEGIN // es0006.begin GenJnlLine.RESET; ...Istniejący kod 4
... GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");
IF NOT GenJnlLine.FIND('-') THEN ERROR(Text1100000); GenJnlLine.TESTFIELD("Elect. Pmts Exported",FALSE); REPORT.RUNMODAL(REPORT::"Export Electronic Payments",TRUE,FALSE,GenJnlLine); // es0006.end END; } ...Kod zastępczy 4
... GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");
IF NOT GenJnlLine.FIND('-') THEN ERROR(Text1100000); // Add the following lines. Selection := STRMENU(ExportFormatTypeTxt,2); CASE Selection OF 1: BEGIN IF ExportedPmtExist(GenJnlLine) THEN IF NOT CONFIRM(ExportAgainQst) THEN EXIT; CODEUNIT.RUN(CODEUNIT::"SEPA CT-Export File",GenJnlLine); END; 2: BEGIN // End of the added lines. GenJnlLine.TESTFIELD("Elect. Pmts Exported",FALSE); REPORT.RUNMODAL(REPORT::"Export Electronic Payments",TRUE,FALSE,GenJnlLine); // Add the following lines. END; END; // End of the added lines. // es0006.end END; } ...Istniejący kod 5
... // es0006.end
END; } { ID=65; CaptionML=ENU=Void Check; OnPush=BEGIN ...Kod zastępczy 5
... // es0006.end
END; } // Add the following lines. { ID=1100014; PushAction=RunObject; MenuLevel=1; CaptionML=ENU=Show Export File Errors; RunObject=Form 1228; RunFormLink=Journal Template Name=FIELD(Journal Template Name), Journal Batch Name=FIELD(Journal Batch Name) } // End of the added lines. { ID=65; CaptionML=ENU=Void Check; OnPush=BEGIN ... -
Zmień kod w zmiennych globalnych w formularzu Arkusz płatności (256) w następujący sposób:
Istniejący kod...ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018 : ARRAY [8] OF Code[20]; OpenedFromBatch@1019 : Boolean; LOCAL PROCEDURE UpdateBalance@1(); BEGIN ...Kod zastępczy
... ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018 : ARRAY [8] OF Code[20]; OpenedFromBatch@1019 : Boolean; // Add the following lines. ExportFormatTypeTxt@1100001 : TextConst 'ENU=SEPA,N34.1'; ExportAgainQst@1100000 : TextConst 'ENU=One or more of the selected lines have already been exported. Do you want to export again?'; // End of the added lines. LOCAL PROCEDURE UpdateBalance@1(); BEGIN ... -
Zmień kod w funkcji ExportedPmtExist w formularzu Arkusz płatności (256) w następujący sposób:
Istniejący kod... CurrForm.TotalBalance.VISIBLE := ShowTotalBalance;
END; BEGIN { <changelog> ...Kod zastępczy
... CurrForm.TotalBalance.VISIBLE := ShowTotalBalance;
END; // Add the following lines. LOCAL PROCEDURE ExportedPmtExist@1100002(GenJournalLine@1100000 : Record 81) : Boolean; VAR GenJnlLine3@1100001 : Record 81; BEGIN GenJnlLine3.COPYFILTERS(GenJnlLine); GenJnlLine3.SETRANGE("Exported to Payment File",TRUE); EXIT(NOT GenJnlLine3.ISEMPTY); END; LOCAL PROCEDURE CheckRecipientBankAccount@1100000(); VAR VendorBankAccount@1100000 : Record 288; CustomerBankAccount@1100001 : Record 287; BEGIN IF ("Account No." <> xRec."Account No.") THEN VALIDATE("Recipient Bank Account",''); END; // End of the added lines. BEGIN { <changelog> ... -
Zmień kod w oknie właściwości na stronie arkusza płatności (256) w następujący sposób:
Istniejący kod...END;
END; } { 1900000004;0 ;ActionContainer; ActionContainerType=ActionItems } { 40 ;1 ;ActionGroup; ...Kod zastępczy
... END;
END; } // Add the following lines. { 1100050 ;2 ;ActionGroup; CaptionML=ENU=Electronic Payments } { 1100051 ;3 ;Action ; CaptionML=ENU=Export; OnAction=VAR Text1100000@1100000 : TextConst 'ENU=Nothing to export.'; Selection@1100004 : Integer; BEGIN // es0006.begin GenJnlLine.RESET; GenJnlLine := Rec; GenJnlLine.SETRANGE("Journal Template Name","Journal Template Name"); GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name"); IF NOT GenJnlLine.FIND('-') THEN ERROR(Text1100000); Selection := STRMENU(ExportFormatTypeTxt,2); CASE Selection OF 1: BEGIN IF ExportedPmtExist(GenJnlLine) THEN IF NOT CONFIRM(ExportAgainQst) THEN EXIT; CODEUNIT.RUN(CODEUNIT::"SEPA CT-Export File",GenJnlLine); END; 2: BEGIN GenJnlLine.TESTFIELD("Elect. Pmts Exported",FALSE); REPORT.RUNMODAL(REPORT::"Export Electronic Payments",TRUE,FALSE,GenJnlLine); END; END; // es0006.end END; } { 1100052 ;3 ;Action ; CaptionML=ENU=Void; OnAction=VAR VoidElecPayments@1101100000 : Report 10722; BEGIN // es0006.begin GenJnlLine.RESET; GenJnlLine := Rec; GenJnlLine.SETRANGE("Journal Template Name","Journal Template Name"); GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name"); CLEAR(VoidElecPayments); VoidElecPayments.SETTABLEVIEW(GenJnlLine); VoidElecPayments.RUNMODAL; // es0006.end END; } { 1100014 ;3 ;Action ; CaptionML=ENU=Show Export File Errors; RunObject=Page 1228; RunFormLink=Journal Template Name=FIELD(Journal Template Name),Journal Batch Name=FIELD(Journal Batch Name) } // End of the added lines. { 1900000004;0 ;ActionContainer; ActionContainerType=ActionItems } { 40 ;1 ;ActionGroup; ... -
Zmień kod w formantach na stronie arkusza płatności (256) w następujący sposób:
Istniejący kod 1...OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName); ShowShortcutDimCode(ShortcutDimCode); END; } ...Kod zastępczy 1
...OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName); ShowShortcutDimCode(ShortcutDimCode); // Add the following line. CheckRecipientBankAccount; // End of the added line. END; } ...Istniejący kod 2
...SourceExpr="Reason Code";
Visible=FALSE } { 24 ;1 ;Group } { 1903561801;2;Group ; ...Kod zastępczy 2
...SourceExpr="Reason Code";
Visible=FALSE } // Add the following lines. { 1100012;2;Field ; SourceExpr="Recipient Bank Account" } // End of the added lines. { 24 ;1 ;Group } { 1903561801;2;Group ; ... -
Zmień kod w zmiennych globalnych na stronie arkusza płatności (256) w następujący sposób:
Istniejący kod...ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018 : ARRAY [8] OF Code[20]; OpenedFromBatch@1019 : Boolean; BalanceVisible@19073040 : Boolean INDATASET; TotalBalanceVisible@19063333 : Boolean INDATASET; ...Kod zastępczy
...ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018 : ARRAY [8] OF Code[20]; OpenedFromBatch@1019 : Boolean; // Add the following lines. ExportFormatTypeTxt@1100001 : TextConst 'ENU=SEPA,N34.1'; ExportAgainQst@1100000 : TextConst 'ENU=One or more of the selected lines have already been exported. Do you want to export again?'; // End of the added lines. BalanceVisible@19073040 : Boolean INDATASET; TotalBalanceVisible@19063333 : Boolean INDATASET; ... -
Zmień kod w funkcji ExportedPmtExist na stronie arkusza płatności (256) w następujący sposób:
Istniejący kod...TotalBalanceVisible := ShowTotalBalance;
END; LOCAL PROCEDURE CurrentJnlBatchNameOnAfterVali@19002411(); BEGIN CurrPage.SAVERECORD; ...Kod zastępczy
...TotalBalanceVisible := ShowTotalBalance;
END; // Add the following lines. LOCAL PROCEDURE ExportedPmtExist@1100002(GenJournalLine@1100000 : Record 81) : Boolean; VAR GenJnlLine3@1100001 : Record 81; BEGIN GenJnlLine3.COPYFILTERS(GenJnlLine); GenJnlLine3.SETRANGE("Exported to Payment File",TRUE); EXIT(NOT GenJnlLine3.ISEMPTY); END; LOCAL PROCEDURE CheckRecipientBankAccount@1100000(); VAR VendorBankAccount@1100000 : Record 288; CustomerBankAccount@1100001 : Record 287; BEGIN IF ("Account No." <> xRec."Account No.") THEN VALIDATE("Recipient Bank Account",''); END; // End of the added lines. LOCAL PROCEDURE CurrentJnlBatchNameOnAfterVali@19002411(); BEGIN CurrPage.SAVERECORD; ... -
Zmień kod w oknie właściwości w obiekcie xmlport pain.001.001.03 SEPA CT (1000) w następujący sposób:
Istniejący kod...ELEMENTS
{ { [{0EA1BA75-FB56-4C05-946C-A299E4809E84}]; ;Document ;Element ;Table ; SourceTable=Table81 } { [{596E5521-E230-4D9C-B0F7-DF29388F515B}];1 ;xmlns ;Attribute;Text ; VariableName=XMLNamespace } ...Kod zastępczy
... ELEMENTS
{ { [{0EA1BA75-FB56-4C05-946C-A299E4809E84}]; ;Document ;Element ;Table ; SourceTable=Table81; // Add the following line. MaxOccurs=Once } // End of the added line. { [{596E5521-E230-4D9C-B0F7-DF29388F515B}];1 ;xmlns ;Attribute;Text ; VariableName=XMLNamespace } ... -
Zmień kod w funkcji InitData w obiekcie xmlport pain.001.001.03 SEPA CT (1000) w następujący sposób:
Istniejący kod... PaymentGroupNo@1000 : Integer;
BEGIN SEPACTFillExportBuffer.FillExportBuffer("Gen. Journal Line",PaymentExportData); PaymentExportData.GetRemittanceTexts(TempPaymentExportRemittanceTxt); NoOfTransfers := FORMAT(PaymentExportData.COUNT); ...Kod zastępczy
...PaymentGroupNo@1000 : Integer;
BEGIN SEPACTFillExportBuffer.FillExportBuffer("Gen. Journal Line",PaymentExportData); // Add the following lines. "Gen. Journal Line".SETRANGE("Journal Template Name",''); "Gen. Journal Line".SETRANGE("Journal Batch Name",''); // End of the added lines. PaymentExportData.GetRemittanceTexts(TempPaymentExportRemittanceTxt); NoOfTransfers := FORMAT(PaymentExportData.COUNT); ...
Wymagania wstępne
Musi mieć jedną z następujących produktów, w celu zastosowania tej poprawki:
-
W wersji hiszpańskiej dla systemu Microsoft Dynamics NAV 2009 R2
-
W wersji hiszpańskiej dla dodatku SP1 dla programu Microsoft Dynamics NAV 2009
Informacje dotyczące usuwania
Nie można usunąć tej poprawki.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.
Uwaga Jest to artykuł " szybkiej publikacji" tworzony bezpośrednio przez organizację pomocy technicznej firmy Microsoft. Informacje zawarte w niniejszym dokumencie są dostarczane jako odpowiedź na pojawiające się problemy. W wyniku przyspieszonego udostępnienia, materiały te mogą zawierać błędy typograficzne i mogą być zmieniane w dowolnym czasie bez uprzedzenia. Zobacz Warunki użytkowaniadla innych względów.