Частенько вонзникают задачи вида: проставить реквизит в документе или тч. Или исправить данные в регистрах/проводках.
Конечно же написать обработку для такого случая не сложно, но! Если данных слишком много, то она будет выполняться несколько часов, в течении которых мы не будет знать сколько уже выпонилось. А может вообще все повисло?
В БСП конечно есть подсистема фоновых заданий, которая умеет отображать прогресс, но объем вспомогательного кода достаточно велик.
Как раз для этого и разработан данный шаблон. Пишем только бизнесс-логику, весь интерфейсный код уже готов.
Так же для примера уже готовые обработчики:
- Шапки документа
В запросе выбираются все документы, которые еще не обработаны и в цикле обрабатываются - ТЧ документа
В запросе выбираются все документы и номера строк, которые еще не обработаны и в цикле обрабатываются - Регистра
В запросе выбираются все регистраторы и номера строк, которые еще не обработаны и в цикле обрабатываются - Проводок
В запросе выбираются все регистраторы, номера строк и признак Дт-Кт, которые еще не обработаны и в цикле обрабатываются
Для примера показана установка валюты в NULL для неалютных счетов
При обработке передается состяние прогресса типовыми методами БСП.
Также есть параметр для отладки "Кол-во строк", те обработать только первые несколько записей. Для проверки работоспособности кода (не хочется запускать обрабротку на 1000 тыщ документов, а потом узнать что она работает некорректно).
Обработку можно подключить как внешнюю и настроить выполнение обработчиков по расписанию
Работает для любой конфигурации на БСП, проверено на БП 3.0.65.
PS. Обработка использует подсистему длительных заданий как основу и избавляет от написания интерфейсного кода по созданию и запуску фоновых, а также отображению прогресса
версия: 19.11.2024
[+] Сохранение галочек в таблице
умеет обображать прогресс
Работает к сожалению только если ее открыть как внешний файл или если выполнить команду открытия формы.
Если ее поместить в справочник «Внешние обработки», то команды обработки документов, проводок и т.п. не запускаются.
(2) В команде стоит
нужно закомментирвоать участок