销售订单确认报表 - 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 设置不正确导致
您的价值不会出现在报告中。
一一检查,你应该最终找到解决方案
我正在修改 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 设置不正确导致
您的价值不会出现在报告中。一一检查,你应该最终找到解决方案