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

18.02.22

Разработка - Работа с интерфейсом

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

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

Пример создания ссылки

//здесь просто из формы документа создаётся другой документ, в табличную часть Сообщения нового документа добавляется строка и в поле Ссылочка вставляется строка ссылки на обработку ЗалитьДанныевДокОбработка с параметром в виде структуры

Если ЗначениеЗаполнено(Объект.ДокументКуда) Тогда
	
	ДокОб=Объект.ДокументКуда.ПолучитьОбъект();
	
Иначе
	
	ДокОб=Документы.ДокументКудаЗаливаем.СоздатьДокумент();
	
	ДокОб.Дата=ТекущаяДата();
	
	ДокОб.Записать();
	
	Объект.ДокументКуда=ДокОб.Ссылка;
	
КонецЕсли;

НовСтр=ДокОб.Сообщения.Добавить();

ПараметрыСсылки=Новый Структура ("Документ,Контрагент,ВидОтчетности",Объект.Ссылка,Объект.Контрагент,Объект.ВидОтчетности);



//пример, собственно, вот

Ссылочка= ПолучитьНавигационнуюСсылку(Метаданные.Обработки.ЗалитьДанныевДокОбработка,Строка(Объект.Контрагент)+" " +Строка(Объект.ВидОтчетности),ПараметрыСсылки);

НовСтр.Ссылочка=Ссылочка;

ДокОб.Записать();

Ссылка имеет такой вид e1cib/app/Обработка.ЗалитьДанныевДокОбработка?extdata=a05a2bd4-7516-49f1-887c-e18d29ae8924 .

Далее в созданном документе по ссылке в строке табличной части можно перейти по навигационной ссылке в поле "Ссылочка".

 

&НаКлиенте
Процедура ПерейтиПоСсылке(Команда)
	
	ТекДанные=Элементы.Сообщения.ТекущиеДанные;
	
	ТекСтрока=Элементы.Сообщения.ТекущаяСтрока;
	
	Строка=Объект.Сообщения.Получить(ТекСтрока);
	
	ПерейтиПоНавигационнойСсылке(Строка.Ссылочка);
	
КонецПроцедуры

В результате открывается обработка ЗалитьДанныевДокОбработка, где в событии ПриСозданииНаСервере видно параметры, описанные в структуре.

Параметры ссылки сохраняются, как я понимаю,  в специальном хранилище внешних данных ссылок. Лично мне как-то не по себе, что по любой команде ПолучитьНавигационнуюСсылку в базу добавляются данные, которые потом нельзя посмотреть.

Это рабочий код на 1С:Предприятие 8.3 (8.3.19.1351).

навигационные ссылки параметрами

См. также

Управление дашбордами

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    17187    23    4    

37

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11668    776    elcoan    46    

107

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    10205    157    acces969    31    

120

Модель состояния для MVC

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    4206    kalyaka    4    

31

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

Подсистема условного оформления элементов форм (далее подсистема) предназначена для настройки оформления элементов форм (видимость, доступность, цвет фона, цвет текста и прочее) в пользовательском режиме 1С. Также подсистему возможно использовать для ограничения доступа к реквизитам формы для определенных пользователей (или групп пользователей).

6000 руб.

18.01.2022    9107    1    2    

6

Программный интерфейс для доработки форм

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    10006    AtamanovYS    19    

141
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. МимохожийОднако 142 20.02.22 10:10 Сейчас в теме
Было бы неплохо добавить пример или рассказ, где это применяешь в практической работе.
4. GPL 3 22.02.22 17:14 Сейчас в теме
(1) Был ко мне вопрос. в табличной части документа хранилась таблица с переменным количеством колонок. И нужно было из других объектов базы иметь возможность читать и изменять ячейки этой таблицы (набор <документ, справочник 1, справочник 2 >) .
При этом добавлять реквизиты для хранения этого очень не хотелось. Таким образом с помощью ссылок в текстовой части можно сохранить ссылки для нужного набора ячеек. По ссылке запускается обработка, которая в табличной части документа (параметр 1) находит строку с нужными значениями полей (параметр 2, параметр 3). В обработке можно отредактировать нужные данные и сохранить.
У меня возникло сомнение, можно ли сделать такие ссылки в 1С. Поиск показал, что такая возможность появилась, но примеров не было.
На пустой базе попробовал реализовать, убедился, что можно и выложил результат, чтобы кому-то облегчить жизнь.
2. levante90 22.02.22 11:15 Сейчас в теме
У меня вот такая ошибка при получении навигационной ссылки с параметрами.
Может подсказать кто-нибудь?

{mngbase/GetURLListDlg.lf(74)}: Row.URL = FormHelperExtObj.GetURLByKey(Row.Key, URLPresentation);
{mngbase/GetURLListDlg.lf(200)}: UpdateURL();
по причине:
Ошибка получения навигационной ссылки. Не поддерживается параметр extdata.
3. GPL 3 22.02.22 16:52 Сейчас в теме
(2) приведите код, пожалуйста. навскидку я бы предположил, что релиз старый и не ещё не поддерживает эту возможность
5. andryandry 98 15.05.22 10:35 Сейчас в теме
(2) ошибка связана с уровнем совместимости, ограниченным в настройках. повысьте уровень до 8.3.19
levante90; +1 Ответить
Оставьте свое сообщение