В типовых конфигурациях 1С:Предприятие (таких как 1С:Зарплата и Управление Персоналом, 1С:ERP, 1С:Бухгалтерия и 1С:Управление торговлей), разработанных на базе Библиотеки стандартных подсистем (БСП), иногда возникает критическая ошибка: пользователи перестают видеть сохраненные варианты отчетов. При этом физически записи в базе сохраняются — если выполнить запрос к справочнику ВариантыОтчетов через консоль запросов, все элементы отображаются корректно, однако в пользовательском интерфейсе отчеты становятся недоступны.
Разберем причины такого поведения платформы и конфигурации, а также подробно рассмотрим способы оперативного восстановления доступа к вариантам отчетов.
Проанализируем техническую сторону подсистемы «Варианты отчетов» в БСП. Отображение отчетов и их вариантов жестко связано со служебным справочником ИдентификаторыОбъектовМетаданных, настройками видимости по подсистемам и кэшем метаданных платформы. Основные причины сбоя включают в себя:
rphost приводят к тому, что запросы на выборку вариантов отчетов возвращают пустую выборку.ВариантыОтчетов могут сброситься флаги видимости по разделам командного интерфейса.Самый быстрый и действенный способ восстановить работу механизма отчетов — принудительно инициировать процедуры обновления вспомогательных данных БСП при запуске информационной базы.
Разберем по шагам, как запустить этот процесс:
/C ЗапуститьОбновлениеИнформационнойБазы (обратите внимание на ключ /C на латинице).При таком старте конфигурация заново выполнит проверку и сопоставление метаданных, актуализирует регистры сведений и перезаполнит таблицы соответствий справочника ВариантыОтчетов. После успешного входа обязательно закроем базу и удалим добавленный параметр из строки запуска, чтобы база не запускала полное обновление при каждом старте.
Если требуется выполнить восстановление программно без перезапуска сеансов всех пользователей или в режиме отладки, воспользуемся вызовом стандартных процедур БСП.
Посмотрим на пример кода, который можно выполнить во внешней обработке или через контекст конфигуратора:
// Принудительное обновление идентификаторов метаданных
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанные();
// Если требуется явное обновление служебных структур вариантов отчетов:
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов");
МодульВариантыОтчетов.ОбновитьДанныеПодсистемы();
КонецЕсли;
Выполнение этих процедур синхронизирует связи между реальными объектами метаданных конфигурации и их внутренними идентификаторами в базе данных.
Проверим доступность вариантов через стандартный административный интерфейс конфигурации:
Если варианты отчетов пропадают регулярно после перезапуска службы сервера или появления ошибок нехватки памяти, проанализируем состояние серверной части:
1C:Enterprise 8.3 Server Agent. В каталоге srvinfo (путь по умолчанию: C:\Program Files\1cv8\srvinfo) найдем рабочий кластер и очистим содержимое временных папок кэша (каталоги с GUID-именами и кэш сеансов), после чего запустим службу заново.%AppData%\1C\1Cv8 и %LocalAppData%\1C\1Cv8.