PX1043 Only the methods of the PXCache.Persist family can be used to save changes to the database from a RowPersisting event handler
here is my code
protected virtual void _(Events.RowPersisting<BOQTask> e)
{
BOQTask row1 = (BOQTask) e.Row;
if (row1.SubID.HasValue)
return;
AutoBoqRefMaint instance = PXGraph.CreateInstance<AutoBoqRefMaint>();
BOQTmpRef boqTmpRef1 = new BOQTmpRef();
BOQTmpRef boqTmpRef2 = instance.bOQTmpRefView.Insert(boqTmpRef1);
boqTmpRef2.BranchID = row1.BranchID;
boqTmpRef2.AutoBOQRef = row1.TaskID;
boqTmpRef2.Descr = row1.Descr;
instance.bOQTmpRefView.Update(boqTmpRef2);
//error here
instance.Actions.PressSave();
BOQTask row2 = (BOQTask) e.Row;
object newValue = (object) ("000000000" + instance.bOQTmpRefView.Current.AutoBOQRef);
e.Cache.RaiseFieldUpdating<BOQTask.subID>((object) row2, ref newValue);
row2.SubID = (int?) newValue;
}
Best answer by Naveen Boga
View original