この資料は、Microsoft Dynamics nav (it) イタリア語の言語ロケールに当てはまります。
現象
Microsoft Dynamics NAV 2009 年のイタリア語版、システムは計算されません「支払金額」の値と源泉徴収税額期待どおりに。この問題は、次の製品で発生します。
-
Microsoft Dynamics NAV 2009 の R2 のイタリア語版
-
イタリア語版の Microsoft Dynamics NAV 2009 サービス パック 1
解決策
修正プログラムの情報
サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、この資料に記載されている問題を解決するためのものはのみ。この特定の問題が発生したシステムにのみ適用してください。この修正プログラムは、今後さらにテストを行うことがあります。この問題で深刻な影響を受けていない場合は、次の Microsoft Dynamics NAV 2009 サービス パックまたは修正プログラムを含む次の Microsoft Dynamics NAV バージョン待つことを勧めします。
注: かかる料金が免除されるテクニカル サポート担当者 Microsoft Dynamics および関連製品のことは、通常は特別な場合は、特定の更新プログラムは、問題を解決するにを決定します。追加の質問および問題の特定のアップデートの対象にはなりませんが、通常のサポート料金が適用されます。
インストール情報
マイクロソフトでは解説することのみを目的としてプログラミング例を提供しています。暗示あるいは明示していることに対しての保証はしておりません。ここで言う保証とは、特定の目的に対する商品性や適合性の暗示的保証を含んでいますが、それに限定されるわけではありません。この資料では、例示されているプログラミング言語およびプロシージャの作成やデバッグに使用するツールにお客様が精通していることを前提としています。マイクロソフトのサポート エンジニアは、特定のプロシージャの機能について説明することができます。ただし、お客様固有の要件を満たすために、追加機能の提供またはプロシージャの作成のために、これらの例に変更を加えたりはしません。
注: この修正プログラムをインストールする前に、Microsoft Navision のすべてのクライアント ユーザーがシステムの電源を記録することを確認します。これには、Microsoft Navision アプリケーション サービス (NAS) クライアントのユーザーが含まれます。この修正プログラムを実装すると、ログオンしている唯一のクライアント ユーザーが必要です。
この修正プログラムを実装するには、開発者用のライセンスが必要です。
ユーザー アカウントまたはデータベース ログイン ウィンドウに Windows のログイン ウィンドウにある「スーパー」ロール id を割り当てられていることをお勧めします。ユーザー アカウントには、「スーパー」ロール ID を割り当てることができません、する場合は、ユーザー アカウントが次のアクセス許可を持っているを確認する必要があります。
-
変更するオブジェクトの変更のアクセス許可。
-
システム オブジェクトの ID 5210オブジェクトおよびシステム オブジェクトの ID 9015オブジェクトの実行が許可されます。
注:
データの修復を実行する必要があるない限り、データ ストアへの権限を持っている必要はありません。
コードの変更
注: 常にテスト コードを修正、管理された環境で適用する前に、運用コンピューターに修正プログラムします。
この問題を解決するには、次の手順を実行します。
-
(12182) の仕入先請求書の明細行のテーブル内のCreateVendBillWithhTax関数内のコードを次のように変更します。
既存のコード... 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;
-
源泉徴収の貢献度の codeunit (12101) 内のCalculateWithholdingTax関数内のコードを次のように変更します。
既存のコード 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 サービス パック 1
アンインストール情報
この修正プログラムを削除することはできません。
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。
注: これは、マイクロソフト サポートの組織内から直接作成した「高速公開」の資料です。ここに含まれる情報は、新たに発生している問題に応じて現状のまま提供されています。速やかに利用できるようにした結果として、内容には誤植が含まれている可能性があり、事前告知なしで改訂する場合があります。その他の考慮事項については、使用条件を参照してください。