Как перезаполнить или исправить данные в регистре «Реестр документов» в 1С:Комплексная автоматизация 2 и ERP

Программист 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация IT и автоматизация бизнеса
← На главную

В современных конфигурациях 1С, таких как 1С:Комплексная автоматизация 2 (КА) и 1С:ERP Управление предприятием, работа журналов документов (например, журналы продаж, закупок или складских актов) строится на использовании специального технического регистра — РеестрДокументов. Этот регистр аккумулирует в себе ключевые данные из множества различных типов документов: дату, номер, сумму, валюту, контрагента и статус. Это позволяет системе мгновенно отображать списки без необходимости обращения к тяжелым таблицам самих документов.

Однако иногда возникает ситуация, когда данные в журнале «расходятся» с данными в самом документе (например, после некорректного обмена или группового изменения реквизитов). В этом случае требуется полное или частичное перезаполнение реестра. Рассмотрим подробно, как это сделать штатными и программными средствами.

Использование встроенной обработки «Исправление реестра документов»

Самый простой и доступный способ для пользователя или администратора — воспользоваться встроенным инструментом системы. Рассмотрим, как найти и запустить эту обработку, если она не выведена в основной интерфейс.

Проанализируем стандартный путь через интерфейс «Функции для технического специалиста» (в старых версиях — «Все функции»):

  1. Откроем главное меню (три полоски в левом верхнем углу или кнопка «Сервис и настройки»).
  2. Перейдем в раздел «Функции для технического специалиста». Если этот пункт не отображается, необходимо включить его в настройках параметров (Параметры — Режим «Режим технического специалиста»).
  3. В открывшемся окне в строке поиска введем название: Исправление реестра документов.
  4. Запустим найденную обработку.

Разберем ситуацию, когда поиск не дает результатов. В некоторых релизах КА 2.4 или 2.5 обработка может быть скрыта из общего списка. В этом случае мы можем воспользоваться механизмом перехода по ссылке. Для этого выполним следующие действия:

  1. Нажмем Shift + F11 или перейдем в меню «Сервис и настройки» — «Перейти по ссылке».
  2. Вставим внутренний адрес объекта: e1cib/app/Обработка.ИсправлениеРеестраДокументов.
  3. Нажмем «Перейти».

После запуска обработки система предложит проанализировать состояние реестра и выполнить его заполнение. Стоит учитывать, что на больших базах этот процесс может занять значительное время, поэтому рекомендуется запускать его в периоды минимальной активности пользователей.

Программное обновление данных через менеджер регистра

Если нам требуется более гибкий контроль или автоматизация процесса (например, обновление только за определенный период или по конкретному типу документа), целесообразно обратиться к программным методам. Рассмотрим структуру метаданных конфигурации. В менеджере регистра сведений РеестрДокументов заложена мощная логика для актуализации записей.

Основным методом является процедура ОтразитьДанныеДокументовВРеестре(). Выясним, как ее использовать в коде. Данная процедура принимает массив ссылок на документы или описание видов документов и выполняет пересчет записей в реестре.

Посмотрим на пример кода, который можно запустить во внешней обработке или через консоль кода для принудительного обновления данных по конкретному типу документа:


// Определим массив типов документов, которые нужно актуализировать
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("ДокументСсылка.РеализацияТоваровУслуг"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПриобретениеТоваровУслуг"));

// Вызываем штатный метод менеджера регистра
РегистрыСведений.РеестрДокументов.ОтразитьДанныеДокументовВРеестре(МассивТипов);

Рассмотрим подробнее, что происходит «под капотом». Система берет данные из документов указанных типов и сопоставляет их с текущим состоянием регистра РеестрДокументов. Если обнаруживаются расхождения или отсутствие записей, система вносит корректировки. Это значительно безопаснее, чем ручная очистка регистра, так как сохраняется целостность ссылочных связей.

Регламентное задание для автоматической актуализации

Проанализируем механизмы автоматического поддержания порядка в реестре. В типовых решениях предусмотрено регламентное задание «Заполнение реестра документов». Если вы заметили, что журналы постоянно отображают неактуальную информацию, в первую очередь проверьте состояние этого задания:

  1. Перейдем в раздел НСИ и Администрирование — Обслуживание.
  2. Выберем пункт Регламентные и фоновые задания.
  3. Найдем в списке задание с наименованием Заполнение реестра документов.
  4. Убедимся, что оно включено и выполняется по расписанию (обычно раз в несколько минут или часов в зависимости от интенсивности документооборота).

Если задание завершается с ошибкой, это может быть сигналом о наличии «битых» ссылок в базе или блокировках таблиц. В таком случае запуск ручной обработки «Исправление реестра документов» поможет выявить проблемные объекты. Для прямого просмотра и точечной правки записей при анализе сбоев можно использовать обработку для корректировки записей регистра сведений.

Особенности работы в высоконагруженных базах

Выясним важную техническую деталь: начиная с некоторых релизов версии 2.4.7 и выше, процедура обновления реестра встроена в механизмы универсального обмена данными. Это означает, что при загрузке документов через Enterprise Data или другие механизмы обмена, система автоматически пытается обновить реестр.

Важно: На больших объемах данных это может приводить к существенным задержкам при синхронизации. Если обмен данными идет медленно, стоит проверить, не тратит ли система основное время на перепроверку всего реестра. В некоторых случаях разработчики временно отключают этот механизм в коде обмена, чтобы выполнить массовую загрузку, а затем запускают полное перестроение реестра в ночное время через вышеупомянутую обработку.

Риски при очистке регистра

Рассмотрим ситуацию, когда администратор решает полностью очистить регистр РеестрДокументов (например, через запрос или «Удаление объектов»), надеясь, что система заполнит его автоматически. Это крайне рискованный шаг!

Поскольку все современные журналы документов в 1С:КА и ERP используют динамические списки, настроенные на этот регистр, его очистка приведет к тому, что все списки документов (продажи, закупки и т.д.) станут абсолютно пустыми. Хотя сами документы физически останутся в базе, работать с ними через стандартный интерфейс станет невозможно до полного окончания процесса восстановления реестра. Поэтому всегда используйте только штатную обработку Исправление реестра документов, которая умеет работать итерационно и не блокирует чтение данных для пользователей.

Подводя итог, отметим, что правильная работа с регистром РеестрДокументов — это залог быстрого интерфейса и актуальности данных в глазах пользователя. Используйте комбинацию регламентных заданий для повседневной работы и штатную обработку для устранения разовых сбоев.

← На главную