Групповая обработка объектов


Обработка предназначена для группового изменения реквизитов (в том числе системных) объектов одного вида, а также формирования простейшей выборки оригинальных или модифицированных значений реквизитов для печати
Возможности:
1. Работает быстро. Все выбранные пользователем операции производится (там, где это возможно) без лишних обращений к базе данных, используя динамическую выборку (не запросы), без формирования промежуточного полного списка обрабатываемых объектов (хотя последнее возможно, при необходимости). Внешних обработок не подключается, все обработчики встроенные.
2. Возможность обрабатывать более 1 атрибута одновременно. Для каждого атрибута можно задавать фиксированное значение или выражение на встроенном языке.
3. Возможность ренумерации справочников и документов с вытеснением объектов, занимающих генерируемые коды/номера, из последовательности нумерации. Формат номеров описывается в виде шаблона. В качестве переменных в шаблоне можно использовать элементы старого номера, автоматический нумератор с указанным шагом и строку, построенную на основе внутреннего идентификатора объекта. Последнее незаменимо при выгрузке данных из баз, в которых не соблюдается уникальность кодов после "дороработки" - такие справочники перед выгрузкой ренумеруются на основи внутренних ИД (в копии базы, естественно).
4. Присутствуют примитивные возможности установки даты/времени документов, снятия/установки признаков проведения и пометки на удаление, полное удаление объектов без контроля ссылочной целостности.
5. Вывод в журнал подробной информации о производимых операциях, формирование журнала в табличной форме.
6. Вывод в табличный документ выбранных реквизитов объектов (шаблон табличного документа можно использовать внешний, по аналогии со встроенной формой).
7. Отключение записи в журнал регистрации содержимое внутреннего журнала обработки.
8. Отключение регистрации изменений УРБД (дает возможность произвести массовые обработки отдельно в разных базах, не вызывая передачи всех обработанных объектов целиком по каналам связи).

Минусы:
1. Конечно же, сделана "на коленке",  промышленного качества не ждать... но работает, не знаю, что делал бы без неё!
2. Нельзя выполнить отбор документов по содержимому многострочной части, в частности, вываливет в журнал документы, в которых не обработано ни одной строки, но они прошли по фильтру шапки документа.
3. Не отслеживает повторное попадание в выборку и повторную же обработку объектов. Ососбенно замечательно при ренумерации ...
4. Не сохраняет таблицу преобразования номеров в легко загружаемом виде, только в виде части строковой колонки отчета.
5. Втроенная  печатная форма до безобразия примитивная... Есть шикарные функции формирования таблицы с расчетом ширины столбцов по содержимому, но в другом проекте, но нужна адаптация и обобщение. Времени есессно нет...
6. Нет возможности обрабатывать несколько видов объектов за один проход и в перемежку - за этим к аналогичной обработке то 1С.
7. Не проверяет наличие дубликатов номеров/кодоыв объектов. Если в результате каких-то катаклизмов появились дубликаты номеров/кодов, нарушающие уникальность нумерации, не следует пытаться сразу перенумеровать объекты с тем же префиксом, что и существующие "кривые" номера. Нужно выполнить сначало временную нумерацию с неиспользуемым в базе данных префиксом в шаблоне и неиспользуемым же префиксом вытеснения так, чтобы исчезла ВСЯ неуникальность, а затем перенумеровать объекты, используя "правильный" префикс, который будет использоваться постоянно в дальнейшем.
8. ... найдете сами.

В общем-то, пункты 2-4 уже в реализации, ибо я на них уже наступил... и будут они там, пока я не освобожусь, увы.

Файлы обработки:

-