Simptome
Funcționalitatea de plăţi electronice oferă posibilitatea să exportați plăţi electronice din jurnal și din cory (plată comenzi) în versiunea spaniolă de Microsoft Dynamics NAV 2009. Numai exportul din cory printr-o ordine de plată este posibilă utilizând SEPA (XML). Trebuie să aveți posibilitatea de a exporta SEPA din jurnal pentru Transfer Credit (CT), de asemenea. Urmați pașii din secțiunea modificări de cod pentru a rezolva această problemă. Această problemă se produce în următoarele produse:
- 
              Versiunea spaniolă de Microsoft Dynamics NAV 2009 R2 
- 
              Versiunea în limba spaniolă Microsoft Dynamics NAV 2009 SP1 
Rezolvare
Informații despre remedierea rapidă
Un hotfix acceptat este acum disponibil de la Microsoft. Cu toate acestea, acesta este destinat numai corectării problemei descrise în acest articol. Aplicați-o numai pe sistemele care întâmpină această problemă anume. Această remediere rapidă poate să necesite testare suplimentară. De aceea, dacă nu sunteți grav afectat de această problemă, vă recomandăm să așteptați următorul pachet service pack Microsoft Dynamics NAV 2009 sau versiunea Microsoft Dynamics NAV următoare, care conține această remediere rapidă.Notă În cazuri speciale, costurile implicate de obicei pentru asistență apeluri pot fi anulate dacă un specialist în asistență tehnică pentru Microsoft Dynamics și produse asociate stabilește că o anumită actualizare va rezolva problema. Se vor aplica costurile uzuale de asistenţă pentru întrebări suplimentare de asistenţă şi pentru probleme ce nu fac obiectul actualizării în cauză.
Informaţii despre instalare
Microsoft furnizează exemple de programare scop ilustrativ, fără nicio garanţie explicită sau implicită. Aceasta include, dar nu se limitează la, garanţiile implicite de vandabilitate sau de potrivire pentru un anumit scop. Acest articol presupune că sunteţi familiarizat cu limbajul de programare care este prezentat şi cu instrumentele utilizate pentru a crea şi a depana proceduri. Specialiștii în asistență Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri. Cu toate acestea, nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară construi proceduri pentru a răspunde cerințelor dvs. specifice.Notă Înainte de a instala această remediere rapidă, verificați dacă toți utilizatorii de client Microsoft Dynamics NAV sunt log off sistemul. Aceasta include servicii Microsoft Dynamics NAV Application Server (NAS). Ar trebui să fie singurul client utilizatorului care este conectat când implementați această remediere rapidă.Pentru a implementa această remediere rapidă, trebuie să aveți o licență de dezvoltare.Vă recomandăm că contul de utilizator în fereastra Conectări Windows sau în fereastra Conectări bază de date se atribuie "SUPER" rolul ID-ul. În cazul în care contul de utilizator nu poate fi atribuit ID-ul "SUPER" rolul, trebuie să verificați că contul de utilizator are următoarele permisiuni:
- 
                  Modify permisiunea pentru obiectul care se va schimba. 
- 
                  Permisiunea de executare pentru obiectul sistem obiect ID 5210 și sistem obiect ID 9015obiect. 
Notă Nu trebuie să aveți drepturi de la magazine de date decât dacă trebuie să efectuați o reparare de date.
Modificări de cod
Notă Întotdeauna test cod remediază într-un mediu controlat înainte de a aplica remedieri pentru computerele de producție.Pentru a rezolva această problemă, urmați acești pași:
- 
                  Modificați codul din controalele în formularul de jurnal de plată (256) după cum urmează:Cod existent 1 ... OnValidate=BEGIN GenJnlManagement.GetAccounts(Rec,AccName,BalAccName); ShowShortcutDimCode(ShortcutDimCode); END; } { 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;... Înlocuirea cod 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;... Cod existent 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 }... Înlocuirea cod 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 }... Cod existent 3 ...CaptionML=ENU=Export; OnPush=VAR Text1100000@1100000 : TextConst 'ENU=Nothing to export.'; BEGIN // es0006.begin GenJnlLine.RESET;... Înlocuirea cod 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;... Cod existent 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; }...Înlocuirea cod 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 OF1:BEGINIF ExportedPmtExist(GenJnlLine) THENIF NOT CONFIRM(ExportAgainQst) THENEXIT;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; }...Cod existent 5 ... // es0006.end END; } { ID=65; CaptionML=ENU=Void Check; OnPush=BEGIN... Înlocuirea cod 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... 
- 
                  Modificați codul din variabile globale în formularul de jurnal de plată (256) după cum urmează:Cod existent ...ShowTotalBalance@1017 : Boolean; ShortcutDimCode@1018 : ARRAY [8] OF Code[20]; OpenedFromBatch@1019 : Boolean; LOCAL PROCEDURE UpdateBalance@1(); BEGIN... Cod de înlocuire ... 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... 
- 
                  Modificați codul din ExportedPmtExist function în formularul de jurnal de plată (256) după cum urmează:Cod existent ... CurrForm.TotalBalance.VISIBLE := ShowTotalBalance; END; BEGIN { <changelog>... Cod de înlocuire ... CurrForm.TotalBalance.VISIBLE := ShowTotalBalance; END;// Add the following lines.LOCAL PROCEDURE ExportedPmtExist@1100002(GenJournalLine@1100000 : Record 81) : Boolean;VARGenJnlLine3@1100001 : Record 81;BEGINGenJnlLine3.COPYFILTERS(GenJnlLine);GenJnlLine3.SETRANGE("Exported to Payment File",TRUE);EXIT(NOT GenJnlLine3.ISEMPTY);END;LOCAL PROCEDURE CheckRecipientBankAccount@1100000();VARVendorBankAccount@1100000 : Record 288;CustomerBankAccount@1100001 : Record 287;BEGINIF ("Account No." <> xRec."Account No.") THENVALIDATE("Recipient Bank Account",'');END;// End of the added lines. BEGIN { <changelog>... 
- 
                  Modificați codul din proprietățile în pagina de jurnal de plată (256) după cum urmează:Cod existent ...END; END; } { 1900000004;0 ;ActionContainer; ActionContainerType=ActionItems } { 40 ;1 ;ActionGroup;... Cod de înlocuire ... END; END; }// Add the following lines.{ 1100050 ;2 ;ActionGroup;CaptionML=ENU=Electronic Payments }{ 1100051 ;3 ;Action ;CaptionML=ENU=Export;OnAction=VARText1100000@1100000 : TextConst 'ENU=Nothing to export.';Selection@1100004 : Integer;BEGIN// es0006.beginGenJnlLine.RESET;GenJnlLine := Rec;GenJnlLine.SETRANGE("Journal Template Name","Journal Template Name");GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");IF NOT GenJnlLine.FIND('-') THENERROR(Text1100000);Selection := STRMENU(ExportFormatTypeTxt,2);CASE Selection OF1:BEGINIF ExportedPmtExist(GenJnlLine) THENIF NOT CONFIRM(ExportAgainQst) THENEXIT;CODEUNIT.RUN(CODEUNIT::"SEPA CT-Export File",GenJnlLine);END;2:BEGINGenJnlLine.TESTFIELD("Elect. Pmts Exported",FALSE);REPORT.RUNMODAL(REPORT::"Export Electronic Payments",TRUE,FALSE,GenJnlLine);END;END;// es0006.endEND;}{ 1100052 ;3 ;Action ;CaptionML=ENU=Void;OnAction=VARVoidElecPayments@1101100000 : Report 10722;BEGIN// es0006.beginGenJnlLine.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.endEND;}{ 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;... 
- 
                  Modificați codul din controale în pagina de jurnal de plată (256) după cum urmează:Cod existent 1 ...OnValidate=BEGIN GenJnlManagement.GetAccounts(Rec,AccName,BalAccName); ShowShortcutDimCode(ShortcutDimCode); END; }... Înlocuirea cod 1 ...OnValidate=BEGIN GenJnlManagement.GetAccounts(Rec,AccName,BalAccName); ShowShortcutDimCode(ShortcutDimCode);// Add the following line.CheckRecipientBankAccount;// End of the added line. END; }... Cod existent 2 ...SourceExpr="Reason Code"; Visible=FALSE } { 24 ;1 ;Group } { 1903561801;2;Group ;... Înlocuirea cod 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 ;... 
- 
                  Modificați codul din variabile globale în pagina de jurnal de plată (256) după cum urmează:Cod existent ...ShowTotalBalance@1017 : Boolean; ShortcutDimCode@1018 : ARRAY [8] OF Code[20]; OpenedFromBatch@1019 : Boolean; BalanceVisible@19073040 : Boolean INDATASET; TotalBalanceVisible@19063333 : Boolean INDATASET;... Cod de înlocuire ...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;... 
- 
                  Modificați codul din ExportedPmtExist function în pagina de jurnal de plată (256) după cum urmează:Cod existent ...TotalBalanceVisible := ShowTotalBalance; END; LOCAL PROCEDURE CurrentJnlBatchNameOnAfterVali@19002411(); BEGIN CurrPage.SAVERECORD;... Cod de înlocuire ...TotalBalanceVisible := ShowTotalBalance; END;// Add the following lines.LOCAL PROCEDURE ExportedPmtExist@1100002(GenJournalLine@1100000 : Record 81) : Boolean;VARGenJnlLine3@1100001 : Record 81;BEGINGenJnlLine3.COPYFILTERS(GenJnlLine);GenJnlLine3.SETRANGE("Exported to Payment File",TRUE);EXIT(NOT GenJnlLine3.ISEMPTY);END;LOCAL PROCEDURE CheckRecipientBankAccount@1100000();VARVendorBankAccount@1100000 : Record 288;CustomerBankAccount@1100001 : Record 287;BEGINIF ("Account No." <> xRec."Account No.") THENVALIDATE("Recipient Bank Account",'');END;// End of the added lines.LOCAL PROCEDURE CurrentJnlBatchNameOnAfterVali@19002411(); BEGIN CurrPage.SAVERECORD;... 
- 
                  Modificați codul din proprietățile în SEPA CT pain.001.001.03 xmlport (1000) după cum urmează:Cod existent ...ELEMENTS { { [{0EA1BA75-FB56-4C05-946C-A299E4809E84}]; ;Document ;Element ;Table ; SourceTable=Table81 } { [{596E5521-E230-4D9C-B0F7-DF29388F515B}];1 ;xmlns ;Attribute;Text ; VariableName=XMLNamespace }... Cod de înlocuire ... 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 }... 
- 
                  Modificați codul din InitData function în SEPA CT pain.001.001.03 xmlport (1000) după cum urmează:Cod existent ... PaymentGroupNo@1000 : Integer; BEGIN SEPACTFillExportBuffer.FillExportBuffer("Gen. Journal Line",PaymentExportData); PaymentExportData.GetRemittanceTexts(TempPaymentExportRemittanceTxt); NoOfTransfers := FORMAT(PaymentExportData.COUNT);... Cod de înlocuire ...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);... 
Cerințe preliminare
Trebuie să aveți unul dintre următoarele produse instalate pentru a aplica această remediere rapidă:
- 
                  Versiunea spaniolă de Microsoft Dynamics NAV 2009 R2 
- 
                  Versiunea în limba spaniolă Microsoft Dynamics NAV 2009 SP1 
Eliminare informaţii
Nu se poate elimina această remediere rapidă.
Stare
Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".
Notă Acesta este un articol "rapid publicat" creat direct în cadrul organizației de asistență Microsoft. Informațiile conținute în acest document sunt furnizate ca răspuns la problemele care apar. Ca rezultat al vitezei în a-l face disponibil, materialele pot include erori tipografice și pot fi revizuite în orice moment, fără notificare. Consultați Termenii de utilizarepentru alte considerații.
 
                         
				 
				