Вот и меня настигла задача оптимизации отмены пересчетов себестоимости. Правда, в моем случае, основная нагрузка оказалась вызвана не столько количеством номенклатур, сколько количеством производственных заказов (есть много спецификаций - BOM-ов - и много связанного производства). В одном из кейсов отмена пересчета себестоимости для ~300 номенклатур в рабочем окружении привела к генерации мега-пакетного задания на
124+ тысячи пакетных задач, бОльшая часть из которых была связана с пакетными заданиями InventCostClosingCancel_WorkProd. Под тяжестью такой нагрузки производительность пакетной инфраструктуры коллапсировала, и 30+ пакетных серверов смогли запускать вместо обычных нескольких сотен лишь ~15 пакетных задач одновременно. В моем случае решил проблему
с помощью этого инструмента, пакуя все генерируемые пакетные задания в ограниченное число потоков. Это не так идеально, как InventCostList + top picking, но всё лучше, чем коллапс пакетной инфры и вот это всё из-за отмены одного пересчета себестоимости.