При локализации конфигураций или переводе интерфейса пользователей на национальные языки разработчики часто сталкиваются с неприятным поведением платформы: при нажатии клавиши F1 или кнопки со знаком вопроса в форме документа система сообщает, что раздел справки не найден. В то же время у пользователей с русским языком интерфейса эта же справочная информация открывается корректно. Выясним причину такого поведения платформы и подробно разберем практические способы решения этой проблемы.
Проанализируем архитектуру хранения документации в платформе 1С:Предприятие. Справочная информация объектов метаданных и форм хранится в виде HTML-страниц раздельно для каждого языка, зарегистрированного в дереве метаданных в ветке Общие — Языки.
В платформе жестко заложено следующее поведение:
КнопкаСправки и вызов по клавише F1 жестко привязаны к встроенному механизму и не имеют настроек переопределения языка по умолчанию.Таким образом, чтобы справка открывалась у пользователей с другим языком интерфейса, необходимо либо физически наполнить справочные разделы для этого языка, либо скопировать в них исходные русские тексты, либо переопределить механизм вызова справочной информации.
Если конфигурация содержит небольшое количество объектов или справочные статьи требуется перевести вручную, воспользуемся штатным переключением языка разработки. Разберем этот процесс по шагам:
После сохранения и обновления конфигурации базы данных при работе под иностранным интерфейсом система найдет заполненную страницу и покажет справочную информацию.
Когда в конфигурации сотни документов, справочников и отчетов, ручное копирование текстов справки через интерфейс Конфигуратора занимает слишком много времени. В такой ситуации применим автоматизированный подход с выгрузкой метаданных в файлы XML и HTML.
Разберем алгоритм пакетного переноса:
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /IBConnectionString "..." /DumpConfigToFiles "C:\ConfigDump"
ru.html).Help_ru.html в Help_az.html)./LoadConfigFromFiles.В результате все пользователи с альтернативным языком интерфейса получат доступ к полной справочной информации конфигурации без рутинной ручной работы.
Если дублирование страниц в метаданных нежелательно (например, из-за увеличения размера метаданных или сложности последующего обновления на типовые релизы), можно реализовать собственный механизм открытия документации.
Рассмотрим порядок реализации:
КнопкаСправки = Ложь.Строка, отображаемым на форме как элемент управления Поле HTML-документа.Для крупных международных систем эффективным решением является отказ от встроенной справки в пользу внешних веб-порталов (Wiki, Confluence, внутренний сайт поддержки). В этом случае по нажатию кнопки помощи выполняется перенаправление в браузер:
&НаКлиенте
Процедура КомандаСправка(Команда)
АдресСправки = "https://wiki.company.com/docs/" + ТекущийЯзык() + "/sales_order";
ПерейтиПоНавигационнойСсылке(АдресСправки);
КонецПроцедуры
Такой подход позволяет актуализировать справочные материалы и переводы силами методистов без необходимости постоянного внесения изменений в конфигурацию и обновления баз данных пользователей.