2016-04-27 97 views
1

我正在修改SalesConfirmDP類並嘗試將CustVendExternalItem.ExternalItemTxt字段添加到我創建的新字段中。 我嘗試了幾件事,但我不認爲我的語法正確,即我在類聲明中聲明瞭CustVendExternalItem表。但是當我嘗試將CustVendExternalItem.ExternalItemTxt插入到新字段中時,它不會填充,我想必須有一個我需要包含的方法?銷售訂單確認報告 - SalesConfirmDP

如果有人有任何建議,將不勝感激。 預先感謝您。

private void setSalesConfirmDetailsTmp(NoYes _confirmTransOrTaxTrans) 
{ 
DocuRefSearch       docuRefSearch; 
// Body 
salesConfirmTmp.JournalRecId    = custConfirmJour.RecId; 

if(_confirmTransOrTaxTrans == NoYes::Yes) 
{ 
    if (printLineHeader) 
    { 
     salesConfirmTmp.LineHeader   = custConfirmTrans.LineHeader; 
    } 
    else 
    { 
     salesConfirmTmp.LineHeader   = ''; 
    } 
    salesConfirmTmp.ItemId     = this.itemId(); 
    salesConfirmTmp.Name     = custConfirmTrans.Name; 
    salesConfirmTmp.Qty      = custConfirmTrans.Qty; 
    salesConfirmTmp.SalesUnitTxt  =  custConfirmTrans.salesUnitTxt(); 
    salesConfirmTmp.SalesPrice    = custConfirmTrans.SalesPrice; 
    salesConfirmTmp.DlvDate     = custConfirmTrans.DlvDate; 
    salesConfirmTmp.DiscPercent    = custConfirmTrans.DiscPercent; 
    salesConfirmTmp.DiscAmount    = custConfirmTrans.DiscAmount; 
    salesConfirmTmp.LineAmount    = custConfirmTrans.LineAmount; 
    salesConfirmTmp.CurrencyCode   = custConfirmJour.CurrencyCode; 
    salesConfirmTmp.PrintCode    = custConfirmTrans.TaxWriteCode; 

    if (pdsCWEnabled) 
    { 
     salesConfirmTmp.PdsCWUnitId   = custConfirmTrans.pdsCWUnitId(); 
     salesConfirmTmp.PdsCWQty   = custConfirmTrans.PdsCWQty; 
    } 

    **salesConfirmTmp.ExternalItemText   = CustVendExternalItem.ExternalItemTxt;** 

    if ((custFormletterDocument.DocuOnConfirm == DocuOnFormular::Line) 
    || (custFormletterDocument.DocuOnConfirm == DocuOnFormular::All)) 
    { 
     docuRefSearch = DocuRefSearch::newTypeIdAndRestriction(custConfirmTrans, 
                   custFormletterDocument.DocuTypeConfirm, 
                   DocuRestriction::External); 
     salesConfirmTmp.Notes    = Docu::concatDocuRefNotes(docuRefSearch); 
    } 

    salesConfirmTmp.InventDimPrint   = this.printDimHistory(); 
+0

能否請您發佈您的代碼到達?謝謝。 – lrnzcig

+0

它是一個標準的MS Dynamics AX類,**是問題字段 –

+0

您可以添加您填充CustVendExternalItem的位置嗎?你在processReport()中選擇了那個緩衝區嗎? –

回答

0

好,AX不能猜你需要哪條記錄,有一個輔助類CustVendExternalItemDescription來對付它:

boolean found; 
str externalItemId; 
... 
[found, externalItemId, salesConfirmTmp.ExternalItemText] = CustVendExternalItemDescription::findExternalItemDescription(
        ModuleCustVend::Cust, 
        custConfirmTrans.ItemId, 
        custConfirmTrans.inventDim(), 
        custConfirmJour.OrderAccount, 
        CustTable::find(custConfirmJour.OrderAccount).CustItemGroupId); 

findExternalItemDescription方法比你在這裏需要返回的更多信息,但你必須無論如何定義變量來存儲它。

+0

謝謝,這很好 –

0

那麼,解決這個問題的步驟是相當容易的,我會盡力給你一步一步的方法如何解決這個問題。

1)您是否正確初始化CustVendExternalItem?做一個相同的記錄並初始化它,如上面所示,然後調試你的代碼,看看你的DP類中的值是否被初始化。

2)如果你的價值被正確初始化,但它沒有顯示在報表設計了可以有多個問題,如:

  • 文字重疊的框中。

  • 給定域

  • 一些報表參數/屬性沒有被正確設置導致
    你的價值不顯示在報告中沒有足夠的空間。

    檢查這些一個接一個,你應該結束了爭取解決