Αυτό το άρθρο ισχύει για το Microsoft Dynamics NAV για την τοπική ρύθμιση γλώσσας Ιταλικά (it).
Συμπτώματα
Με την ιταλική έκδοση του Microsoft Dynamics NAV 2009, το σύστημα δεν υπολογίζει την τιμή "Ποσό για την πληρωμή" και το ποσό της παρακράτησης φόρου με τον αναμενόμενο τρόπο. Αυτό το ζήτημα παρουσιάζεται στα ακόλουθα προϊόντα:
-
Την ιταλική έκδοση του Microsoft Dynamics NAV 2009 R2
-
Της ιταλικής έκδοσης του Microsoft Dynamics NAV 2009 Service Pack 1
Προτεινόμενη αντιμετώπιση
Πληροφορίες άμεσης επιδιόρθωσης
Μια υποστηριζόμενη άμεση επιδιόρθωση είναι τώρα διαθέσιμη από τη Microsoft. Ωστόσο, προορίζεται μόνο για τη διόρθωση του ζητήματος που περιγράφεται σε αυτό το άρθρο. Eφαρμόστε τη μόνο σε συστήματα που αντιμετωπίζουν το συγκεκριμένο ζήτημα. Αυτή η επείγουσα επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, σας συνιστούμε να περιμένετε έως το επόμενο service pack του Microsoft Dynamics NAV 2009 ή την επόμενη έκδοση του Microsoft Dynamics NAV που περιέχει αυτήν την επείγουσα επιδιόρθωση.
Σημείωση Σε ειδικές περιπτώσεις, οι χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης ενδέχεται να να ακυρωθούν, εάν έναν επαγγελματία τεχνικής υποστήριξης για το Microsoft Dynamics και σχετικά προϊόντα προσδιορίζει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημά σας. Οι συνηθισμένες χρεώσεις υποστήριξης θα ισχύει για πρόσθετες ερωτήσεις υποστήριξης και για θέματα που δεν αφορούν τη συγκεκριμένη ενημερωμένη έκδοση.
Πληροφορίες εγκατάστασης
Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για επεξήγηση, χωρίς καμία εγγύηση, είτε σιωπηρή είτε ρητή. Αυτό περιλαμβάνει, ενδεικτικά, τις σιωπηρές εγγυήσεις εμπορευσιμότητας ή καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που παρουσιάζεται, καθώς και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία διαδικασιών και τον εντοπισμό σφαλμάτων σε αυτές. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να σας εξηγήσουν τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας. Ωστόσο, δεν θα τροποποιήσουν αυτά τα παραδείγματα για να παράσχουν πρόσθετες λειτουργίες, ούτε θα δημιουργήσουν διαδικασίες για να καλύψουν τις συγκεκριμένες απαιτήσεις σας.
Σημείωση Πριν να εγκαταστήσετε αυτήν την επείγουσα επιδιόρθωση, επιβεβαιώστε ότι όλοι οι χρήστες προγράμματος-πελάτη Microsoft Navision έχουν αποσυνδεθεί από το σύστημα. Σε αυτές περιλαμβάνονται οι χρήστες του προγράμματος-πελάτη Microsoft Navision εφαρμογής υπηρεσιών (NAS). Θα πρέπει να το πρόγραμμα-πελάτη μόνο χρήστη που είναι συνδεδεμένος κατά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης.
Για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση, πρέπει να έχετε μια άδεια χρήσης του προγραμματιστή.
Συνιστούμε ότι ο λογαριασμός χρήστη στο παράθυρο "Συνδέσεις Windows" ή στο παράθυρο συνδέσεις βάσης δεδομένων να αντιστοιχιστεί το "SUPER" αναγνωριστικό ρόλου. Εάν ο λογαριασμός χρήστη δεν μπορεί να αντιστοιχιστεί το Αναγνωριστικό ρόλου "SUPER", πρέπει να επαληθεύσετε ότι ο λογαριασμός χρήστη έχει τα ακόλουθα δικαιώματα:
-
Το δικαίωμα "Τροποποίηση" για το αντικείμενο που θα αλλάξετε.
-
Τα δικαιώματα εκτέλεσης για το αντικείμενο 5210 Αναγνωριστικό αντικειμένου συστήματος και για το αντικείμενο 9015 Αναγνωριστικό αντικειμένου συστήματος .
Σημείωση Δεν πρέπει να έχετε δικαιώματα για τους χώρους αποθήκευσης δεδομένων, εκτός και αν έχετε να εκτελέσετε επιδιόρθωση δεδομένων.
Αλλαγές κώδικα
Σημείωση Πάντα δοκιμή κώδικα διορθώνει σε ελεγχόμενο περιβάλλον πριν να εφαρμόσετε τις ενημερώσεις κώδικα στους υπολογιστές παραγωγής.
Για να επιλύσετε αυτό το ζήτημα, ακολουθήστε τα εξής βήματα:
-
Αλλάξτε τον κωδικό στη συνάρτηση CreateVendBillWithhTax στον πίνακα γραμμή τιμολόγησης προμηθευτή (12182) ως εξής:
Υπάρχοντα κώδικα... VendBillWithhTax."Currency Code" := VendorBillHeader."Currency Code";
VendBillWithhTax."External Document No." := "External Document No.";
VendBillWithhTax."Related Date" := VendorBillHeader."Posting Date";
VendBillWithhTax."Withholding Tax Code" := WithholdCode;
VendBillWithhTax."Social Security Code" := SocialSecurityCode;
// Delete the following line.
VendBillWithhTax.VALIDATE("Total Amount","Remaining Amount");
VendBillWithhTax."Old Withholding Amount" := VendBillWithhTax."Withholding Tax Amount";
VendBillWithhTax."Old Free-Lance Amount" := VendBillWithhTax."Free-Lance Amount";
END;
// IT0007.begin
IF VendBillWithhTax."Withholding Tax Code" <> '' THEN
...Αντικατάσταση κώδικα
... VendBillWithhTax."Currency Code" := VendorBillHeader."Currency Code";
VendBillWithhTax."External Document No." := "External Document No.";
VendBillWithhTax."Related Date" := VendorBillHeader."Posting Date";
VendBillWithhTax."Withholding Tax Code" := WithholdCode;
VendBillWithhTax."Social Security Code" := SocialSecurityCode;
// Add the following line.
VendBillWithhTax.VALIDATE("Total Amount","Amount to Pay");
VendBillWithhTax."Old Withholding Amount" := VendBillWithhTax."Withholding Tax Amount";
VendBillWithhTax."Old Free-Lance Amount" := VendBillWithhTax."Free-Lance Amount";
END;
// IT0007.begin
IF VendBillWithhTax."Withholding Tax Code" <> '' THEN
... -
Αλλάξτε τον κώδικα στα στοιχεία ελέγχου με τον προμηθευτή του μη αυτόματη φόρμα γραμμή πληρωμών (12188) ως εξής:
Υπάρχοντα κωδικό 1... InPage=0;
CaptionML=ENU=Withholding Tax Code;
SourceExpr=WithholdingTaxCode;
TableRelation="Withhold Code" }
{ 1130006;Label ;440 ;2090 ;3300 ;440 ;ParentControl=1130005 }
// Delete the following line.
{ 1130007;TextBox ;13090;3190 ;1700 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Vendor Bank Account;
SourceExpr=VendorBankAccount;
TableRelation="Vendor Bank Account";
OnLookup=VAR
...Αντικατάσταση κώδικα 1
... InPage=0;
CaptionML=ENU=Withholding Tax Code;
SourceExpr=WithholdingTaxCode;
TableRelation="Withhold Code" }
{ 1130006;Label ;440 ;2090 ;3300 ;440 ;ParentControl=1130005 }
// Add the following line.
{ 1130007;TextBox ;13090;3740 ;1700 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Vendor Bank Account;
SourceExpr=VendorBankAccount;
TableRelation="Vendor Bank Account";
OnLookup=VAR
...Υπάρχοντα κώδικα 2
... IF FORM.RUNMODAL(FORM::"Vendor Bank Account List",VendBankAcc,VendBankAcc.Code) = ACTION::LookupOK THEN
VendorBankAccount := VendBankAcc.Code;
// IT0001.end
END;
}
// Delete the following line.
{ 1130008;Label ;9680 ;3190 ;3300 ;440 ;ParentControl=1130007 }
{ 1130009;TextBox ;3850 ;3190 ;5500 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Description;
SourceExpr=Desc }
{ 1130010;Label ;440 ;3190 ;3300 ;440 ;ParentControl=1130009 }
...Αντικατάσταση κώδικα 2
... IF FORM.RUNMODAL(FORM::"Vendor Bank Account List",VendBankAcc,VendBankAcc.Code) = ACTION::LookupOK THEN
VendorBankAccount := VendBankAcc.Code;
// IT0001.end
END;
}
// Add the following line.
{ 1130008;Label ;9680 ;3740 ;3300 ;440 ;ParentControl=1130007 }
{ 1130009;TextBox ;3850 ;3190 ;5500 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Description;
SourceExpr=Desc }
{ 1130010;Label ;440 ;3190 ;3300 ;440 ;ParentControl=1130009 }
...Υπάρχοντα κώδικα 3
... { 1130013;TextBox ;13090;990 ;1700 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Total Amount;
SourceExpr=TotalAmount }
{ 1130014;Label ;9680 ;990 ;3300 ;440 ;ParentControl=1130013 }
// Delete the following line.
{ 1130015;TextBox ;13090;1540 ;2200 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Document Type;
OptionCaptionML=ENU=" ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund";
OptionString=[ ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund];
SourceExpr=DocumentType }
...Αντικατάσταση κώδικα 3
... { 1130013;TextBox ;13090;990 ;1700 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Total Amount;
SourceExpr=TotalAmount }
{ 1130014;Label ;9680 ;990 ;3300 ;440 ;ParentControl=1130013 }
// Add the following line.
{ 1130015;TextBox ;13090;2090 ;2200 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Document Type;
OptionCaptionML=ENU=" ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund";
OptionString=[ ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund];
SourceExpr=DocumentType }
...Υπάρχοντα κωδικό 4
... InPage=0;
CaptionML=ENU=Document Type;
OptionCaptionML=ENU=" ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund";
OptionString=[ ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund];
SourceExpr=DocumentType }
// Delete the following lines.
{ 1130016;Label ;9680 ;1540 ;3300 ;440 ;ParentControl=1130015 }
{ 1130017;TextBox ;13090;2090 ;1700 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Document No.;
SourceExpr=DocumentNo }
{ 1130018;Label ;9680 ;2090 ;3300 ;440 ;ParentControl=1130017 }
{ 1130019;TextBox ;13090;2640 ;1700 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Document Date;
SourceExpr=DocumentDate }
{ 1130020;Label ;9680 ;2640 ;3300 ;440 ;ParentControl=1130019 }
// End of the lines.
{ 1130024;TextBox ;3850 ;2640 ;2750 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Social Security Code;
SourceExpr=SocialSecurityCode;
TableRelation="Contribution Code" }
...Αντικατάσταση κώδικα 4
... InPage=0;
CaptionML=ENU=Document Type;
OptionCaptionML=ENU=" ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund";
OptionString=[ ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund];
SourceExpr=DocumentType }
// Add the following lines.
{ 1130016;Label ;9680 ;2090 ;3300 ;440 ;ParentControl=1130015 }
{ 1130017;TextBox ;13090;2640 ;1700 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Document No.;
SourceExpr=DocumentNo }
{ 1130018;Label ;9680 ;2640 ;3300 ;440 ;ParentControl=1130017 }
{ 1130019;TextBox ;13090;3190 ;1700 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Document Date;
SourceExpr=DocumentDate }
{ 1130020;Label ;9680 ;3190 ;3300 ;440 ;ParentControl=1130019 }
// End of the lines.
{ 1130024;TextBox ;3850 ;2640 ;2750 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Social Security Code;
SourceExpr=SocialSecurityCode;
TableRelation="Contribution Code" }
...Υπάρχοντα κώδικα 5
... InPage=0;
CaptionML=ENU=Social Security Code;
SourceExpr=SocialSecurityCode;
TableRelation="Contribution Code" }
{ 1130025;Label ;440 ;2640 ;3300 ;440 ;ParentControl=1130024 }
{ 1130021;CommandButton;14410;5720;2200;550 ;HorzGlue=Right;
VertGlue=Bottom;
PushAction=FormHelp }
{ 1130022;CommandButton;11990;5720;2200;550 ;HorzGlue=Right;
VertGlue=Bottom;
...Αντικατάσταση κώδικα 5
... InPage=0;
CaptionML=ENU=Social Security Code;
SourceExpr=SocialSecurityCode;
TableRelation="Contribution Code" }
{ 1130025;Label ;440 ;2640 ;3300 ;440 ;ParentControl=1130024 }
// Add the following lines.
{ 1130026;TextBox ;13090;1540 ;1700 ;440 ;ParentControl=1130000;
InPage=0;
CaptionML=ENU=Tax Base Amount;
SourceExpr=TaxBaseAmount }
{ 1130027;Label ;9680 ;1540 ;3300 ;440 ;ParentControl=1130026 }
// End of the lines.
{ 1130021;CommandButton;14410;5720;2200;550 ;HorzGlue=Right;
VertGlue=Bottom;
PushAction=FormHelp }
{ 1130022;CommandButton;11990;5720;2200;550 ;HorzGlue=Right;
VertGlue=Bottom;
...Υπάρχοντα κώδικα 6
... "Due Date" := PostingDate;
"External Document No." := ExternalDocNo;
"Instalment Amount" := TotalAmount;
"Remaining Amount" := TotalAmount;
"Gross Amount to Pay" := TotalAmount;
// Delete the following line.
"Amount to Pay" := TotalAmount;
"Manual Line" := TRUE;
"Cumulative Transfers" := TRUE;
SetWithholdCode(WithholdingTaxCode);
SetSocialSecurityCode(SocialSecurityCode);
INSERT(TRUE)
...Αντικατάσταση κώδικα 6
... "Due Date" := PostingDate;
"External Document No." := ExternalDocNo;
"Instalment Amount" := TotalAmount;
"Remaining Amount" := TotalAmount;
"Gross Amount to Pay" := TotalAmount;
// Add the following line.
"Amount to Pay" := TaxBaseAmount;
"Manual Line" := TRUE;
"Cumulative Transfers" := TRUE;
SetWithholdCode(WithholdingTaxCode);
SetSocialSecurityCode(SocialSecurityCode);
INSERT(TRUE)
... -
Προσθέστε την παρακάτω καθολική μεταβλητή με τη μη αυτόματη φόρμα γραμμή πληρωμών (12188) προμηθευτές:
TaxBaseAmount@1130000 : Decimal;
-
Αλλάξτε τον κωδικό στη συνάρτηση CalculateWithholdingTax με την παρακράτηση - συνεισφορά μονάδα κώδικα (12101) ως εξής:
Υπάρχοντα κωδικό 1... PROCEDURE CalculateWithholdingTax@1130001(VAR PurchHeader@1130000 : Record 38;Recalculate@1130001 : Boolean);
VAR
PurchWithSoc@1130002 : Record 12137;
PurchLine@1130003 : Record 39;
// Delete the following line.
TotalAmount@1130004 : Decimal;
BEGIN
PurchLine.RESET;
PurchLine.SETRANGE("Document Type",PurchHeader."Document Type");
PurchLine.SETRANGE("Document No.",PurchHeader."No.");
PurchLine.SETRANGE(Type,PurchLine.Type::"G/L Account");
...Αντικατάσταση κώδικα 1
... PROCEDURE CalculateWithholdingTax@1130001(VAR PurchHeader@1130000 : Record 38;Recalculate@1130001 : Boolean);
VAR
PurchWithSoc@1130002 : Record 12137;
PurchLine@1130003 : Record 39;
// Add the following lines.
TempPurchLine@1130005 : TEMPORARY Record 39;
TotalAmount@1130004 : Decimal;
VATAmount@1130006 : Decimal;
// End of the lines.
BEGIN
PurchLine.RESET;
PurchLine.SETRANGE("Document Type",PurchHeader."Document Type");
PurchLine.SETRANGE("Document No.",PurchHeader."No.");
PurchLine.SETRANGE(Type,PurchLine.Type::"G/L Account");
...Υπάρχοντα κώδικα 2
... PurchLine.SETRANGE(Type,PurchLine.Type::"G/L Account");
TotalAmount := 0;
IF PurchLine.FIND('-') THEN
REPEAT
// Delete the following lines.
TotalAmount := TotalAmount + PurchLine."Line Amount";
UNTIL PurchLine.NEXT = 0;
// End of the lines.
IF PurchWithSoc.GET(PurchHeader."Document Type", PurchHeader."No.") THEN
IF (PurchWithSoc."Total Amount" = 0) OR
Recalculate
THEN BEGIN
PurchWithSoc."Currency Code" := PurchHeader."Currency Code";
...Αντικατάσταση κώδικα 2
... PurchLine.SETRANGE(Type,PurchLine.Type::"G/L Account");
TotalAmount := 0;
IF PurchLine.FIND('-') THEN
REPEAT
// Add the following lines.
IF PurchHeader."Prices Including VAT" THEN BEGIN
TempPurchLine := PurchLine;
TempPurchLine.VALIDATE("Amount Including VAT",PurchLine."Line Amount");
TotalAmount += TempPurchLine."VAT Base Amount"
END ELSE
TotalAmount += PurchLine."Line Amount";
UNTIL PurchLine.NEXT = 0;
// End of the lines.
IF PurchWithSoc.GET(PurchHeader."Document Type", PurchHeader."No.") THEN
IF (PurchWithSoc."Total Amount" = 0) OR
Recalculate
THEN BEGIN
PurchWithSoc."Currency Code" := PurchHeader."Currency Code";
...
Προϋποθέσεις
Πρέπει να έχετε ένα από τα ακόλουθα προϊόντα, για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση:
-
Την ιταλική έκδοση του Microsoft Dynamics NAV 2009 R2
-
Της ιταλικής έκδοσης του Microsoft Dynamics NAV 2009 Service Pack 1
Πληροφορίες κατάργησης
Δεν μπορείτε να καταργήσετε αυτήν την επείγουσα επιδιόρθωση.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Σημείωση Αυτό είναι ένα άρθρο "ΤΑΧΕΙΑΣ ΔΗΜΟΣΙΕΥΣΗΣ" που έχει δημιουργηθεί απευθείας από την εταιρεία υποστήριξης της Microsoft. Οι πληροφορίες που περιέχονται στο παρόν έγγραφο παρέχονται ως έχουν, ως απάντηση σε ζητήματα που προέκυψαν. Ως αποτέλεσμα της ταχύτητας διαθεσιμότητάς του, το υλικό ενδέχεται να περιλαμβάνει τυπογραφικά λάθη και μπορεί να αναθεωρηθεί οποιαδήποτε στιγμή, χωρίς προειδοποίηση. Για άλλα θέματα, ανατρέξτε στην ενότητα " Όροι χρήσης ".