Для пересчета остатков по конкретной номенклатуре можно использовать job
PHP код:
static void Job_ReCalcInventSum(Args _args)
{
InventSumReCalcItem reCalcItem;
InventTable inventTable;
Query q = new Query();
QueryRun qr;
;
q.addDataSource(tableNum(InventTable)).addRange(fieldNum(InventTable, ItemId)).value("073611");
qr = new QueryRun(q);
SetPrefix("Проверка InventSum");
while(qr.next())
{
inventTable = qr.getNo(1);
SetPrefix(inventTable.ItemId);
// Режим - проверка. Для исправления сделать CheckFix::Fix
reCalcItem = new InventSumReCalcItem(inventTable.ItemId, true, CheckFix::Check);
reCalcItem.updateNow();
}
}
Выполняется за приемлемое время, никому не мешая