Копирование в переменную - PullRequest
0 голосов
/ 04 мая 2018

Почему иногда необходимо копировать экземпляр в переменную, обновлять переменную, а затем обновлять экземпляр переменной?

    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 голосов
/ 07 мая 2018

Использование метода CreateCopy для обновления поля ЦАП требовалось до версии 5.x. На данный момент нет абсолютно никаких причин для создания копии записи DAC, если только вы намеренно не хотите скопировать все значения полей из одной записи DAC в другую.

...