销售订单确认报表 - SalesConfirmDP

Sales Order Confirmation Report - SalesConfirmDP

我正在修改 SalesConfirmDP class 并尝试将 CustVendExternalItem.ExternalItemTxt 字段添加到我创建的新字段中。 我尝试了几件事,但我认为我的语法不正确,即我在 class 声明中声明了 CustVendExternalItem table。但是当我尝试将 CustVendExternalItem.ExternalItemTxt 插入我的新字段时,它不会填充,我想一定有一个我需要包含的方法?

如果有人有任何建议,我们将不胜感激。 提前谢谢你。

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();

嗯,AX猜不到你需要哪条记录,有一个帮手classCustVendExternalItemDescription来处理它:

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

findExternalItemDescription 方法 returns 比您在这里需要的信息更多,但无论如何您都必须定义变量来存储它。

好吧,解决这个问题的步骤相当简单,我将尝试逐步向您介绍如何解决这个问题。

1) 您是否正确初始化了 CustVendExternalItem?记录相同的内容并按照 Jan 上面所示对其进行初始化,然后调试您的代码并查看该值是否正在您的 DP class.

中初始化

2) 如果您的值被正确初始化,但它没有显示在报表设计中,则可能存在多个问题,例如:

  • 文本框重叠。

  • 给定字段space不足

  • 一些报告 parameter/property 设置不正确导致
    您的价值不会出现在报告中。

    一一检查,你应该最终找到解决方案