Создать таблицу со списком удаляемых позиций, например InventTableCleanUp, дальше примерно так:
X++:
InventTable.skipDataMethods(true);
InventTable.skipDeleteActions(true);
InventTable.skipDatabaseLog(true);
InventTable.skipEvents(true);
delete_from InventTable
exists join InventTableCleanUp
where InventTableCleanUp.ItemId == InventTable.ItemId ;
у меня 9 млн записей в InventDim за 3 часа удалилось. на 122 тыс - считайте сами. Там просто к InventTable еще куча таблиц привязана, которые тоже надо очистить. Но, я думаю, что удалять номенклатуры, по которым есть проводки - это полный пипец. А как же остатки? Вдруг не все в ноль. Тогда надо и InventTrans чистить и InventSum.