如何在Acumatica Framework中创建DAC的副本(即克隆它)。我当然可以创建一个新实例并单独设置所有值,但有没有一种方法可以为您完成此操作?
我找到了以下方法
PXCache<...>.CreateCopy(sourceRule);
然而,这似乎复制了一切,包括ID,CreatedBy等。 我需要一个新 DAC,并复制所有相关字段。 怎么办呢?
答案 0 :(得分:2)
您可以使用PXCache
CreateCopy
执行您提到的副本,然后在将新副本插入缓存之前将其更改为/更改密钥。
以下示例将销售线复制为销售订单扩展程序上的新行:
var soLine = PXCache<SOLine>.CreateCopy(Base.Transactions.Current);
// Null the keys of SOLine
soLine.OrderType = null;
soLine.OrderNbr = null;
soLine.LineNbr = null;
Base.Transactions.Insert(soLine);