Есть вариант не переписывать отмену закрытия, оставить все почти как есть, но паковать отдельные пакетные задачи InventCostClosingCancel_WorkInvent в "пакеты", которые бы обрабатывались последовательно в рамках одного потока на пакетном сервере.
Где-то была публикация на тему того, как команда разработчиков, отвечающая за финансовый блок, перед выпуском AX 2009 задалась целью разнести 100 тысяч журналов ГК за приемлемое время. В ходе тестирования обнаружилось, что создавать отдельную пакетную задачу на разноску каждого журнала слишком неэффективно: на таком количестве задач пакетная инфраструктура начинает сама отжирать слишком много ресурсов, плюс многочисленные простои между запусками отдельных задач снижают общую производительность. В итоге придумали механизм "пакетирования":
- выбирается критерий для определения размера "пакета" (для разноски журналов это может быть суммарное количество строк, для отмены закрытия склада - количество номенклатур);
- при создании заданий обработки данных они нарезаются на "пакеты" примерно равного размера;
- очередная пакетная задача создается на "пакет" в целом, а не на каждое отдельное задание обработки в нем, при этом для выполнения "пакета" используется небольшой класс-обертка;
- при запуске с помощью пакетной инфраструктуры класс-обертка последовательно запускает задания обработки из своего "пакета".
Это позволяет, с одной стороны, снизить нагрузку на пакетную инфраструктуру, с другой, сократить время простоя между запусками отдельных заданий обработки, а с третьей, при желании - управлять количеством потоков пакетного сервера, которые будут задействованы, за счет изменения размера "пакетов". В приложении это все представлено классами BatchTaskBundle, BatchTaskBundleAssembler и их наследниками.
PS. На счет того, почему отмена закрытия реализована не так эффективно, как само закрытие склада: вероятно, руки не дошли, либо сценарий отмены был не самым приоритетным. В конце концов, на пресейлах можно козырять скоростью закрытия склада, но как-то странно выпячивать скорость отмены закрытия