ISSUE: When an Intercompany Purchase Order is invoiced, “Cannot edit a record in Purchase order lines (PurchLine). An update conflict occurred due to another user process deleting the record or changing one or more fields in the record.” error thrown.

 

RECOMMENDATION: In \DataDictionary\Tables\CustInvoiceJour\Methods\interCompanyUpdate, reread method should be called first to make sure that PurchLine table buffer uses its latest versionId

 while select forupdate purchLine

where purchLine.PurchId == interCompanyPurchId

&& !purchLine.IsDeleted

{

purchLine.reread();

if
(inventTransIdMap.exists(purchLine.InventTransId))

{

purchLine.PurchReceivedNow =
inventTransIdMap.lookup(purchLine.InventTransId);

}

 

Similar function used in \Classes\SysCodeProfilerCleanUp\delete.