В процессе разработки внешних обработок или прикладных решений в обычном приложении 1С (версии 8.2 или 8.3 в режиме совместимости) часто возникает ситуация, когда справочная информация уже заполнена в конфигураторе, но в пользовательском режиме она остается недоступной. Рассмотрим детально, как сделать справку видимой для пользователя, как добавить соответствующие элементы управления и решим проблему с отображением графических данных в справочных материалах.
Разберем самый простой и быстрый способ вывода справки. В обычном приложении за вывод стандартных действий, таких как «Справка» или «Закрыть», отвечает объект КоманднаяПанель. Если вы создали форму вручную и не включили автоматическое заполнение, кнопка с вопросиком не появится сама собой.
Для активации стандартных кнопок выполним следующие шаги:
КоманднаяПанель (обычно она находится в верхней или нижней части формы).Истина.Проанализируем результат: после установки этого свойства на панели автоматически появится подменю «Действия», внутри которого будет пункт «Справка» (или отдельная кнопка с синим вопросительным знаком). Система сама свяжет это действие с разделом справки, который привязан к данной форме.
Бывают ситуации, когда Автозаполнение использовать неудобно (например, если на панели должно быть строго ограниченное количество кнопок с уникальным оформлением). В этом случае мы можем добавить кнопку справки вручную. Рассмотрим алгоритм действий:
КоманднаяПанель и откроем коллекцию Кнопки.Действие.Справка.Таким образом, мы жестко закрепляем за кнопкой вызов справочной системы, и она будет работать штатно, открывая окно, заполненное в редакторе справки конфигуратора.
Иногда требуется вызвать справку при наступлении определенного события или по нажатию произвольной кнопки на форме (не на командной панели). Для этого в обычном приложении предусмотрен встроенный метод формы ОткрытьСправку(). Рассмотрим пример реализации:
Предположим, у нас есть кнопка с именем КнопкаПомощь. Пропишем для нее обработчик нажатия:
Процедура КнопкаПомощьНажатие(Кнопка)
// Вызываем стандартное окно справки текущей формы
ЭтаФорма.ОткрытьСправку();
КонецПроцедуры
Выясним причину, по которой справка может не открыться: если у объекта (обработки) или у конкретной формы не заполнено поле Справочная информация в конфигураторе, метод ОткрытьСправку() не приведет к результату. Поэтому всегда проверяйте наличие текста в редакторе справки на уровне корня обработки.
Часто разработчики сталкиваются с тем, что текст справки отображается корректно, а вместо картинок видны «пустые квадраты». Разберем, как правильно вставлять изображения в HTML-редактор справки обычного приложения.
Правило 1. Метод вставки. Никогда не используйте простое копирование (Copy-Paste) картинок из браузера или графического редактора напрямую в окно справки. При таком подходе 1С часто не может корректно инкапсулировать бинарные данные в файл обработки. Используйте только кнопку Вставить картинку на панели инструментов редактора справки.
Правило 2. Форматы и имена файлов. Платформа 1С в обычном приложении наиболее стабильно работает с форматами JPG и GIF. При использовании PNG возможны проблемы с прозрачностью. Также крайне важно, чтобы имена файлов картинок не содержали кириллицы и пробелов. Рекомендуем формат имен: img_step_1.jpg.
Правило 3. Проверка путей. Если картинка не отображается, переключитесь в режим просмотра HTML-кода (кнопка с угловыми скобками в редакторе). Ссылка на изображение должна выглядеть как внутренний идентификатор, а не как абсолютный путь к вашему локальному диску (например, C:\MyDocuments\pic.jpg — это неправильно). После правильной вставки через меню 1С сама преобразует путь во внутреннюю ссылку.
Проанализируем ситуацию, когда в обработке много форм и для каждой нужна своя справка. Чтобы при нажатии клавиши F1 открывался нужный раздел, необходимо настроить свойство Контекст справки:
Если оставить эти поля пустыми, система будет пытаться открыть справку «по умолчанию» для всей обработки целиком. Правильная настройка контекста позволяет пользователю получать релевантную помощь именно по тому разделу, в котором он сейчас находится, что значительно повышает удобство работы с вашим программным продуктом.