Содержание:
1. Что такое навигационная ссылка?
2. Использование навигационных ссылок
3. Форматы навигационных ссылок
1. Что такое навигационная ссылка?
Приветствую, коллеги! В данной статье будет рассмотрено понятие навигационной ссылки в 1С. Я расскажу, как работать с данным типом ссылок программно, и какие существуют форматы данных ссылок.
В платформе 1С есть специальная функция – навигационная ссылка. Она служит для получения ссылки на объект в информационной базе. При помощи данной функции пользователь может делиться ссылки на документацию и объекты системы 1С. Чтобы получить навигационную ссылку, необходимо кликнуть на специальный знак вверху командной панели, как демонстрируется на скриншоте ниже:
Рис. 1 Как получить навигационную ссылку?
По данной навигационной ссылке можно открыть передаваемый объект у себя:
Рис. 2 Открытие объекта по навигационной ссылке
Данной функцией можно пользоваться лишь в управляемом приложении.
2. Использование навигационных ссылок
Рассмотрим, как происходит реализация навигационных ссылок в 1С 8.3. Для этого необходимо создать обработку: она будет рабочая и для обычного приложения, и будет делать подобие основной навигационной ссылки. В таком случае форма её обработки будет выглядеть следующим образом:
Рис. 3 Обработка для создания навигационных ссылок
В структуре метаданных будут находиться, помимо самой формы, следующие реквизиты:
· «ОбъектИБ» – у данного реквизита будет тип «Любая ссылка»;
· «СсылкаНаОбъект» – у данного реквизита будет тип «Строка», у которой будет длина 255 символов.
После того как в базе была выбрана нужная ссылка для объекта, необходимо кликнуть на «Получить ссылку», что запустит процесс формировки строки со ссылкой на объект, в которой будут содержаться данные про тип объекта, а также GUID объекта, чтобы провести однозначную идентификацию и, в последствии, открыть его. На скриншоте примера кода показана обработка для данной кнопки:
Рис. 4 Обработка для создания кнопки навигационной ссылки
По данной навигационной ссылке пользователь, которому она будет отправлена, имеет возможность открыть объект при помощи этой обработки. Если скопировать ссылку в поле «Ссылка на объект», то нужно будет подтвердить данное действие кликнув на «Перейти по ссылке». В случае, если ссылка правильная, откроется объект. Далее представлен код, который осуществляет вышеуказанную команду:
Рис. 5 Код для работы навигационной ссылки
Смысл данной команды состоит в том, что текст ссылки парсится, чтобы получить тип объекта, а также уникальный идентификатор для данного объекта, после чего объект будет открыт.
По принципу, который был использован в вышепредставленной обработке, можно встроить любую командную конфигурацию, чтобы получить и открыть навигационную ссылку в форме для документации, либо справочника.
3. Форматы навигационных ссылок
Навигационные ссылки делятся на внешние и внутренние ссылки, соответственно – для использования вне платформы «1С:Предприятие» и внутри данной системы. У ссылки есть две части:
1. сетевой адрес хоста информационной базы, в котором описывается расположение базы данных в клиентском приложении. Чтобы получить данную часть ссылки, необходимо использовать метод «ПолучитьНавигационнуюСсылкуИнформационнойБазы()»;
2. внутренняя ссылка, где описывается местонахождение объекта внутри информационной системы.
В свою очередь, внутренние ссылки делятся на объект информационной базы, реквизит объекта информационной базы, реквизит табличной части объекта информационной базы, реквизит записи регистра информационной базы, запись регистра информационной базы, отчет, обработку, раздел, команду раздела и временное хранилище.
Внешняя же ссылка получается при помощи добавления к хостовому адресу внутренней ссылки. В случае, когда при помощи ссылки будет открыта форма, либо будет происходить навигация по главному окну, внешняя ссылка будет получаться по такому принципу:
Рис. 6 Внешняя навигационная ссылка на форму
Если ссылка содержит некоторый ресурс, то внешняя ссылка будет формироваться так:
Рис. 7 Внешняя навигационная ссылка с ресурсом
Специалист компании «Кодерлайн»
Айдар Фархутдинов