套用到
Dynamics NAV 2009

狀況

如果您套用至相關的付款交易的發票,然後將其張貼在義大利文版本的 Microsoft 動態航行點 2009年,安裝最新版的客戶物料單清單報表之後,報表就不會顯示付款。此外,它只會顯示發票相近。請依照下列程式碼變更一節,若要解決這個問題的步驟。下列產品中,就會發生這個問題︰

  • 義大利文版本的 Microsoft 動態航行點 2009 R2

  • 義大利文版本的 Microsoft 動態航行點 2009 SP1

解決方案

Hotfix 資訊

已經可以從 Microsoft 取得支援的 hotfix。不過,它只被用來修正本文所述的問題。它只適用於發生此特定問題的系統上。此 hotfix 可能會接受其他測試。因此,如果此問題不會嚴重影響,我們建議您等候下一步的 Microsoft 動態航行點 2009 service pack 或包含此 hotfix 的下一個 Microsoft 動態航行點版本。注意 在特殊的情況下,通常會支援呼叫可能已被取消如果技術支援專業人員的 Microsoft 動態及相關的產品所產生的費用會決定某特定更新程式可以解決您的問題。收取支援費用會套用,如果有其他支援問題是,不能限定的特定更新程式。

安裝資訊

Microsoft 會提供程式設計範例僅供說明,而不做任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已相當熟悉使用的我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能。不過,它們不會修改這些範例以提供附加功能或建構程序來滿足您特定需求。注意套用此 hotfix 之前,請確認所有的 Microsoft 動態航行點用戶端使用者會登出系統。這包括 Microsoft 動態航行點應用程式伺服器 (NAS) 服務。您應該是唯一的用戶端使用者已登入,當您實作此 hotfix。若要實作此 hotfix,您必須有開發人員授權。我們建議您在 Windows 登入] 視窗中的色彩,或資料庫登入] 視窗中的使用者帳戶被指派 「 進階 」 的角色識別碼。如果使用者帳戶不能指派為 「 超級 」 的角色識別碼,您必須確認使用者帳戶具有下列權限︰

  • 您將會變更物件的 [修改] 權限。

  • 執行權限的系統物件 ID 5210物件和系統物件 ID 9015物件。

注意您沒有擁有資料存放區的權限,除非您需要執行資料修復。

程式碼變更

注意永遠測試程式碼修正在受控制的環境中才能套用到實際執行電腦的修正程式。若要解決這個問題,請依照下列步驟執行:

  1. 變更客戶物料單清單報表 (12117) 中的程式碼如下所示︰現有的程式碼 1

    ...DataItemTableView=SORTING(Cust. Ledger Entry No.,Entry Type,Posting Date)                          WHERE(Entry Type=CONST(Application));        OnPreDataItem=BEGIN// Delete the following line.CustLedgEntry1.COPYFILTER("Posting Date", "Detailed Cust. Ledg. Entry"."Posting Date"); // IT0004// End of the deleted line.                      END;        OnAfterGetRecord=BEGIN...

    取代程式碼 1

    ...DataItemTableView=SORTING(Cust. Ledger Entry No.,Entry Type,Posting Date)                          WHERE(Entry Type=CONST(Application));        OnPreDataItem=BEGIN// Add the following line.FindAppliedDtldCustLedgEntry(CustLedgEntry1."Entry No.");// End of the added line.                      END;        OnAfterGetRecord=BEGIN...

    現有的程式碼 2

    ...     {   END;        OnAfterGetRecord=BEGIN// Delete the following lines.IF ("Entry No." = 0) OR ("Unapplied by Entry No." <> 0) OR("Document Type" IN["Document Type"::Payment,"Document Type"::Refund,"Document Type"::Dishonored,"Document Type"::" "])THENShowDetailedCustLedgerEntry := TRUEELSEShowDetailedCustLedgerEntry := FALSE;// IT0015.begin//VSTF275923 begin// VSTF305887.begin//IF PrintCustLedgEntry2 THENIF PrintCustLedgEntry2 AND ("Document Type" <> "Document Type"::Payment) THENCurrReport.SKIP;// VSTF305887.end//CurrReport.SKIP;//VSTF275923 end// IT0015.endCustLedgEntry3.GET("Applied Cust. Ledger Entry No.");CustLedgEntry3.CALCFIELDS("Original Amt. (LCY)");// IT0004.beginClosedByAmountLCY := "Amount (LCY)";TotalForCustomer += "Amount (LCY)";// IT0004.endTotalClosedByAmntLCY += "Amount (LCY)"; // IT0005// End of the deleted lines.                         END;        DataItemLink=Cust. Ledger Entry No.=FIELD(Entry No.);...

    取代程式碼 2

    ...END;        OnAfterGetRecord=BEGIN// Add the following lines.IF NOT TempDetailedCustLedgEntryApp.GET("Entry No.") THENCurrReport.SKIP;CustLedgEntry3.GET("Cust. Ledger Entry No.");CustLedgEntry3.CALCFIELDS("Original Amt. (LCY)");AppliedDocumentTypeText := FORMAT(CustLedgEntry3."Document Type");ClosedByAmountLCY := "Amount (LCY)";TotalForCustomer -= "Amount (LCY)";TotalClosedByAmntLCY -= "Amount (LCY)";// End of the added lines.                         END;        DataItemLink=Cust. Ledger Entry No.=FIELD(Entry No.);...

    現有的程式碼 3

    ... SectionWidth=24450;            SectionHeight=846;            OnPreSection=BEGIN// Delete the following line.CurrReport.SHOWOUTPUT(ShowDetailedCustLedgerEntry)// End of the deleted line.                         END;          }...

    取代程式碼 3

    ...SectionWidth=24450;            SectionHeight=846;            OnPreSection=BEGIN// Add the following lines.IF ("Unapplied by Entry No." <> 0) THENCurrReport.SHOWOUTPUT(FALSE);// End of the added lines.                         END;          }...

    現有的程式碼 4

    ...ForeColor=65535;                                                         SourceExpr="Document Type" = "Document Type"::Dishonored;                                                         DataSetFieldName=Document_Type_____Document_Type___Dishonored }// Delete the following lines.{ 1130123;TextBox   ;24000;0    ;150  ;423  ;Visible=No;SourceExpr=ShowDetailedCustLedgerEntry;DataSetFieldName=ShowDetailedCustLedgerEntry }// End of the deleted lines.          }           }        { PROPERTIES...

    取代程式碼 4

    ... ForeColor=65535;                                                         SourceExpr="Document Type" = "Document Type"::Dishonored;                                                         DataSetFieldName=Document_Type_____Document_Type___Dishonored }          }           }        { PROPERTIES...
  2. 變更全域變數,在客戶物料單清單報表 (12117) 中的程式碼如下所示︰現有的程式碼 1

    ...Text000@1130000 : TextConst 'ENU=Please specify the Ending Date';      Text001@1130001 : TextConst 'ENU=The Bank Receipts Risk Period Value must not be blank in Sales Setup';      SalesSetup@1130002 : Record 311;      EndingDate@1130003 : Date;      ExposureDate@1130004 : Date;      OnlyOpened@1130005 : Boolean;...

    取代程式碼 1

    ...  Text000@1130000 : TextConst 'ENU=Please specify the Ending Date';      Text001@1130001 : TextConst 'ENU=The Bank Receipts Risk Period Value must not be blank in Sales Setup';      SalesSetup@1130002 : Record 311;// Add the following lines.CustLedgEntry3@1130130 : Record 21;TempDetailedCustLedgEntryApp@1130131 : TEMPORARY Record 379;// End of the added lines.      EndingDate@1130003 : Date;      ExposureDate@1130004 : Date;      OnlyOpened@1130005 : Boolean;...

    現有的程式碼 2

    ... TotExpAmntForCust@1130011 : Decimal;      BalanceDue@1130012 : Decimal;      NULL@1130013 : DateFormula;// Delete the following lines.CustLedgEntry3@1130130 : Record 21;PrintCustLedgEntry2@1130014 : Boolean;ShowDetailedCustLedgerEntry@1130015 : Boolean INDATASET;// End of the deleted lines.    BEGIN    {...

    取代程式碼 2

    ...  TotExpAmntForCust@1130011 : Decimal;      BalanceDue@1130012 : Decimal;      NULL@1130013 : DateFormula;// Add the following lines.PrintCustLedgEntry2@1130014 : Boolean;AppliedDocumentTypeText@1130132 : Text[30];LOCAL PROCEDURE FindAppliedDtldCustLedgEntry@1130007(CustLedgerEntryNo@1130000 : Integer);VARDetailedCustLedgEntry@1130001 : Record 379;DetailedCustLedgEntryApplied@1130003 : Record 379;BEGINTempDetailedCustLedgEntryApp.RESET;TempDetailedCustLedgEntryApp.DELETEALL;DetailedCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgerEntryNo);DetailedCustLedgEntry.SETRANGE("Entry Type",DetailedCustLedgEntry."Entry Type"::Application);DetailedCustLedgEntry.SETRANGE(Unapplied,FALSE);DetailedCustLedgEntryApplied.SETRANGE("Entry Type",DetailedCustLedgEntryApplied."Entry Type"::Application);IF DetailedCustLedgEntry.FINDSET THENREPEATDetailedCustLedgEntryApplied.SETRANGE("Applied Cust. Ledger Entry No.",DetailedCustLedgEntry."Applied Cust. Ledger Entry No.");DetailedCustLedgEntryApplied.SETFILTER("Cust. Ledger Entry No.",'<>%1',CustLedgerEntryNo);DetailedCustLedgEntryApplied.SETRANGE("Customer No.",DetailedCustLedgEntry."Customer No.");DetailedCustLedgEntryApplied.SETRANGE("Transaction No.",DetailedCustLedgEntry."Transaction No.");IF DetailedCustLedgEntryApplied.FINDSET THENREPEATTempDetailedCustLedgEntryApp := DetailedCustLedgEntryApplied;IF TempDetailedCustLedgEntryApp.INSERT THEN;UNTIL DetailedCustLedgEntryApplied.NEXT = 0;UNTIL DetailedCustLedgEntry.NEXT = 0;END;// End of the added lines.    BEGIN    {...
  3. 變更廠商帳戶物料單清單報表 (12116) 中的程式碼如下所示︰現有的程式碼 1

    ... </TableRow>                  </TableRows>                </Header>               <Visibility>                 <Hidden>=IIF(Fields!ShowDetailedCustLedgerEntry.Value,TRUE,FALSE)</Hidden>               </Visibility>              </TableGroup>            </TableGroups>            <Top>2.22222cm</Top>...

    取代程式碼 1

    ... </TableRow>                  </TableRows>                </Header>// Delete the following lines.<Visibility><Hidden>=IIF(Fields!ShowDetailedCustLedgerEntry.Value,TRUE,FALSE)</Hidden></Visibility>// End of the deleted lines.              </TableGroup>            </TableGroups>            <Top>2.22222cm</Top>...

    現有的程式碼 2

    ...Field Name="Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_">          <DataField>Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_</DataField>        </Field>       <Field Name="ShowDetailedCustLedgerEntry">         <DataField>ShowDetailedCustomerLedgerEntry</DataField>       </Field>      </Fields>      <Query>        <CommandText />...

    取代程式碼 2

    ...<Field Name="Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_">          <DataField>Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_</DataField>        </Field>// Delete the following lines.<Field Name="ShowDetailedCustLedgerEntry"><DataField>ShowDetailedCustomerLedgerEntry</DataField></Field>// End of the deleted lines.      </Fields>      <Query>        <CommandText />...

先決條件

您必須具備套用此 hotfix 之後安裝下列產品的其中一個︰

  • 義大利文版本的 Microsoft 動態航行點 2009 R2

  • 義大利文版本的 Microsoft 動態航行點 2009 SP1

移除資訊

您無法移除此 hotfix。

狀態

Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

注意這是直接從 Microsoft 支援組織內建立的「快速發行」文件。本文件所包含的現狀資訊是針對新興問題的回應。為縮短使其可用的時程,資料可能會包含印刷錯誤,且可能會隨時進行修改而不另行通知。如其他考量,請參閱 「使用規定」。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。