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

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 1С:ERP Управление предприятием 2 Платные (руб)

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

2400 руб.

29.06.2020    18491    26    6    

41

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

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

20.08.2024    14357    mrXoxot    43    

116

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

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    6472    smielka    37    

98

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

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

27.12.2023    13929    840    elcoan    47    

115

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

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

2 стартмани

10.04.2023    11461    161    acces969    31    

123

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

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

1 стартмани

05.07.2022    5206    kalyaka    6    

33

Работа с интерфейсом Программист Пользователь Платформа 1С v8.3 8.3.14 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Ещё с времен платформы 8.3.13 можно изменять цвет стилей интерфейса главного окна. Данное расширение позволит вам выбрать из подготовленных десятка стилей на свой вкус.

1 стартмани

01.07.2022    23647    383    rpgshnik    67    

96
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 99 15.05.22 10:35 Сейчас в теме
(2) ошибка связана с уровнем совместимости, ограниченным в настройках. повысьте уровень до 8.3.19
levante90; +1 Ответить
Оставьте свое сообщение