|
![]() |
#1 |
Участник
|
Заработало
Удалось сделать вот так: X++: purchTable.InventLocationId = 'XXXXXX'; //purchTable.modifiedField(fieldNum(PurchTable, InventLocationId)); purchTable.InventSiteId = InventLocation::find(purchTable.InventLocationId).InventSiteId; //purchTable.modifiedField(fieldNum(PurchTable, InventSiteId)); purchTable.update(); while select forupdate purchLine where purchLine.PurchId == purchTable.PurchId exists join existInventDim where existInventDim.inventDimId == purchLine.InventDimId && existInventDim.InventLocationId != purchTable.InventLocationId { inventDim = purchLine.inventDim(); inventDim.InventLocationId = purchTable.InventLocationId; inventDim.InventSiteId = inventDim.inventLocation().InventSiteId; inventDim = InventDim::findOrCreate(inventDim); purchLine.InventDimId = inventDim.inventDimId; //purchLine.setInventDimId(inventDim.inventDimId); purchLine.update(); } ![]() Теперь все отрабатывает за 10 минут, включая разноску накладной.
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/ |
|