Часто пользователи и администраторы систем на базе 1С сталкиваются с ситуацией, когда привычный предопределенный отчет внезапно исчезает из интерфейса или отсутствует в новой информационной базе. При этом в конфигураторе объект может присутствовать, а в режиме «Предприятие» его нет даже в списке «Все отчеты». Разберем основные причины этой проблемы и пошагово рассмотрим способы ее решения, опираясь на практику и механизмы Библиотеки стандартных подсистем (БСП).
Самая распространенная причина «исчезновения» отчета — его зависимость от настроек программы, так называемых функциональных опций. Разработчики часто связывают видимость целых подсистем или отдельных объектов с конкретными константами. Рассмотрим, как это проверить.
Если отчет, например «Наличные денежные средства в кассах ККМ», не отображается, проанализируем его метаданные. Откроем конфигуратор, найдем нужный отчет в дереве объектов и перейдем на вкладку «Функциональные опции». Выясним, в какие опции включен данный объект. Часто бывает, что отчет по кассам жестко привязан к опции АгентскиеПлатежиИРазделениеВыручки. Если эта «галочка» в настройках параметров системы не установлена, отчет будет скрыт программно на уровне платформы, даже если у пользователя полные права.
Для решения проблемы в режиме «Предприятие» необходимо найти соответствующую настройку (обычно в разделах «Администрирование» или «Настройки продаж/закупок») и включить ее. После этого отчет должен появиться в назначенных ему разделах интерфейса.
В современных конфигурациях (ERP, УТ 11, КА 2, БП 3.0) список доступных отчетов формируется не просто из дерева метаданных, а хранится в специальном справочнике ВариантыОтчетов. Если в этом справочнике отсутствует запись для конкретного отчета, пользователь его не увидит. Рассмотрим, как принудительно обновить эти данные.
Иногда после сбоев, некорректного тестирования и исправления или прерванного обновления информационной базы связи между конфигуратором и справочниками БСП нарушаются. Чтобы восстановить их, воспользуемся программными методами обновления. Выполним следующий код в консоли или внешней обработке:
// Обновление идентификаторов объектов метаданных
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеИнформационнойБазы();
// Принудительное обновление вариантов отчетов
ВариантыОтчетов.Обновить();
Эти команды инициируют поиск всех предопределенных отчетов, заложенных разработчиками в конфигурацию, и создают недостающие записи в системных таблицах базы данных. После выполнения этих процедур рекомендуется перезапустить сеанс пользователя.
Если программный вызов методов не помогает или нет возможности воспользоваться консолью кода, разберем способ запуска базы с параметром обновления. Этот метод заставляет систему выполнить все процедуры регистрации метаданных, которые обычно происходят при первом запуске после обновления версии.
/C ЗапуститьОбновлениеИнформационнойБазы.Система запустит длительный процесс обновления вспомогательных данных. Это поможет, если отчет существует в конфигурации, но «потерялся» в пользовательском интерфейсе из-за сбоя кэша или идентификаторов.
Проанализируем еще одну ситуацию: отчет есть в базе, но он выключен в панели навигации. В конфигурациях на БСП существует централизованное управление отчетами. Перейдем в раздел «Администрирование» — «Печатные формы, отчеты и обработки» — «Отчеты». В этом списке можно найти любой отчет и проверить два важных параметра:
Если вы не находите отчет в конкретном разделе (например, «Продажи»), попробуйте воспользоваться глобальным поиском в форме «Все отчеты». Если там отчет находится и открывается, значит, проблема ограничена только настройками командного интерфейса конкретного раздела.
В случае, если нужно быстро проверить работоспособность отчета, минуя все настройки интерфейса, воспользуемся режимом «Функции для технического специалиста» (ранее — «Все функции»).
Если отчет запускается отсюда, но отсутствует в стандартных панелях, значит, проблема кроется либо в функциональных опциях, либо в справочнике ВариантыОтчетов. Если же отчета нет даже в этом списке, необходимо проверить конфигуратор: возможно, объект был удален или скрыт в конкретной версии конфигурации.
Важный совет: Помните, что поиск в 1С через Google не всегда эффективен для поиска внутренних объектов метаданных. Всегда проверяйте состав функциональных опций в конфигураторе, если какой-то стандартный функционал кажется «вырезанным» из программы. Это сэкономит время на поиск несуществующих ошибок в коде.