Συμπτώματα
Τη λειτουργία ηλεκτρονικών πληρωμών παρέχει τη δυνατότητα να εξαγάγετε ηλεκτρονικών πληρωμών από εγγραφές και από Cartera (εντολές πληρωμής) στην ισπανική έκδοση του Microsoft Dynamics NAV 2009. Μόνο της εξαγωγής από Cartera μέσω εντάλματος πληρωμής είναι δυνατή με χρήση του SEPA (XML). Θα πρέπει να έχετε τη δυνατότητα να εξαγάγετε SEPA από εγγραφές για πιστωτικό μεταφοράς (CT) επίσης. Ακολουθήστε τα βήματα της ενότητας οι αλλαγές κώδικα για να επιλύσετε αυτό το ζήτημα. Αυτό το ζήτημα παρουσιάζεται στα ακόλουθα προϊόντα:
-
Για την ισπανική έκδοση του Microsoft Dynamics NAV 2009 R2
-
Την ισπανική έκδοση του Microsoft Dynamics NAV 2009 SP1
Προτεινόμενη αντιμετώπιση
Πληροφορίες άμεσης επιδιόρθωσης
Μια υποστηριζόμενη άμεση επιδιόρθωση είναι τώρα διαθέσιμη από τη Microsoft. Ωστόσο, προορίζεται μόνο για τη διόρθωση του ζητήματος που περιγράφεται σε αυτό το άρθρο. Eφαρμόστε τη μόνο σε συστήματα που αντιμετωπίζουν το συγκεκριμένο ζήτημα. Αυτή η επείγουσα επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, σας συνιστούμε να περιμένετε έως το επόμενο service pack του Microsoft Dynamics NAV 2009 ή την επόμενη έκδοση του Microsoft Dynamics NAV που περιέχει αυτήν την επείγουσα επιδιόρθωση.
Σημείωση Σε ειδικές περιπτώσεις, οι χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης ενδέχεται να να ακυρωθούν, εάν έναν επαγγελματία τεχνικής υποστήριξης για το Microsoft Dynamics και σχετικά προϊόντα προσδιορίζει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημά σας. Οι συνηθισμένες χρεώσεις υποστήριξης θα ισχύει για πρόσθετες ερωτήσεις υποστήριξης και για θέματα που δεν αφορούν τη συγκεκριμένη ενημερωμένη έκδοση.
Πληροφορίες εγκατάστασης
Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για επεξήγηση, χωρίς καμία εγγύηση, είτε σιωπηρή είτε ρητή. Αυτό περιλαμβάνει, ενδεικτικά, τις σιωπηρές εγγυήσεις εμπορευσιμότητας ή καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που παρουσιάζεται, καθώς και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία διαδικασιών και τον εντοπισμό σφαλμάτων σε αυτές. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να σας εξηγήσουν τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας. Ωστόσο, δεν θα τροποποιήσουν αυτά τα παραδείγματα για να παράσχουν πρόσθετες λειτουργίες, ούτε θα δημιουργήσουν διαδικασίες για να καλύψουν τις συγκεκριμένες απαιτήσεις σας.
Σημείωση Πριν να εγκαταστήσετε αυτήν την επείγουσα επιδιόρθωση, επιβεβαιώστε ότι όλοι οι χρήστες προγράμματος-πελάτη Microsoft Dynamics NAV έχουν αποσυνδεθεί από το σύστημα. Αυτό περιλαμβάνει υπηρεσίες Microsoft Dynamics NAV εφαρμογών διακομιστή (NAS). Θα πρέπει να το πρόγραμμα-πελάτη μόνο χρήστη που είναι συνδεδεμένος κατά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης.
Για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση, πρέπει να έχετε μια άδεια χρήσης του προγραμματιστή.
Συνιστούμε ότι ο λογαριασμός χρήστη στο παράθυρο "Συνδέσεις Windows" ή στο παράθυρο συνδέσεις βάσης δεδομένων να αντιστοιχιστεί το "SUPER" αναγνωριστικό ρόλου. Εάν ο λογαριασμός χρήστη δεν μπορεί να αντιστοιχιστεί το Αναγνωριστικό ρόλου "SUPER", πρέπει να επαληθεύσετε ότι ο λογαριασμός χρήστη έχει τα ακόλουθα δικαιώματα:
-
Το δικαίωμα "Τροποποίηση" για το αντικείμενο που θα αλλάξετε.
-
Τα δικαιώματα εκτέλεσης για το αντικείμενο 5210 Αναγνωριστικό αντικειμένου συστήματος και για την 9015 Αναγνωριστικό αντικειμένου συστήματος
το αντικείμενο.
Σημείωση Δεν πρέπει να έχετε δικαιώματα για τους χώρους αποθήκευσης δεδομένων, εκτός και αν έχετε να εκτελέσετε επιδιόρθωση δεδομένων.
Αλλαγές κώδικα
Σημείωση Πάντα δοκιμή κώδικα διορθώνει σε ελεγχόμενο περιβάλλον πριν να εφαρμόσετε τις ενημερώσεις κώδικα στους υπολογιστές παραγωγής.
Για να επιλύσετε αυτό το ζήτημα, ακολουθήστε τα εξής βήματα:
-
Αλλάξτε τον κώδικα στα στοιχεία ελέγχου στη φόρμα εγγραφές πληρωμών (256) ως εξής:
Υπάρχοντα κωδικό 1... OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
ShowShortcutDimCode(ShortcutDimCode);
END;
}
{ 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;
...Αντικατάσταση κώδικα 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;
...Υπάρχοντα κώδικα 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 }
...Αντικατάσταση κώδικα 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 }
...Υπάρχοντα κώδικα 3
...CaptionML=ENU=Export;
OnPush=VAR
Text1100000@1100000 : TextConst 'ENU=Nothing to export.';
BEGIN
// es0006.begin
GenJnlLine.RESET;
...Αντικατάσταση κώδικα 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;
...Υπάρχοντα κωδικό 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;
}
...Αντικατάσταση κώδικα 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;
}
...Υπάρχοντα κώδικα 5
... // es0006.end
END;
}
{ ID=65;
CaptionML=ENU=Void Check;
OnPush=BEGIN
...Αντικατάσταση κώδικα 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
... -
Να αλλάξετε τον κωδικό σε καθολικές μεταβλητές στη φόρμα εγγραφές πληρωμών (256) ως εξής:
Υπάρχοντα κώδικα...ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018 : ARRAY [8] OF Code[20];
OpenedFromBatch@1019 : Boolean;
LOCAL PROCEDURE UpdateBalance@1();
BEGIN
...Αντικατάσταση κώδικα
... 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
... -
Αλλάξτε τον κωδικό στη συνάρτηση ExportedPmtExist στη φόρμα εγγραφές πληρωμών (256) ως εξής:
Υπάρχοντα κώδικα... CurrForm.TotalBalance.VISIBLE := ShowTotalBalance;
END;
BEGIN
{
<changelog>
...Αντικατάσταση κώδικα
... 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>
... -
Αλλάξτε τον κωδικό στις ιδιότητες στη σελίδα "Εγγραφές Πληρωμών" (256) ως εξής:
Υπάρχοντα κώδικα...END;
END;
}
{ 1900000004;0 ;ActionContainer;
ActionContainerType=ActionItems }
{ 40 ;1 ;ActionGroup;
...Αντικατάσταση κώδικα
... 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;
... -
Αλλάξτε τον κώδικα στα στοιχεία ελέγχου στη σελίδα "Εγγραφές Πληρωμών" (256) ως εξής:
Υπάρχοντα κωδικό 1...OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
ShowShortcutDimCode(ShortcutDimCode);
END;
}
...Αντικατάσταση κώδικα 1
...OnValidate=BEGIN
GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
ShowShortcutDimCode(ShortcutDimCode);
// Add the following line.
CheckRecipientBankAccount;
// End of the added line.
END;
}
...Υπάρχοντα κώδικα 2
...SourceExpr="Reason Code";
Visible=FALSE }
{ 24 ;1 ;Group }
{ 1903561801;2;Group ;
...Αντικατάσταση κώδικα 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 ;
... -
Να αλλάξετε τον κωδικό σε καθολικές μεταβλητές στη σελίδα "Εγγραφές Πληρωμών" (256) ως εξής:
Υπάρχοντα κώδικα...ShowTotalBalance@1017 : Boolean;
ShortcutDimCode@1018 : ARRAY [8] OF Code[20];
OpenedFromBatch@1019 : Boolean;
BalanceVisible@19073040 : Boolean INDATASET;
TotalBalanceVisible@19063333 : Boolean INDATASET;
...Αντικατάσταση κώδικα
...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;
... -
Αλλάξτε τον κωδικό στη συνάρτηση ExportedPmtExist στη σελίδα "Εγγραφές Πληρωμών" (256) ως εξής:
Υπάρχοντα κώδικα...TotalBalanceVisible := ShowTotalBalance;
END;
LOCAL PROCEDURE CurrentJnlBatchNameOnAfterVali@19002411();
BEGIN
CurrPage.SAVERECORD;
...Αντικατάσταση κώδικα
...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;
... -
Αλλάξτε τον κωδικό στις ιδιότητες στο to xmlport pain.001.001.03 SEPA CT (1000) ως εξής:
Υπάρχοντα κώδικα...ELEMENTS
{
{ [{0EA1BA75-FB56-4C05-946C-A299E4809E84}]; ;Document ;Element ;Table ;
SourceTable=Table81 }
{ [{596E5521-E230-4D9C-B0F7-DF29388F515B}];1 ;xmlns ;Attribute;Text ;
VariableName=XMLNamespace }
...Αντικατάσταση κώδικα
... 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 }
... -
Αλλάξτε τον κωδικό στη συνάρτηση InitData στο to xmlport pain.001.001.03 SEPA CT (1000) ως εξής:
Υπάρχοντα κώδικα... PaymentGroupNo@1000 : Integer;
BEGIN
SEPACTFillExportBuffer.FillExportBuffer("Gen. Journal Line",PaymentExportData);
PaymentExportData.GetRemittanceTexts(TempPaymentExportRemittanceTxt);
NoOfTransfers := FORMAT(PaymentExportData.COUNT);
...Αντικατάσταση κώδικα
...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);
...
Προϋποθέσεις
Πρέπει να έχετε ένα από τα ακόλουθα προϊόντα, για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση:
-
Για την ισπανική έκδοση του Microsoft Dynamics NAV 2009 R2
-
Την ισπανική έκδοση του Microsoft Dynamics NAV 2009 SP1
Πληροφορίες κατάργησης
Δεν μπορείτε να καταργήσετε αυτήν την επείγουσα επιδιόρθωση.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Σημείωση Αυτό είναι ένα άρθρο "ΤΑΧΕΙΑΣ ΔΗΜΟΣΙΕΥΣΗΣ" που έχει δημιουργηθεί απευθείας από την εταιρεία υποστήριξης της Microsoft. Οι πληροφορίες που περιέχονται στο παρόν έγγραφο παρέχονται ως έχουν, ως απάντηση σε ζητήματα που προέκυψαν. Ως αποτέλεσμα της ταχύτητας διαθεσιμότητάς του, το υλικό ενδέχεται να περιλαμβάνει τυπογραφικά λάθη και μπορεί να αναθεωρηθεί οποιαδήποτε στιγμή, χωρίς προειδοποίηση. Για άλλα θέματα, ανατρέξτε στην ενότητα " Όροι χρήσης".