Обработка выбирает и сортирует в хронологическом порядке документы РеализацияТоваровУслуг, ПеремещениеТоваров, СписаниеТоваров за период, но только те в которых хотя бы 1 товар имеет серии (сделано это потому, что у нас не каждый товар имеет серии, и проводить все документы не имеет смысла), далее выбранный документ распределяется по сериям (по стандартному алгоритму), после чего, выбираются и распределяются по сериям ордера подчинённые выбранному документу (в случае реализации это расходные ордера, в случае перемещения, приходные и расходные).
При распределении ордеров используется таблица остатков на момент родительского документа (чтобы обеспечить одинаковое размещение)
Сразу скажу что не обрабатываются «НакладныеТребования», если кому понадобится, можете добавить… (мне это было не надо).
Обработка писалась и тестировалась для ордерной схемы, но должна работать и для простой.
Обработка выполняется достаточно долго, поэтому если хотите проверить то запускайте за маленький период (в тестовой базе конечно)
Очень рекомендую сделать бэкап базы.
Перепроводить лучше когда в базе никого нет(т.к. иначе постоянно будет выскакивать конфликт блокировок и прерываться обработка) , однако я перепроводил и во время работы юзеров т.к не хватило ночи. Специально для этого в обработке предусмотрен выбор периода с точностью до секунд (чтобы продолжать обработку с места остановки)
В окно сообщений выводится информация о проведении документа. Внимание!!! Если продолжаете перепроводку после остановки, то необходимо начинать с последнего проведённого родительского документа (т.е с РТУ,Перемещения и т.д. а не с ордеров) т.к. именно они проводятся в хронологическом порядке.
P.S. Обработка написана в 2007 году, не помню для кокого релиза УТ, но работала в промышленных масштабах.
17.08.2012 Товарищем smilejka Протестирована и исправлена для УТ 10.3.18.3, за что ему спасибо!
Соответствующий файл добавлен!
Не стоит ожидать от обработки универсальности, красоты кода и оптимальности алгоритмов )
Всем Удачи!!!