Неверный тип навигационной ссылки 1с

Обновлено: 07.07.2024

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Планируется в версии 8.3.19 Пробовать

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

С помощью этой функциональности можно будет не просто передать ссылку на отчёт, а передать ссылку на отчёт с конкретными параметрами (например, с заранее указанным периодом). Или передать ссылку на форму с динамическим списком с выбранной текущей строкой. Или передать ссылку на команду с параметрами.

Изменится диалог получения навигационной ссылки (который открывается по системной кнопке «Получить ссылку» или по сочетанию клавиш Ctrl + F11). Теперь его внешний вид зависит от типа объекта, на котором его вызвали. Вот как он выглядит для формы с динамическим списком:

img-01.jpg

img-02.jpg

А вот как – для отчёта:

img-03.jpg

При получении «расширенной» ссылки можно задать ее имя:

img-04.jpg


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

Отчеты. Поддерживаются варианты отчетов и настройки.

Формы с динамическими списками. Поддерживаются текущие настройки и текущая строка динамического списка.

У форм появилось два новых обработчика – ОбработкаПолученияСпискаНавигационныхСсылок и ОбработкаПолученияНавигационнойСсылки.

СписокНавигационыхСсылок.Добавить("СегодняшниеПисьма", "Сегодняшние письма");

СписокНавигационыхСсылок.Добавить("ПисьмаОтКлиентов", "Письма от клиентов");

Об ошибке

Ранее я уже писал про ошибки в 1С, например про такую: “Расширение мешает обновлению 1С“. А теперь разберём другую ошибку в 1С.

Например, вы пытаетесь открыть портал ИТС из базы 1С:


И вместо открытия странички в браузере, получаете следующую ошибку:

Неверно задана навигационная ссылка

Вообще навигационная ссылка, это не всегда ссылка для открытия web страничек в браузере. Разработчики могут их использовать, как ссылки на объекты в базе 1С. А пользователи ими могут пользоваться как показано в этом видео.

Установка браузера по умолчанию

Windows 10 и Windows Server 2019

В Windows 10 и Windows Server 2019 установка браузера по умолчанию делается следующим способом. В меню “Пуск” открываем “Параметры“:

Пуск / Параметры

Затем, в открывшемся окне выбираем “Приложения“:

Параметры Windows / Приложения

После чего, нажимаем кнопку “Приложения по умолчанию“:


Ну и наконец-то делаем то, что и хотели. А именно выбираем браузер, который будет использоваться по умолчанию в нашей системе и для нашего пользователя. Да, если это терминальный сервер и пользователей много, это нужно проделать под каждым пользователем:


В серверной системе Windows Server 2019 браузер по умолчанию устанавливается аналогичным способом.

Windows 7 и Windows Server 2012

На Windows Server 2012 r2 и Windows 7 настройка браузера по умолчанию выполняется из Панели управления. Там выбираем “Программы по умолчанию“:


Дальше, в открывшемся окне, нажимаем ссылку “Задание программ по умолчанию“:


И следующим шагом в списке программ находим ваш браузер, и нажимаем кнопку “Использовать эту программу по умолчанию“:

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

Ошибка вылетает в модуле объекта, в процедуре «ПриКомпоновкеРезультата», при выполнении Компоновщика макета:

Кто-то сталкивался с такой ошибкой? В чем причина? Как боролись?

(1) Получилось решить вопрос? Также после обновления на 8.3.15 с 8.3.13 столкнулись с проблемой с функцией ПолучитьНавигационнуюСсылку в СКД в вычисляемых полях.

(13) Достаточно обернуть в свою обертку :). Видимо проверка функций глобального контекста делается сразу же в конфигураторе и не дает корректно работать даже после сохранен. Обращаемся к прокси функции в любом своем общем серверном модуле и все готово!

Функция НавигационнаяСсылкаНаОбъект(СсылкаНаОбъект) Экспорт

Проблема в том, что в Вычисляемых полях есть использование экспортной функции. Видимо, в новой платформе есть какие-то ограничения на это. Ранее все работало без проблем. Может, кто знает тонкости использования функций в вычисляемых полях?? Сейчас так: СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими(««»», ПолучитьНавигационнуюСсылку(Запрос), «») (2) Может поле "Запрос" стало принимать некорректные значения? NULL, Неопределено или что-нибудь подобное. (3)Нет, с полем «Запрос» точно все в порядке, это проверила. (4) уже в 3.14 в ПолучитьНавигационнуюСсылку() первым параметром можно передать только ссылочный тип

(7) значит не ссылочный, раз ругается, я так понимаю, по коду нужно убрать в строке двойные кавычки, а Запрос по сути не является ссылочным типом в рамках конфигурации

на уровне версии - попробуйте изменить вызов на просто передачу текста запроса

(8)нет, нет, запрос является ссылочным типом. Запрос - это ссылка на справочник «Запросы» (9) может следует проверить, что там действительно ссылка, а не объект (10) Я же говорю, там ссылочный тип. Ни объект, ни строка, ни какой-либо другой тип. Запрос - СправочникСсылка.Запросы. Проблема в Получении Навигационной ссылки. Судя по всему, как-то по-другому ее нужно получать в скд.. но вопрос «как»??

Вариант 1: ОкноКлиентскогоПриложения (ClientApplicationWindow)
ПолучитьНавигационнуюСсылку (GetURL)
Синтаксис:
Код 1C v 8.х
ПолучитьНавигационнуюСсылку()

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

Приветствую, коллеги! В данной статье будет рассмотрено понятие навигационной ссылки в 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 Внешняя навигационная ссылка на форму

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

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