Příznaky
Funkce elektronické platby poskytne možnost Export elektronických plateb z deníku a Cartera (platební příkazy) v španělská verze Microsoft Dynamics NAV 2009. Pouze vývozu od Cartera prostřednictvím platebního příkazu je možné pomocí SEPA (XML). Měli byste mít možnost exportu SEPA z deníku pro platební převod CT () také. Postupujte podle pokynů změny kódu sekce Chcete-li vyřešit tento problém. K tomuto problému dochází v následujících produktů:
-
Španělská verze Microsoft Dynamics NAV 2009 R2
-
Španělská verze Microsoft Dynamics NAV 2009 SP1
Řešení
Informace o opravě hotfix
Podporovaná oprava hotfix je nyní k dispozici od společnosti Microsoft. Však je určena pouze k odstranění problému popsaného v tomto článku. Použijte ji pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud jste závažně tento problém, doporučujeme počkat na další aktualizaci service pack produktu Microsoft Dynamics NAV 2009 nebo další verze produktu Microsoft Dynamics NAV, která obsahuje tuto opravu hotfix.
Poznámka: Ve zvláštních případech poplatky, které jsou třeba obvykle zaplatit za telefonní hovory mohou být stornovány, jestliže pracovník technické podpory společnosti Microsoft Dynamics a souvisejících produktů Určuje, že konkrétní aktualizace odstraní váš problém. Výdaje na technickou podporu použije dalších otázek a problémů, které nelze vyřešit konkrétní aktualizací.
Informace o instalaci
Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci bez žádné záruky výslovně uvedené nebo odvozené. To zahrnuje, ale není omezen pouze na předpokládané záruky obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že jste obeznámeni s programovacím jazykem, který je předmětem ukázky a s nástroji, které slouží k vytvoření a ladění skriptu. Pracovníci podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu. Nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků.
Poznámka: Před instalací této opravy hotfix ověřte, že všichni uživatelé klienta Microsoft Dynamics NAV odhlášeni systému. To zahrnuje služby Microsoft Dynamics NAV Application Server (NAS). Je třeba klienta pouze uživatel přihlášený při implementaci opravy hotfix.
Chcete-li implementovat tuto opravu hotfix, musí mít licenci vývojáře.
Doporučujeme, aby uživatelský účet v okně přihlášení systému Windows nebo v okně přihlášení databáze přidělí "SUPER" ID role. Pokud uživatelský účet nelze přiřadit ID role "SUPER", musíte ověřit, že uživatelský účet má následující oprávnění:
-
Změnit oprávnění pro objekt, který budete měnit.
-
Oprávnění ke spuštění pro System Object ID 5210 objekt a System Object ID 9015
objektu.
Poznámka: Nemáte práva k úložištím dat. Pokud nebudete provádět opravu dat.
Změny kódu
Poznámka: Vždy otestujte opravy kódu v kontrolovaném prostředí před instalací opravy v provozních počítačích.
Chcete-li vyřešit tento problém, postupujte takto:
-
Změňte kód v ovládacích prvcích ve formuláři Deník plateb (256) takto:
Existující kód 1... OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
ShowShortcutDimCode(ShortcutDimCode);
END;
}
{ 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;
...Změněný kód 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;
...Existující kód 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 }
...Náhradní kód 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 }
...Existující kód 3
...CaptionML=ENU=Export;
OnPush=VAR
Text1100000@1100000 : TextConst 'ENU=Nothing to export.';
BEGIN
// es0006.begin
GenJnlLine.RESET;
...Změněný kód 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;
...Existující kód 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;
}
...Náhradní kód 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;
}
...Existující kód 5
... // es0006.end
END;
}
{ ID=65;
CaptionML=ENU=Void Check;
OnPush=BEGIN
...Změněný kód 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
... -
Změňte kód v globální proměnné ve formuláři Deník plateb (256) takto:
Existující kód...ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018 : ARRAY [8] OF Code[20];
OpenedFromBatch@1019 : Boolean;
LOCAL PROCEDURE UpdateBalance@1();
BEGIN
...Změněný kód
... 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
... -
Změňte kód ve funkci ExportedPmtExist ve formuláři Deník plateb (256) takto:
Existující kód... CurrForm.TotalBalance.VISIBLE := ShowTotalBalance;
END;
BEGIN
{
<changelog>
...Změněný kód
... 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>
... -
Změňte kód v dialogovém okně Vlastnosti na stránce deník plateb (256) takto:
Existující kód...END;
END;
}
{ 1900000004;0 ;ActionContainer;
ActionContainerType=ActionItems }
{ 40 ;1 ;ActionGroup;
...Změněný kód
... 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;
... -
Změňte kód v ovládacích prvcích na stránku Deník plateb (256) takto:
Existující kód 1...OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
ShowShortcutDimCode(ShortcutDimCode);
END;
}
...Změněný kód 1
...OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
ShowShortcutDimCode(ShortcutDimCode);
// Add the following line.
CheckRecipientBankAccount;
// End of the added line.
END;
}
...Existující kód 2
...SourceExpr="Reason Code";
Visible=FALSE }
{ 24 ;1 ;Group }
{ 1903561801;2;Group ;
...Náhradní kód 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 ;
... -
Změňte kód v globální proměnné na stránce deník plateb (256) takto:
Existující kód...ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018 : ARRAY [8] OF Code[20];
OpenedFromBatch@1019 : Boolean;
BalanceVisible@19073040 : Boolean INDATASET;
TotalBalanceVisible@19063333 : Boolean INDATASET;
...Změněný kód
...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;
... -
Změňte kód ve funkci ExportedPmtExist na stránce deník plateb (256) takto:
Existující kód...TotalBalanceVisible := ShowTotalBalance;
END;
LOCAL PROCEDURE CurrentJnlBatchNameOnAfterVali@19002411();
BEGIN
CurrPage.SAVERECORD;
...Změněný kód
...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;
... -
Změňte kód v okně Vlastnosti v objektu xmlport pain.001.001.03 SEPA CT (1000) takto:
Existující kód...ELEMENTS
{
{ [{0EA1BA75-FB56-4C05-946C-A299E4809E84}]; ;Document ;Element ;Table ;
SourceTable=Table81 }
{ [{596E5521-E230-4D9C-B0F7-DF29388F515B}];1 ;xmlns ;Attribute;Text ;
VariableName=XMLNamespace }
...Změněný kód
... 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 }
... -
Změňte kód ve funkci InitData v objektu xmlport pain.001.001.03 SEPA CT (1000) takto:
Existující kód... PaymentGroupNo@1000 : Integer;
BEGIN
SEPACTFillExportBuffer.FillExportBuffer("Gen. Journal Line",PaymentExportData);
PaymentExportData.GetRemittanceTexts(TempPaymentExportRemittanceTxt);
NoOfTransfers := FORMAT(PaymentExportData.COUNT);
...Změněný kód
...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);
...
Předpoklady
Musí mít jednu z následujících produktů nainstalovali tuto opravu hotfix:
-
Španělská verze Microsoft Dynamics NAV 2009 R2
-
Španělská verze Microsoft Dynamics NAV 2009 SP1
Informace o odinstalaci
Tato oprava hotfix nelze odebrat.
Stav
Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".
Poznámka: Toto je článek "Rychlé publikování" vytvářen přímo v rámci odborné pomoci společnosti Microsoft. Informace obsažené v tomto dokumentu jsou poskytovány tak, jak je v reakci na vznikající problémy. V důsledku rychlosti v jeho zpřístupnění materiály, mohou obsahovat typografické chyby a mohou být upraveny kdykoli bez předchozího upozornění. Viz Podmínky použitípro další aspekty.