Получить навигационную ссылку 1с

Обновлено: 07.07.2024

Вариант 1: ОкноКлиентскогоПриложения (ClientApplicationWindow)
ПолучитьНавигационнуюСсылку (GetURL)
Синтаксис:
Код 1C v 8.х
Возвращаемое значение:
Тип: Строка.
Описание: Получает навигационную ссылку в формате 1С:Предприятия на текущую форму.
Доступность: Тонкий клиент, веб-клиент, толстый клиент, внешнее соединение.

Вариант 2: Глобальный контекст (Global context)
ПолучитьНавигационнуюСсылку (GetURL)
Синтаксис:
Код 1C v 8.х
Параметры: <Объект> (обязательный)
Тип: Ссылка на объект информационной базы. Ссылка на объект. <ИмяРеквизита> (необязательный)
Тип: Строка. Имя реквизита объекта или ресурса Регистра сведений, для которого нужно выяснить ссылку. Если это реквизит табличной части объекта, то параметр указывается как <имя табличной части>.<имя реквизита>, то есть с разделителем "." (точка).
<Индекс> (необязательный)
Тип: Число. Индекс строки в табличной части, в том случае если объект является реквизитом табличной части. Первая строка имеет индекс равный 0.
Возвращаемое значение: Тип: Строка.
Описание: Получает текст ссылки на объект информационной базы или его реквизит в формате 1С:Предприятия.
В первом случае принимает в качестве параметра ссылку на объект (это может быть как ссылка, так и ключ записи регистра сведений). Объектом могут быть: справочник, документ, ключ записи регистра сведений, бизнес процессы, задачи.
Во втором, в качестве параметров принимает ключ объекта (это может быть как ссылка, так и ключ записи регистра сведений) и имя реквизита (ресурса). Если нужно получить ссылку на реквизит табличной части, перед именем реквизита необходимо добавить имя табличной части и точку ".".
Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание: Выполняет обращение к серверу только при получении ссылки на реквизит. При получении ссылки на объект информационной базы запрос на сервер не выполняется.
Код 1C v 8.2 УП

Получить навигационную ссылку для константы?
Вопрос: В конфигурации есть константа с типом ХранилищеЗначения для хранения изображения. Пытаюсь реализовать Загрузку и Выгрузку изображения: СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Константы.Логотип.Получить());
где СсылкаНаКартинку - реквизит формы с типом строка, а на форме есть элемент, у которого путь к данным = СсылкаНаКартинку
Возможно ли реализовать отображение картинки таким образом, или стоит хранить картинку где-либо еще?
Ответ:
Навигационную ссылку на константу получить не получится(
Получится только так:
Код 1C v 8.2 УП
т.е. в процедуру ПриСозданииНаСервере поместить картинку во временное хранилище и она там сидит пока закроете форму

Есть форма списка справочника "Сотрудники".
В нем есть реквизит "Фото", который имеет тип "СправочникСсылка.ХранилищеДополнительнойИнформации" (справочник "ХранилищеДополнительнойИнформации" по структуре полностью совпадает анологичным справочником в 1С 8.1).
В реквизиты формы списка добавил "АдресКартинки" тип "строка", в элементы добавил поле "Картинка" (вид - поле картинки) с путем к данным "АдресКартинки". Как вывести Картинку?

Ответ:
Код 1C v 8.2 УП
"Хранилище" - это "стандартный" реквизит справочника "ХранилищеДополнительнойИнформации".

Имеется регистр сведений с именем "Изображения" следующей структуры:
Измерения:
- ИдИзображения (тип - уникальный идентификатор);
Реквизиты:
- Изображение (тип - ХранилищеЗначений)
Реализовать возможность записи изображений в него, проблемы не составило. А застрял на получении навигационной ссылки на нужную запись регистра?
Ответ - Для регистра сведений первым параметром должен быть ключ записи, а не ссылка на объект.
Т.е. если есть регистр сведений ХранилищеКартинок с изменением Ном (тип справочник Ном) и ресурс Картинка (тип хранилище значений) - код для получения навигационной ссылки должен быть примерно таким:
Код 1C v 8.2 УП

Вариант 1: ОкноКлиентскогоПриложения (ClientApplicationWindow)
ПолучитьНавигационнуюСсылку (GetURL)
Синтаксис:
Код 1C v 8.х
Возвращаемое значение:
Тип: Строка.
Описание: Получает навигационную ссылку в формате 1С:Предприятия на текущую форму.
Доступность: Тонкий клиент, веб-клиент, толстый клиент, внешнее соединение.

Вариант 2: Глобальный контекст (Global context)
ПолучитьНавигационнуюСсылку (GetURL)
Синтаксис:
Код 1C v 8.х
Параметры: <Объект> (обязательный)
Тип: Ссылка на объект информационной базы. Ссылка на объект. <ИмяРеквизита> (необязательный)
Тип: Строка. Имя реквизита объекта или ресурса Регистра сведений, для которого нужно выяснить ссылку. Если это реквизит табличной части объекта, то параметр указывается как <имя табличной части>.<имя реквизита>, то есть с разделителем "." (точка).
<Индекс> (необязательный)
Тип: Число. Индекс строки в табличной части, в том случае если объект является реквизитом табличной части. Первая строка имеет индекс равный 0.
Возвращаемое значение: Тип: Строка.
Описание: Получает текст ссылки на объект информационной базы или его реквизит в формате 1С:Предприятия.
В первом случае принимает в качестве параметра ссылку на объект (это может быть как ссылка, так и ключ записи регистра сведений). Объектом могут быть: справочник, документ, ключ записи регистра сведений, бизнес процессы, задачи.
Во втором, в качестве параметров принимает ключ объекта (это может быть как ссылка, так и ключ записи регистра сведений) и имя реквизита (ресурса). Если нужно получить ссылку на реквизит табличной части, перед именем реквизита необходимо добавить имя табличной части и точку ".".
Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание: Выполняет обращение к серверу только при получении ссылки на реквизит. При получении ссылки на объект информационной базы запрос на сервер не выполняется.
Код 1C v 8.2 УП

Получить навигационную ссылку для константы?
Вопрос: В конфигурации есть константа с типом ХранилищеЗначения для хранения изображения. Пытаюсь реализовать Загрузку и Выгрузку изображения: СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Константы.Логотип.Получить());
где СсылкаНаКартинку - реквизит формы с типом строка, а на форме есть элемент, у которого путь к данным = СсылкаНаКартинку
Возможно ли реализовать отображение картинки таким образом, или стоит хранить картинку где-либо еще?
Ответ:
Навигационную ссылку на константу получить не получится(
Получится только так:
Код 1C v 8.2 УП
т.е. в процедуру ПриСозданииНаСервере поместить картинку во временное хранилище и она там сидит пока закроете форму

Есть форма списка справочника "Сотрудники".
В нем есть реквизит "Фото", который имеет тип "СправочникСсылка.ХранилищеДополнительнойИнформации" (справочник "ХранилищеДополнительнойИнформации" по структуре полностью совпадает анологичным справочником в 1С 8.1).
В реквизиты формы списка добавил "АдресКартинки" тип "строка", в элементы добавил поле "Картинка" (вид - поле картинки) с путем к данным "АдресКартинки". Как вывести Картинку?

Ответ:
Код 1C v 8.2 УП
"Хранилище" - это "стандартный" реквизит справочника "ХранилищеДополнительнойИнформации".

Имеется регистр сведений с именем "Изображения" следующей структуры:
Измерения:
- ИдИзображения (тип - уникальный идентификатор);
Реквизиты:
- Изображение (тип - ХранилищеЗначений)
Реализовать возможность записи изображений в него, проблемы не составило. А застрял на получении навигационной ссылки на нужную запись регистра?
Ответ - Для регистра сведений первым параметром должен быть ключ записи, а не ссылка на объект.
Т.е. если есть регистр сведений ХранилищеКартинок с изменением Ном (тип справочник Ном) и ресурс Картинка (тип хранилище значений) - код для получения навигационной ссылки должен быть примерно таким:
Код 1C v 8.2 УП

Приветствую, коллеги! В данной статье будет рассмотрено понятие навигационной ссылки в 1С. Я расскажу, как работать с данным типом ссылок программно, и какие существуют форматы данных ссылок.

В платформе 1С есть специальная функция – навигационная ссылка. Она служит для получения ссылки на объект в информационной базе. При помощи данной функции пользователь может делиться ссылки на документацию и объекты системы 1С. Чтобы получить навигационную ссылку, необходимо кликнуть на специальный знак вверху командной панели, как демонстрируется на скриншоте ниже:

Рис. 1 Как получить навигационную ссылку?

По данной навигационной ссылке можно открыть передаваемый объект у себя:



Рис. 2 Открытие объекта по навигационной ссылке

Данной функцией можно пользоваться лишь в управляемом приложении.

2. Использование навигационных ссылок

Рассмотрим, как происходит реализация навигационных ссылок в 1С 8.3. Для этого необходимо создать обработку: она будет рабочая и для обычного приложения, и будет делать подобие основной навигационной ссылки. В таком случае форма её обработки будет выглядеть следующим образом:



Рис. 3 Обработка для создания навигационных ссылок

В структуре метаданных будут находиться, помимо самой формы, следующие реквизиты:

· «ОбъектИБ» – у данного реквизита будет тип «Любая ссылка»;

· «СсылкаНаОбъект» – у данного реквизита будет тип «Строка», у которой будет длина 255 символов.

После того как в базе была выбрана нужная ссылка для объекта, необходимо кликнуть на «Получить ссылку», что запустит процесс формировки строки со ссылкой на объект, в которой будут содержаться данные про тип объекта, а также GUID объекта, чтобы провести однозначную идентификацию и, в последствии, открыть его. На скриншоте примера кода показана обработка для данной кнопки:



Рис. 4 Обработка для создания кнопки навигационной ссылки


Рис. 5 Код для работы навигационной ссылки

Смысл данной команды состоит в том, что текст ссылки парсится, чтобы получить тип объекта, а также уникальный идентификатор для данного объекта, после чего объект будет открыт.

По принципу, который был использован в вышепредставленной обработке, можно встроить любую командную конфигурацию, чтобы получить и открыть навигационную ссылку в форме для документации, либо справочника.

3. Форматы навигационных ссылок

Навигационные ссылки делятся на внешние и внутренние ссылки, соответственно – для использования вне платформы «1С:Предприятие» и внутри данной системы. У ссылки есть две части:

1. сетевой адрес хоста информационной базы, в котором описывается расположение базы данных в клиентском приложении. Чтобы получить данную часть ссылки, необходимо использовать метод «ПолучитьНавигационнуюСсылкуИнформационнойБазы()»;

2. внутренняя ссылка, где описывается местонахождение объекта внутри информационной системы.

В свою очередь, внутренние ссылки делятся на объект информационной базы, реквизит объекта информационной базы, реквизит табличной части объекта информационной базы, реквизит записи регистра информационной базы, запись регистра информационной базы, отчет, обработку, раздел, команду раздела и временное хранилище.

Внешняя же ссылка получается при помощи добавления к хостовому адресу внутренней ссылки. В случае, когда при помощи ссылки будет открыта форма, либо будет происходить навигация по главному окну, внешняя ссылка будет получаться по такому принципу:

Рис. 6 Внешняя навигационная ссылка на форму

Если ссылка содержит некоторый ресурс, то внешняя ссылка будет формироваться так:

Приветствую, коллеги! В данной статье будет рассмотрено понятие навигационной ссылки в 1С. Я расскажу, как работать с данным типом ссылок программно, и какие существуют форматы данных ссылок.

В платформе 1С есть специальная функция – навигационная ссылка. Она служит для получения ссылки на объект в информационной базе. При помощи данной функции пользователь может делиться ссылки на документацию и объекты системы 1С. Чтобы получить навигационную ссылку, необходимо кликнуть на специальный знак вверху командной панели, как демонстрируется на скриншоте ниже:

Рис. 1 Как получить навигационную ссылку?

По данной навигационной ссылке можно открыть передаваемый объект у себя:



Рис. 2 Открытие объекта по навигационной ссылке

Данной функцией можно пользоваться лишь в управляемом приложении.

2. Использование навигационных ссылок

Рассмотрим, как происходит реализация навигационных ссылок в 1С 8.3. Для этого необходимо создать обработку: она будет рабочая и для обычного приложения, и будет делать подобие основной навигационной ссылки. В таком случае форма её обработки будет выглядеть следующим образом:



Рис. 3 Обработка для создания навигационных ссылок

В структуре метаданных будут находиться, помимо самой формы, следующие реквизиты:

· «ОбъектИБ» – у данного реквизита будет тип «Любая ссылка»;

· «СсылкаНаОбъект» – у данного реквизита будет тип «Строка», у которой будет длина 255 символов.

После того как в базе была выбрана нужная ссылка для объекта, необходимо кликнуть на «Получить ссылку», что запустит процесс формировки строки со ссылкой на объект, в которой будут содержаться данные про тип объекта, а также GUID объекта, чтобы провести однозначную идентификацию и, в последствии, открыть его. На скриншоте примера кода показана обработка для данной кнопки:



Рис. 4 Обработка для создания кнопки навигационной ссылки


Рис. 5 Код для работы навигационной ссылки

Смысл данной команды состоит в том, что текст ссылки парсится, чтобы получить тип объекта, а также уникальный идентификатор для данного объекта, после чего объект будет открыт.

По принципу, который был использован в вышепредставленной обработке, можно встроить любую командную конфигурацию, чтобы получить и открыть навигационную ссылку в форме для документации, либо справочника.

3. Форматы навигационных ссылок

Навигационные ссылки делятся на внешние и внутренние ссылки, соответственно – для использования вне платформы «1С:Предприятие» и внутри данной системы. У ссылки есть две части:

1. сетевой адрес хоста информационной базы, в котором описывается расположение базы данных в клиентском приложении. Чтобы получить данную часть ссылки, необходимо использовать метод «ПолучитьНавигационнуюСсылкуИнформационнойБазы()»;

2. внутренняя ссылка, где описывается местонахождение объекта внутри информационной системы.

В свою очередь, внутренние ссылки делятся на объект информационной базы, реквизит объекта информационной базы, реквизит табличной части объекта информационной базы, реквизит записи регистра информационной базы, запись регистра информационной базы, отчет, обработку, раздел, команду раздела и временное хранилище.

Внешняя же ссылка получается при помощи добавления к хостовому адресу внутренней ссылки. В случае, когда при помощи ссылки будет открыта форма, либо будет происходить навигация по главному окну, внешняя ссылка будет получаться по такому принципу:

Рис. 6 Внешняя навигационная ссылка на форму

Если ссылка содержит некоторый ресурс, то внешняя ссылка будет формироваться так:

Читайте также: