Почему не отображаются документы в журнале в 1С:БГУ 2.0 и как это исправить

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

При работе в конфигурации «Бухгалтерия государственного учреждения 2.0» (БГУ 2.0) пользователи и администраторы иногда сталкиваются с неприятной ситуацией: документы (например, Отчет кассира 52Н или Отчет кассира 173Н) успешно созданы, проведены и отображаются в своих формах списков, но при открытии общего журнала документов этот список оказывается абсолютно пустым. В этой статье мы вместе разберем, почему так происходит, проанализируем внутренние механизмы платформы и программных решений, а также изучим пошаговый алгоритм восстановления данных.

Разберем причину: архитектура динамических списков и «Реестр документов»

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

Когда мы открываем журнал документов в БГУ 2.0, система чаще всего обращается не к самим документам, а к записям этого регистра. Если по какой-то причине записи в регистре отсутствуют или стали неактуальными, динамический список журнала будет пуст, даже если база заполнена документами. Рассмотрим подробнее, что может привести к «выпадению» данных из этого реестра.

Влияние расширений конфигурации на видимость документов

Одной из наиболее частых причин возникновения проблемы является использование расширений конфигурации. Рассмотрим типичный сценарий, который приводит к ошибке:

  1. В систему добавлено расширение, которое вносит изменения в структуру документов (например, добавляет новый реквизит).
  2. Выполняется процедура «Тестирование и исправление» (ТиИ) с включенной опцией «Реструктуризация таблиц».
  3. Из-за особенностей работы платформы с расширениями механизм автоматического обновления регистра РеестрДокументов может «потерять» связь с документами, реквизиты которых были изменены или дополнены через расширение.

В результате документы физически остаются в базе, но ссылка на них в системном реестре исчезает. Именно поэтому в форме списка самого документа данные видны (там обращение идет напрямую к таблице документа), а в журнале — нет.

Способ 1: Восстановление реестра через манипуляции с расширениями

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

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

Способ 2: Использование типовой обработки обновления реестра

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

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

Эта обработка принудительно перечитает данные из таблиц документов и заново сформирует записи в регистре сведений РеестрДокументов.

Способ 3: Программное восстановление данных (для программистов)

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


// Пример программного обновления записей в реестре документов
Процедура ОбновитьРеестрДляТипаДокумента(ТипДокумента)
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   Док.Ссылка КАК Ссылка
        |ИЗ
        |   Документ." + ТипДокумента + " КАК Док";
    
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    
    Пока Выборка.Следующий() Цикл
        // Вызываем метод общего модуля БСП для обновления данных реестра
        РеестрДокументов.ОбновитьДанныеДокументаВРеестре(Выборка.Ссылка);
    КонецЦикла;
КонецПроцедуры

Обратите внимание, что имя общего модуля и метода может незначительно отличаться в зависимости от версии БСП, используемой в вашей редакции БГУ 2.0 (например, РеестрДокументов.ОбновитьДанныеДокумента или РеестрДокументовСлужебный.ОбновитьДанныеДокумента).

Дополнительные факторы: RLS и функциональные опции

Если вышеперечисленные методы не помогли, разберем еще две возможные причины:

Резюме

Подводя итог, можно сказать, что «исчезновение» документов из журналов в БГУ 2.0 чаще всего связано с повреждением данных в регистре «Реестр документов». Основным «виновником» здесь выступают расширения в сочетании с реструктуризацией базы. Использование типовой обработки «Обновление реестра документов» является наиболее безопасным и быстрым способом решения данной проблемы.

← На главную