Acest articol se aplică la Microsoft Dynamics NAV pentru setările regionale de limbă italiană (it).
Simptome
În versiunea italiană a Microsoft Dynamics NAV 2009, sistemul nu se calculează valoarea "Suma pentru a plăti" şi valoarea reținerea așa cum vă așteptați. Această problemă se produce în următoarele produse:
-
Versiunea italiană a Microsoft Dynamics NAV 2009 R2
-
Versiunea italiană a Microsoft Dynamics NAV 2009 Service Pack 1
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 că toate Microsoft Navision client utilizatorii au făcut Log off sistemul. Aceasta include utilizatorii de client Microsoft Navision Application Services (NAS). Ar trebui să fie doar client utilizatorului care este conectat când implementați această remediere rapidă.
Pentru a implementa această remediere rapidă, trebuie să aibă o licență pentru dezvoltatori.
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 de sistem obiect ID 5210 și pentru obiectul de sistem obiect ID 9015 .
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 funcția CreateVendBillWithhTax în tabelul de linie de factura furnizor (12182) după cum urmează:
Cod existent... 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
...Cod de înlocuire
... 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
... -
Modificați codul din controale în distribuitorul Manual formular de linie de plată (12188) după cum urmează:
Cod existent 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
...Cod de înlocuire 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
...Cod existent 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 }
...Înlocuirea cod 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 }
...Cod existent 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 }
...Cod de înlocuire 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 }
...Cod existent 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" }
...Înlocuirea cod 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" }
...Cod existent 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;
...Înlocuirea cod 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;
...Cod existent 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)
...Înlocuirea cod 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)
... -
Adăugați următoarele global variabila în distribuitorul Manual formular de linie de plată (12188):
TaxBaseAmount@1130000 : Decimal;
-
Modificați codul din funcția CalculateWithholdingTax în reținere la sursă - contribuții codeunit (12101) după cum urmează:
Cod existent 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");
...Cod de înlocuire 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");
...Cod existent 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";
...Înlocuirea cod 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";
...
Cerințe preliminare
Trebuie să aveți unul dintre următoarele produse instalate pentru a aplica această remediere rapidă:
-
Versiunea italiană a Microsoft Dynamics NAV 2009 R2
-
Versiunea italiană a Microsoft Dynamics NAV 2009 Service Pack 1
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 utilizare pentru alte considerații.