Microsoft Dynamics NAV 2009 年のポルトガル語版の顧客または仕入先のカードに顧客または仕入先元帳のエントリを適用すると、存在しない G/L エントリ レコードを指す、G/L が正しくない登録レコードが作成されます。この問題を解決するためにコードの変更] セクションで手順を実行します。この問題は、次の製品で発生します。
-
Microsoft Dynamics NAV 2009 の R2 のポルトガル語版
-
Microsoft Dynamics NAV 2009 の SP1 のポルトガル語版
解決策
修正プログラムの情報
サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、この資料に記載されている問題を解決するためのものはのみ。この特定の問題が発生したシステムにのみ適用してください。この修正プログラムは、今後さらにテストを行うことがあります。この問題で深刻な影響を受けていない場合は、次の Microsoft Dynamics NAV 2009 サービス パックまたは修正プログラムを含む次の Microsoft Dynamics NAV バージョン待つことを勧めします。
注: かかる料金が免除されるテクニカル サポート担当者 Microsoft Dynamics および関連製品のことは、通常は特別な場合は、特定の更新プログラムは、問題を解決するにを決定します。追加の質問および問題の特定のアップデートの対象にはなりませんが、通常のサポート料金が適用されます。
インストール情報
マイクロソフトでは解説することのみを目的としてプログラミング例を提供しています。暗示あるいは明示していることに対しての保証はしておりません。ここで言う保証とは、特定の目的に対する商品性や適合性の暗示的保証を含んでいますが、それに限定されるわけではありません。この資料では、例示されているプログラミング言語およびプロシージャの作成やデバッグに使用するツールにお客様が精通していることを前提としています。マイクロソフトのサポート エンジニアは、特定のプロシージャの機能について説明することができます。ただし、お客様固有の要件を満たすために、追加機能の提供またはプロシージャの作成のために、これらの例に変更を加えたりはしません。
注: この修正プログラムをインストールする前に、Microsoft Dynamics NAV のすべてのクライアント ユーザーがシステムの電源を記録することを確認します。これには、Microsoft Dynamics NAV アプリケーション サーバー (NAS) のサービスが含まれます。この修正プログラムを実装すると、ログオンしている唯一のクライアント ユーザーが必要です。
この修正プログラムを実装するには、開発者用のライセンスが必要です。
ユーザー アカウントまたはデータベース ログイン ウィンドウに Windows のログイン ウィンドウにある「スーパー」ロール id を割り当てられていることをお勧めします。ユーザー アカウントには、「スーパー」ロール ID を割り当てることができません、する場合は、ユーザー アカウントが次のアクセス許可を持っているを確認する必要があります。
-
変更するオブジェクトの変更のアクセス許可。
-
実行のアクセス許可、システム オブジェクトの ID 5210オブジェクトおよびシステム オブジェクトの ID 9015
オブジェクトです。
注: データの修復を実行する必要があるない限り、データ ストアへの権限を持っている必要はありません。
コードの変更
注常にテスト コードの修正プログラムの制御された環境で、運用コンピューターに修正プログラムを適用する前にします。変更を適用するには、前に SEPA のすべての更新プログラムをインポートしてください。
この問題を解決するには、次の手順を実行します。
-
PostDtldCustLedgEntries関数で、Gen. Jnl。 内のコードを変更する-次のように Post 行 Codeunit (12)。
既存のコード 1...SavedEntryUsed@1023 : Boolean;
ReceivableAccAmtLCY@1110107 : Decimal;
ReceivableAccAmtAddCurr@1110108 : Decimal;
DtldCustLedgEntry2@1110109 : TEMPORARY Record 379;
ExistDtldCVLedgEntryBuf@1110110 : Boolean;
BEGIN
TotalAmountLCY := 0;
TotalAmountAddCurr := 0;
PositiveLCYAppAmt := 0;
PositiveACYAppAmt := 0;
...置換用コード 1
...SavedEntryUsed@1023 : Boolean;
ReceivableAccAmtLCY@1110107 : Decimal;
ReceivableAccAmtAddCurr@1110108 : Decimal;
DtldCustLedgEntry2@1110109 : TEMPORARY Record 379;
ExistDtldCVLedgEntryBuf@1110110 : Boolean;
// Add the following line.
FindBill@1100004 : Boolean;
// End of the added line.
BEGIN
TotalAmountLCY := 0;
TotalAmountAddCurr := 0;
PositiveLCYAppAmt := 0;
PositiveACYAppAmt := 0;
...既存のコード 2
...IF DtldCustLedgEntry.FINDLAST THEN
DtldCustLedgEntryNoOffset := DtldCustLedgEntry."Entry No."
ELSE
DtldCustLedgEntryNoOffset := 0;
DtldCVLedgEntryBuf.RESET;
// Delete the following lines.
IF DtldCVLedgEntryBuf.FINDSET THEN BEGIN
SaveEntryNo := NextEntryNo;
NextEntryNo := NextEntryNo + 1;
NextEntryNo2 := NextEntryNo;
// End of the deleted lines.
REPEAT
IF DtldCVLedgEntryBuf."Posting Date" <> GenJnlLine."Posting Date" THEN BEGIN
OriginalPostingDate := GenJnlLine."Posting Date";
GenJnlLine."Posting Date" := DtldCVLedgEntryBuf."Posting Date";
OriginalDateSet := TRUE;
...置換用コード 2
...IF DtldCustLedgEntry.FINDLAST THEN
DtldCustLedgEntryNoOffset := DtldCustLedgEntry."Entry No."
ELSE
DtldCustLedgEntryNoOffset := 0;
DtldCVLedgEntryBuf.RESET;
// Add the following lines.
DtldCVLedgEntryBuf.SETRANGE("Initial Document Type",DtldCVLedgEntryBuf."Initial Document Type"::Bill);
IF NOT DtldCVLedgEntryBuf.ISEMPTY THEN
FindBill := TRUE;
DtldCVLedgEntryBuf.RESET;
IF DtldCVLedgEntryBuf.FINDSET THEN BEGIN
IF CustLedgEntryInserted OR FindBill THEN BEGIN
SaveEntryNo := NextEntryNo;
NextEntryNo := NextEntryNo + 1;
NextEntryNo2 := NextEntryNo;
END;
// End of the added lines.
REPEAT
IF DtldCVLedgEntryBuf."Posting Date" <> GenJnlLine."Posting Date" THEN BEGIN
OriginalPostingDate := GenJnlLine."Posting Date";
GenJnlLine."Posting Date" := DtldCVLedgEntryBuf."Posting Date";
OriginalDateSet := TRUE;
...既存のコード 3
...SavedEntryUsed@1031 : Boolean;
PayableAccAmtLCY@1110120 : Decimal;
PayableAccAmtAddCurr@1110121 : Decimal;
DtldVendLedgEntry2@1110122 : Record 380;
ExistDtldCVLedgEntryBuf@1110123 : Boolean;
BEGIN
TotalAmountLCY := 0;
TotalAmountAddCurr := 0;
PositiveLCYAppAmt := 0;
PositiveACYAppAmt := 0;
...置換用コード 3
...SavedEntryUsed@1031 : Boolean;
PayableAccAmtLCY@1110120 : Decimal;
PayableAccAmtAddCurr@1110121 : Decimal;
DtldVendLedgEntry2@1110122 : Record 380;
ExistDtldCVLedgEntryBuf@1110123 : Boolean;
// Add the following line.
FindBill@1100005 : Boolean;
// End of the added line.
BEGIN
TotalAmountLCY := 0;
TotalAmountAddCurr := 0;
PositiveLCYAppAmt := 0;
PositiveACYAppAmt := 0;
...既存コード 4
... IF GenJnlLine2."Account Type" = GenJnlLine2."Account Type"::Vendor THEN BEGIN
IF DtldVendLedgEntry.FINDLAST THEN
DtldVendLedgEntryNoOffset := DtldVendLedgEntry."Entry No."
ELSE
DtldVendLedgEntryNoOffset := 0;
// Delete the following lines.
DtldCVLedgEntryBuf.RESET;
IF DtldCVLedgEntryBuf.FINDSET THEN BEGIN
SaveEntryNo := NextEntryNo;
NextEntryNo := NextEntryNo + 1;
NextEntryNo2 := NextEntryNo;
// End of the deleted lines.
REPEAT
IF DtldCVLedgEntryBuf."Posting Date" <> GenJnlLine."Posting Date" THEN BEGIN
OriginalPostingDate := GenJnlLine."Posting Date";
GenJnlLine."Posting Date" := DtldCVLedgEntryBuf."Posting Date";
OriginalDateSet := TRUE;
...置換用コード 4
...IF GenJnlLine2."Account Type" = GenJnlLine2."Account Type"::Vendor THEN BEGIN
IF DtldVendLedgEntry.FINDLAST THEN
DtldVendLedgEntryNoOffset := DtldVendLedgEntry."Entry No."
ELSE
DtldVendLedgEntryNoOffset := 0;
// Add the following lines.
DtldCVLedgEntryBuf.RESET;
DtldCVLedgEntryBuf.SETRANGE("Initial Document Type",DtldCVLedgEntryBuf."Initial Document Type"::Bill);
IF NOT DtldCVLedgEntryBuf.ISEMPTY THEN
FindBill := TRUE;
DtldCVLedgEntryBuf.RESET;
IF DtldCVLedgEntryBuf.FINDSET THEN BEGIN
IF VendLedgEntryInserted OR FindBill THEN BEGIN
SaveEntryNo := NextEntryNo;
NextEntryNo := NextEntryNo + 1;
NextEntryNo2 := NextEntryNo;
END;
// End of the added lines.
REPEAT
IF DtldCVLedgEntryBuf."Posting Date" <> GenJnlLine."Posting Date" THEN BEGIN
OriginalPostingDate := GenJnlLine."Posting Date";
GenJnlLine."Posting Date" := DtldCVLedgEntryBuf."Posting Date";
OriginalDateSet := TRUE;
...
必要条件
この修正プログラムを適用するのにはインストールされている製品は次のいずれかが必要です。
-
Microsoft Dynamics NAV 2009 の R2 のポルトガル語版
-
Microsoft Dynamics NAV 2009 の SP1 のポルトガル語版
アンインストール情報
この修正プログラムを削除することはできません。
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。
注: これは、マイクロソフト サポートの組織内から直接作成した「高速公開」の資料です。ここに含まれる情報は、新たに発生している問題に応じて現状のまま提供されています。速やかに利用できるようにした結果として、内容には誤植が含まれている可能性があり、事前告知なしで改訂する場合があります。その他の考慮事項については、使用条件を参照してください。