При разработке новых объектов в конфигурации (справочников, документов или целых подсистем) программисты часто сталкиваются с досадной проблемой: текст справки написан, галочки установлены, но при нажатии клавиши F1 пользователь видит стандартное окно «Работа с формами» вместо нужного описания. В этой статье мы подробно разберем, почему платформа может игнорировать вашу справку, и проанализируем последовательность шагов для решения этой задачи.
Первым делом нам необходимо убедиться, что новый объект или подсистема физически включены в общее содержание справки всей конфигурации. Одной лишь галочки в свойствах самого справочника «Включать в содержание справки» может быть недостаточно, если иерархия нарушена на верхнем уровне.
Выполним следующие действия:
F1 будет выдавать общую информацию.Ситуация, когда справка «написана на одном языке, а отображается на другом», встречается чаще, чем кажется. Разберем этот нюанс подробнее. Платформа 1С жестко привязывает текст справки к коду языка, определенному в конфигурации.
Проверим следующие моменты:
ru, а в параметрах запуска пользователя или в настройках операционной системы установлена локаль ru_RU, платформа в некоторых случаях может не сопоставить эти данные.Если ваша конфигурация построена на базе Библиотеки стандартных подсистем (БСП), то простого добавления объекта в метаданные недостаточно. БСП хранит информацию об объектах в специальных справочниках, таких как ИдентификаторыОбъектовМетаданных. Если эти данные не актуализированы, механизмы платформы (включая справочную систему) могут работать некорректно.
Посмотрим на пример кода, который часто пытаются использовать для решения проблемы вручную:
&НаСервере
Процедура ОбновитьНаСервере()
Справочники.ИдентификаторыОбъектовМетаданных.ВыполнитьОбновлениеДанных(Истина, Ложь, Ложь, Истина);
КонецПроцедуры
Однако, как показывает практика, вызова одной лишь этой функции бывает недостаточно. Для полной инициализации всех внутренних регистров и связей БСП рекомендуется запускать информационную базу с параметром:
/C СтартОбновленияИнформационнойБазы
Это заставит систему выполнить все регламентные процедуры обновления вспомогательных данных, что критически важно для корректной работы контекстной справки.
Выясним причину, по которой справка может не открываться из конкретной формы. В 1С существует два уровня справочной информации:
ФормаЭлемента).Если вы заполнили справку для объекта, но в самой форме свойство Справка (HelpContext) пустое или указывает на неверный путь, контекстный вызов может не сработать. Проверим свойства формы: поле «Справка» должно содержать путь в формате Справочник.ИмяВашегоСправочника.Справка.
Если все настройки верны, но справка всё равно не отображается, возможно, дело в «битом» кэше. Важно понимать, что помимо обычного кэша метаданных, у 1С существует локальный кэш индекса справки.
Проанализируем ситуацию: пользователь может удалить папки с ID базы в AppData, но это не всегда помогает. Попробуем очистить специализированную папку:
%AppData%\1C\1cv8\Help\
Удаление этой папки при закрытом клиенте и конфигураторе заставит систему перестроить индекс справки при следующем запуске. Также стоит проверить, воспроизводится ли проблема на другом компьютере. Если на другом ПК справка видна — проблема однозначно в локальном кэше текущей станции.
Не забудем про систему прав. Если у пользователя нет права «Просмотр» (View) на данный объект метаданных, платформа может блокировать вывод любой информации по нему, включая справочную. Даже если форма открыта программно, отсутствие прав в роли может привести к тому, что F1 не сработает. Убедимся, что новые объекты включены во все необходимые роли пользователей. Для быстрой проверки доступности объектов у различных пользователей можно использовать инструмент для анализа и управления ролями в конфигурациях на БСП.
Если вы добавляете объекты через расширение, помните о нюансах платформы. В некоторых версиях 8.3 справка из расширения может не подтягиваться в общий индекс корректно, если основной язык расширения не совпадает с основным языком основной конфигурации. Проверьте соответствие языковых настроек в свойствах расширения.
Подводя итог, можно сказать, что решение проблемы с невидимой справкой обычно кроется в цепочке: Содержание справки (корень) -> Язык интерфейса -> Идентификаторы БСП -> Кэш индекса справки. Последовательная проверка этих звеньев гарантированно приведет к восстановлению работоспособности справочной системы.