Почему дублируются документы поступления безналичных платежей в 1С и как это исправить?

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

Рано или поздно любой специалист по сопровождению или бухгалтер, работающий в конфигурациях на базе современных ERP-платформ (например, «1С:Управление торговлей 11», «1С:Комплексная автоматизация 2» или «1С:ERP Управление предприятием»), сталкивается с загадочным поведением списков документов. Представьте ситуацию: в журнале «Безналичные платежи» одно и то же поступление внезапно отображается несколько раз подряд — например, ровно по 7 штук. При этом у всех дублей абсолютно идентичны суммы, даты, время проведения и номера. Более того, если распровести одну строку, проведение снимается со всех семи документов одновременно. Пометка на удаление также синхронно устанавливается или снимается на всей группе строк.

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

Почему это происходит? Выясняем причину

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

Для оптимизации работы и быстрого построения сложных списков документов в ERP-решениях используется специальный служебный механизм. Он опирается на регистр сведений РеестрДокументов и служебный справочник КлючиРеестраДокументов. При открытии журнала динамический список выполняет сложный поисковый запрос, который связывает таблицу документов левым соединением со справочником ключей реестра. Если в этих служебных таблицах нарушается уникальность записей (происходит замусоривание или задвоение данных), то левое соединение в запросе динамического списка начинает множить физическую строку документа на количество дублирующих записей в ключевом реестре.

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

  1. Слияние дублей контрагентов или партнеров. Если бухгалтер или администратор воспользовался стандартной обработкой «Поиск и удаление дублей» для очистки справочника контрагентов, старые «хвосты» в служебном справочнике КлючиРеестраДокументов могут остаться незамеченными. Теперь они ссылаются на одного и того же (уже объединенного) контрагента. Это также объясняет, почему при выводе списка через стандартную команду «Вывести список» в итоговой таблице внезапно появляются контрагенты, которых в самом документе нет и не должно быть — запрос динамического списка подтягивает их из замусоренных ключей.
  2. Ошибки при обновлении базы данных. Некорректно или не до конца отработавшие отложенные обработчики обновления, которые должны были актуализировать данные реестра документов под новую структуру конфигурации.
  3. Сбои при синхронизации данных. Некорректно прошедшие обмены с «1С:Бухгалтерией» или повторные загрузки банковских выписок через встроенный Клиент-Банк.

Как исправить проблему: пошаговая инструкция

Чтобы гарантированно устранить визуальное дублирование строк, нам необходимо почистить служебный справочник ключей реестра и восстановить согласованность данных в системе.

Важно: Перед выполнением любых административных или технических операций в базе данных обязательно сделайте резервную копию (бэкап) вашей информационной базы!

Разберем по шагам процесс исправления данных:

Шаг 1. Включение режима технического специалиста

Для доступа к служебным таблицам нам понадобятся права администратора и специальный режим отображения меню:

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

Шаг 2. Переход в служебный справочник ключей

  1. Снова откройте главное меню программы и выберите самый нижний пункт — «Функции для технического специалиста».
  2. В строке поиска открывшегося окна введите название справочника: Ключи реестра документов.
  3. Дважды кликните по найденному справочнику, чтобы открыть форму его списка.

Шаг 3. Запуск встроенных процедур исправления

Разработчики 1С предусмотрели механизмы самодиагностики для этого узла. При открытии формы справочника система автоматически проанализирует записи в базе данных. В верхней части формы вы увидите предупреждающие надписи красного цвета:

  1. Если на экране отображается предупреждение: «Есть дубли ключей реестра документов...» — нажмите на гиперссылку «Запустить процедуру удаления дублей».
  2. Если вы видите надпись: «Есть элементы справочников, для которых не созданы ключи...» — нажмите на гиперссылку «Запустить процедуру создания недостающих ключей».
  3. Также мы настоятельно рекомендуем запустить процедуру под названием «Проверить корректность отражения документов в реестре документов». Если в ходе анализа будут выявлены ошибки соответствия, система предложит ссылку «Запустить процедуру переотражения» — обязательно выполните и её.

Шаг 4. Проверка результата

После завершения работы всех фоновых процедур исправления красные надписи в шапке справочника сменятся на стандартное уведомление о том, что дубли и ошибки отсутствуют. Теперь вернемся в журнал ЖурналДокументовБезналичныеПлатежи и обновим список клавишей F5 (или просто перезапустим программу). Все дублирующиеся строки исчезнут, а контрагенты в журнале начнут отображаться корректно.

Дополнительные рекомендации

Поскольку реестр документов тесно задействован во внутренних механизмах платформы (включая расчеты себестоимости и распределение затрат), после успешной очистки дублей ключей мы советуем выполнить перепроведение документов и заново закрыть те прошлые периоды, в которых наблюдались ошибки отображения данных. Это полностью исключит возможные расхождения в отчетах о прибылях и убытках.

← На главную