perspective-solutions / general-repository

0 stars 0 forks source link

[БТС] Сделать обработку многопоточного проведения #29

Closed michaelvasilyuk closed 5 years ago

michaelvasilyuk commented 5 years ago

Нам требуется написать обработку, которая в многопоточном режиме проведет документы, которые мы получаем из запроса. Текст запроса у нас уже есть: Текст запроса.txt.

В отличие от партионного учета, где мы должны сохранять последовательность проведения документов в разрезе склада/номенклатуры, тут нужно последовательно проводить документы только в разрезе склада.

Обработка полностью написана, нужно только адаптировать ее под новые условия. В Премьер-Техно есть обработка "МногопоточноеПроведениеПоПартиямПоКомпании". Берешь ее и дорабатываешь.

Все процедуры и функции на которые ссылается обработка в модуле Интеграция, переносим в модуль Журналы_Перепроведение.

Мы не можем реструктуризировать рабочую базу клиента, поэтому мы НЕ используем регистр сведений "АктивныеСеансыМногопоточныхОбработок" и комментим в обработке все, что с ним связано. Мы так же не можем использовать перечисление СтатусыОбработкиЗаданий, вместо этого используем в модуле обработки Переменную СтруктураСтатусовОбработкиЗаданий. Думаю идея понятна.

СтруктураСтатусовОбработкиЗаданий=Новый СтруктураСтатусовОбработкиЗаданий;
СтруктураСтатусовОбработкиЗаданий.Вставить("ВОжидании","ВОжидании");
СтруктураСтатусовОбработкиЗаданий.Вставить("ВОчереди","ВОчереди");
СтруктураСтатусовОбработкиЗаданий.Вставить("БезОчереди","БезОчереди");
СтруктураСтатусовОбработкиЗаданий.Вставить("ВОбработке","ВОбработке");
СтруктураСтатусовОбработкиЗаданий.Вставить("Обработан","Обработан");

По умолчанию: максимальное количество документов в очереди: 5, максимальное количество документов в обработке: 6.

Сам текст проведения документа нам тоже дали: ТекстПроведения.txt. Добавляем процедуру с этим текстом в модуль Журналы_Перепроведениепо аналогии с процедурой Интеграция.ПровестиПоПартиямТоваровПоКомпании().