Показать сообщение отдельно
Старый 28.03.2017, 20:51   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
? Отмена закрытия склада
Привет всем.
Хочу обсудить отмену закрытия склада (версия ax 2009 RU5, но думаю, что актуально и для 2012 - 7.0)

Отмена закрытия склада в пакете имеет неприятную особенность - при отмене генерируется очень много дополнительных пакетных задач (InventCostClosingCancel_WorkInvent) по одной на каждую отменяемую номенклатуру.
В нашем случае получается от 10 до 35 тысяч пакетных заданий. Естественно они занимают все доступные потоки на пакетном сервере и все остальные пакеты вынуждены ждать пока пройдет отмена, что нарушает график работы других пакетов. Также из-за того что пакетный сервер запускает пакетные задания не мгновенно (а где то раз в 30-60 секунд просматривает перечень пакетов) - то получается, что неэффективно время используется - много времени может тратиться вхолостую.

Я подумал, почему бы (вариант а) по аналогии с закрытием склада не генерировать только InventParameters.CloseBatchHelpers дополнительных пакетных заданий (помощников), прописав в каждом свой набор отменяемых номенклатур (а не одну как сейчас в InventCostClosingCancel_WorkInvent).

Или опять же по аналогии с с закрытием склада (вариант б) записать перечень отменяемых номенклатур в табличку (InventCostList), заставив пакетных помощников читать данные из этой таблички и отменять по ним сопоставления в InventSettlement.

Любой из этих вариантов будет работать быстрее, чем стандартный. Не будет забивать доступные потоки в пакетном сервере, соответственно, не будет мешать другим пакетам. Вариант Б пожалуй даже получше будет - более эффективно задействует мощность сервера, так как в любой момент времени будут задействованы все запланированные задания помощники.


Вопрос такой :
1. Есть ли у описанных подходов недостатки по сравнению со стандартом?
2. Почему в стандарте так не сделали? Ведь варианты а)-б) сами напрашивались по аналогии с закрытием склада.

Может я чего-то не понимаю в логике работы отмены закрытия склада ?