При запуске очередного проекта потребовалось несколько раз перепроводить документы. Т.к. достаточно было перепровести документы только по одному регистру, а иногда и надо было только изменить движения одного регистра, то задумался о подобной обработки. Кроме этого такой подход сократил время выполнения операции. Подходящего не нашёл, кроме этого были уже наработки, поэтому сделал свою.
Обработка использует механизм проведения, реализованный в УТ 11.4: сбор данных выполняется в модуле менеджера и складывается в виде таблиц с определёнными именами. На других конфигурациях не тестировал. Проверял ещё на УТ 11.0 -- надо исправить неск. строк. Если потребуется, то могу выложить. Тестировалась на платформе 8.3.10.2699.
Особенности обработки в том, что можно увидеть список видов документов, делающих движения по регистру, а затем и список документов, по кот. будет изменения движений. Причем в список будет включены все проведенные документы (даже, если на данный момент этот документ движение по выбранному регистру не сделал). Как пользоваться обработкой, думаю, понятно из рисунка.
2019 03 11
1. Добавил отбор по периоду.
2. Добавил проверку на наличие таблицы движения. Если таблицы нет, то документ пропускается. Такое бывает, например, для регистра "Резервы товаров организаций" при перепроведении реализации товаров и услуг.
2019 06 09
Добавил отбор произвольным запросом. Запрос надо предварительно отладить в консоли и готовый вставить в обработку. Заполнить параметры то же придётся вручную. Времени наводить красоту не было. В запросе д.б. поле "Ссылка" и "Дата".
2019 12 05
Добавил регистры сведений, подчинённые регистратору. В списке выбора регистры накопления помечены "(об.)" или "(ост.)" после представления. Для регистров сведений выводится только представление. См. картинку.
В УТ есть независимый регистр сведений "Реестр документов". Для "перепроведения" по этому регистру сделал отдельную обработку. Мне, например, потребовалась такая штука для заполнения суммы СФ после соответствующей доработки. Интерфейс полностью аналогичен исходной обработке только нет выбора регистра. Естественно обработка только для конфигурации УТ 11.4 (вероятно будет работать и в КА и УП аналогичной версии).
2021 01 19
Немного оптимизировал обработку для "больших" задач.
1. Запрос теперь формируются не полностью, а только по нужному регистру (передаю имя регистра в качестве 3-го параметра). Такая возможность появилась относительно недавно, поэтому не гарантирую, что увидите прирост производительности на старых версиях. Работало во всех случаях, сделал так:
try
МенеджерОбъекта.ИнициализироватьДанныеДокумента(докСсылка, допСвойства, пИмяРегистра);
except
МенеджерОбъекта.ИнициализироватьДанныеДокумента(докСсылка, допСвойства);
endTry;
2. Реализовал отображение процента выполнения. См. картинку.
3. Отображение сколько записей было, сколько стало перенёс в таблицу (раньше выводил в виде сообщения).
Реализация п.1 дала существенный прирост производительности, в моём случае с часов до десятков минут.
2023 02 28
Из-за путаницы с версиями оставил одну. Добавил возможность записи движений в режиме "Загрузка данных".
2024 0303
Сделал вариант для версии 11.5.8. Интерфейс не поменялся. Не уверен, что заработает с документами ЕГАИС. Проверял на версии УТ 11.5.8.443.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.8.443, 11.4.14.181