При работе в конфигурации «Бухгалтерия государственного учреждения 2.0» (БГУ 2.0) пользователи и администраторы иногда сталкиваются с неприятной ситуацией: документы (например, Отчет кассира 52Н или Отчет кассира 173Н) успешно созданы, проведены и отображаются в своих формах списков, но при открытии общего журнала документов этот список оказывается абсолютно пустым. В этой статье мы вместе разберем, почему так происходит, проанализируем внутренние механизмы платформы и программных решений, а также изучим пошаговый алгоритм восстановления данных.
Прежде чем переходить к активным действиям, нам необходимо понять, как устроены современные журналы документов в конфигурациях, построенных на базе Библиотеки стандартных подсистем (БСП). В старых версиях 1С журналы документов напрямую обращались к таблицам самих документов. Однако для ускорения работы, особенно в крупных базах, разработчики внедрили вспомогательный механизм — регистр сведений РеестрДокументов.
Когда мы открываем журнал документов в БГУ 2.0, система чаще всего обращается не к самим документам, а к записям этого регистра. Если по какой-то причине записи в регистре отсутствуют или стали неактуальными, динамический список журнала будет пуст, даже если база заполнена документами. Рассмотрим подробнее, что может привести к «выпадению» данных из этого реестра.
Одной из наиболее частых причин возникновения проблемы является использование расширений конфигурации. Рассмотрим типичный сценарий, который приводит к ошибке:
РеестрДокументов может «потерять» связь с документами, реквизиты которых были изменены или дополнены через расширение.В результате документы физически остаются в базе, но ссылка на них в системном реестре исчезает. Именно поэтому в форме списка самого документа данные видны (там обращение идет напрямую к таблице документа), а в журнале — нет.
Проанализируем метод, предложенный опытными специалистами. Если проблема возникла после добавления реквизитов через расширение, следует выполнить следующие шаги:
Реестра документов.Если вы не хотите удалять расширения или этот способ не помог, разберем более мягкий вариант. В составе БСП часто присутствует скрытая обработка, предназначенная именно для таких случаев. Выясним, как ее запустить:
Эта обработка принудительно перечитает данные из таблиц документов и заново сформирует записи в регистре сведений РеестрДокументов.
Бывают ситуации, когда типовые обработки не справляются. В этом случае мы можем написать небольшой фрагмент кода, который вызовет методы БСП для принудительной регистрации документов. Проанализируем пример кода, который можно запустить во внешней обработке:
// Пример программного обновления записей в реестре документов
Процедура ОбновитьРеестрДляТипаДокумента(ТипДокумента)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Док.Ссылка КАК Ссылка
|ИЗ
| Документ." + ТипДокумента + " КАК Док";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
// Вызываем метод общего модуля БСП для обновления данных реестра
РеестрДокументов.ОбновитьДанныеДокументаВРеестре(Выборка.Ссылка);
КонецЦикла;
КонецПроцедуры
Обратите внимание, что имя общего модуля и метода может незначительно отличаться в зависимости от версии БСП, используемой в вашей редакции БГУ 2.0 (например, РеестрДокументов.ОбновитьДанныеДокумента или РеестрДокументовСлужебный.ОбновитьДанныеДокумента).
Если вышеперечисленные методы не помогли, разберем еще две возможные причины:
Подводя итог, можно сказать, что «исчезновение» документов из журналов в БГУ 2.0 чаще всего связано с повреждением данных в регистре «Реестр документов». Основным «виновником» здесь выступают расширения в сочетании с реструктуризацией базы. Использование типовой обработки «Обновление реестра документов» является наиболее безопасным и быстрым способом решения данной проблемы.