Задача: Типовая УНФ 1.6.21.124. Добавить на форму кнопку, при нажатии на которую открывалась бы история состояний Заказа покупателя.
Регистр сведений с состоянием Заказов уже есть в УНФ, поэтому самым простым решением мне показалось:
1. Добавить гиперссылку на форму, видимость которой только если состояний 2+ в регистре сведений.
2. При нажатии на кнопку - открывается форма со списком состояний и датой.
Немного напоминает гиперссылку с историей КПП у контрагентов, не правда ли?)
Казалось бы, что может быть проще. Но загвоздка оказалась в п.2. Кнопку добавить программно - труда не составляет, но вот чтобы добавить ей команду через расширение, не добавляя туда форму, задача для меня оказалась новой.
Несколько неудачных вариантов, после - гуглёж. И только в одной из сотни, наверное, тем, оказался один маленький комментарий с подсказкой, с пометкой что придется обновить платформу до 8.3.19. Кажется, тема была даже на инфостарте.
Итак, собственно, решение:
1. Добавляем новую команду в документ Заказ покупателя в расширение, указав Тип параметра команды - ДокументСсылка.ЗаказПокупателя. В команде открываем форму списка регистра сведений, передав туда ссылку на Заказ.
2. Открываем общий модуль УправлениеСвойствами, находим процедуру ПриСозданииНаСервере, добавляем в расширение с
Вся суть в строке команды, с данной строкой задуманное не будет работать на предыдущих платформах (по причине: Неверно задана навигационная ссылка).
Нажав на гиперссылку, в вызванную команду попадает параметр - ссылка на наш документ. Всё)
Есть другие варианты написания строки команды:
1. Для команды документа
e1cib/command/Документ.ЗаказПокупателя.Команда.Доп_ИсторияСостояний?cmdprm=946600ac22c70fb811eb47a7eb659961
2. Для общей команды
e1cib/command/ОбщаяКоманда.Доп_ИсторияСостояний?cmdprm=946600ac22c70fb811eb47a7eb659961
3. Для массива с одним типом данных
e1cib/command/ОбщаяКоманда.Доп_ИсторияСостояний?cmdprm=946600ac22c70fb811eb47a7eb659961,946600ac22c70fb811eb47a7eb000000
4. Для массива с несколькими типами данных, если параметр команды имеет составной тип
e1cib/command/ОбщаяКоманда.Доп_ИсторияСостояний?cmdprm=ДокументСсылка.ЗаказПокупателя:946600ac22c70fb811eb47a7eb659961,ДокументСсылка.РасходнаяНакладная:a9b000055d49b45e11db8c4c9d5c4223
Возможно, о других решениях я не в курсе, но задача решена, и это главное)
Кому нужно, может скачать расширение с решением.