复制到变量

时间:2018-05-04 04:23:31

标签: acumatica

为什么有时需要将实例复制到变量中,更新变量然后用变量更新实例?

    protected virtual void INRegister_ToSiteID_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e)
    {
        if(e.Row != null)
        {
            foreach (INTran item in this.transactions.Select())
            {
                INTran updated = (INTran)this.transactions.Cache.CreateCopy(item);                  
                updated.ToSiteID = ((INRegister)e.Row).ToSiteID;
                this.transactions.Cache.Update(updated);                    
            }
        }
        Set1Step((INRegister)e.Row);
    }

为什么我们不能直接更新属性本身,例如item.ToSiteID?是因为它可以防止发生事件或某事吗?

1 个答案:

答案 0 :(得分:1)

在版本5.x之前,需要使用 CreateCopy 方法更新DAC字段。目前,除非您有意将所有字段值从一个DAC记录复制到另一个DAC记录,否则绝对没有理由创建DAC记录的副本。