Purchformletter 类用于张贴发票、装箱单、确认信息等。我现在不完全了解您想要实现的目标,因此我提供了不同的解决方案。首先你可以看一下,AX 如何处理形式发票,在那里你可以看到,ax 在交易中发布发票,最后用 ttsabort 中止整个交易。
可能适合您需要的另一件事是制作表格的临时副本。我写了一些更具体的代码:在那里我临时制作了一个普通表并修改了一些数据,然后再将其复制回来并将其写入数据库。
static void Job6(Args _args)
{
VendInvoiceInfoLine vendInvoiceInfoLine;
VendInvoiceInfoLine vendInvoiceInfoLinetmp;
RecId localRecId;
;
select firstOnly vendInvoiceInfoLine;
localRecId = vendInvoiceInfoLine.RecId;
vendInvoiceInfoLinetmp.setTmp();
vendInvoiceInfoLinetmp.data(vendInvoiceInfoLine);
info(strFmt("Copy of vendInvoiceInfoLine %1",vendInvoiceInfoLinetmp.ItemId));
//Modifiy whatever
vendInvoiceInfoLinetmp.ItemId = "HelloWorld";
vendInvoiceInfoLinetmp.insert();
info(strFmt("Orig of vendInvoiceInfoLine %1",vendInvoiceInfoLine.ItemId));
info(strFmt("Copy of vendInvoiceInfoLine %1",vendInvoiceInfoLinetmp.ItemId));
//Write Back
ttsBegin;
select forUpdate vendInvoiceInfoLine where vendInvoiceInfoLine.RecId == localRecId;
vendInvoiceInfoLine.data(vendInvoiceInfoLinetmp);
vendInvoiceInfoLine.update();
ttsCommit;
info(strFmt("Orig of vendInvoiceInfoLine %1",vendInvoiceInfoLine.ItemId));
info(strFmt("Copy of vendInvoiceInfoLine %1",vendInvoiceInfoLinetmp.ItemId));
}