Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.19.1150
Как известно, практически на любой объект информационной базы можно получить навигационную ссылку, которую, например, можно переслать коллеге, чтобы однозначно сослаться на документ, отчёт и т.д. В версии платформы 8.3.19 мы расширим функциональность навигационных ссылок – в них можно будет передавать дополнительные параметры.
С помощью этой функциональности можно будет не просто передать ссылку на отчёт, а передать ссылку на отчёт с конкретными параметрами (например, с заранее указанным периодом). Или передать ссылку на форму с динамическим списком с выбранной текущей строкой. Или передать ссылку на команду с параметрами.
Изменится диалог получения навигационной ссылки (который открывается по системной кнопке «Получить ссылку» или по сочетанию клавиш Ctrl + F11). Теперь его внешний вид зависит от типа объекта, на котором его вызвали. Вот как он выглядит для формы с динамическим списком:
Отчеты. Поддерживаются варианты отчетов и настройки.
Формы с динамическими списками. Поддерживаются текущие настройки и текущая строка динамического списка.
У форм появилось два новых обработчика – ОбработкаПолученияСпискаНавигационныхСсылок и ОбработкаПолученияНавигационнойСсылки.
Обработчик ОбработкаПолученияСпискаНавигационныхСсылок вызывается перед показом системного диалога получения навигационной ссылки. В нем можно сформировать список навигационных ссылок, который будет показан в системном диалоге:
Процедура ОбработкаПолученияСпискаНавигационныхСсылок(СписокНавигационыхСсылок, КлючПоУмолчанию) СписокНавигационыхСсылок.Добавить("СегодняшниеПисьма", "Сегодняшние письма"); СписокНавигационыхСсылок.Добавить("ПисьмаОтКлиентов", "Письма от клиентов"); КонецПроцедуры |
Процедура ОбработкаПолученияНавигационнойСсылки(Ключ, Представление, НавигационнаяСсылка, СтандартнаяОбработка) Если Ключ = "СегодняшниеПисьма" Тогда НавигационнаяСсылка = ПолучитьНавигационнуюСсылку( Метаданные.Документы.Письма, НастройкиСОтборомПоДате); СтандартнаяОбработка = Ложь; ИначеЕсли Ключ = "ПисьмаОтКлиентов" Тогда НавигационнаяСсылка = ПолучитьНавигационнуюСсылку( Метаданные.Документы.Письма, НастройкиСОтборомПоОтправителю); СтандартнаяОбработка = Ложь; КонецЕсли; КонецПроцедуры |
ПолучитьНавигационнуюСсылкуОтчета
ПолучитьНавигационнуюСсылкуТекущегоВариантаОтчета
ПолучитьНавигационнуюСсылкуТекущихНастроекОтчета
ПолучитьНавигационнуюСсылкуОбработки
ПолучитьНавигационнуюСсылкуСписка
ПолучитьНавигационнуюСсылкуТекущихНастроекСписка
ПолучитьНавигационнуюСсылкуОбъекта
ПолучитьНавигационнуюСсылкуЗаписи
Каждый метод имеет два необязательных параметра:
ПредставлениеНавигационнойСсылки (строка). Представление, которое будет помещено в хранилище внешних данных навигационных ссылок.
ВнешниеДанныеНавигационнойСсылки (структура). Сюда можно поместить любые необходимые данные.
Например, мы хотим переслать коллеге ссылку на документ продажи с выбранной нами строкой табличной части «Товары». Код соответствующих обработчиков будет выглядеть так:
Процедура ОбработкаПолученияСпискаНавигационныхСсылок(СписокНавигационыхСсылок, КлючПоУмолчанию) СписокНавигационыхСсылок.Добавить("СсылкаСВыбраннымТоваром", "Ссылка с выбранным товаром"); КонецПроцедуры Процедура ОбработкаПолученияНавигационнойСсылки(Ключ, Представление, НавигационнаяСсылка, СтандартнаяОбработка) Если Ключ = "СсылкаСВыбраннымТоваром" Тогда СтандартнаяОбработка = Ложь; ВыбранныйТовар = Новый Структура("ВыбранныйТовар", Элементы.Товары.ТекущаяСтрока); НавигационнаяСсылка = ПолучитьНавигационнуюСсылкуОбъекта( Представление, ВыбранныйТовар); КонецЕсли; КонецПроцедуры |