2016-04-27 8 views
1

私はSalesConfirmDPクラスを変更して、私が作成した新しいフィールドにCustVendExternalItem.ExternalItemTxtフィールドを追加しようとしています。 私はいくつかのことを試しましたが、構文が正しいとは思わない、つまりクラス宣言でCustVendExternalItemテーブルを宣言します。しかし、私は新しいフィールドにCustVendExternalItem.ExternalItemTxtを挿入しようとすると、それは設定されません、私は含める必要があるメソッドがあると思いますか?受注確認レポート - SalesConfirmDP

誰かが何か提案があれば、非常に感謝します。 ありがとうございます。 AXはあなたが必要とされたレコードを推測することはできません

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

まあ、それに対処するためのヘルパークラス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を正しく初期化していますか?同じことを記録し、Janが上に示したように初期化してから、あなたのコードをデバッグし、あなたのDPクラスで値が初期化されているかどうかを確認してください。

2)あなたの値が正しく初期化されているが、それはレポートのデザインで表示されない場合など複数の問題があることができます:

  • 重複テキストのボックス。指定されたフィールドの

  • 容量不足

  • いくつかのレポートパラメータ/プロパティには、レポートに表示しないように
    あなたの価値を引き起こす正しく設定されていません。

    チェックこれら一つ一つ、あなたはソリューション

関連する問題