Недавно мне потребовалось сделать кнопку, по нажатию которой пользователь переносился в другой раздел на панели разделов при этом должны была открыться форма в пределах главного окна. Пытался найти в интернете, решения именно такой задачи не нашел, потому описываю сам.
Сначала я сделал простое открытие формы, которая располагалась в другом разделе и указывал что открывать надо в текущем окне. Примерно так:
ОткрытьФорму("ОбщаяФорма.Форма2", , , , Окно);
Но в таком случае смена раздела не происходит. Что бы сменить раздел можно воспользоваться функцией ПерейтиПоНавигационнойСсылке() и написать примерно так:
ПерейтиПоНавигационнойСсылке("e1cib/navigationpoint/Подсистема2");
ОткрытьФорму("ОбщаяФорма.Форма2", , , , Окно);
Но форма откроется уже в отдельном окне, а это не есть гут. Надо указать, что окно стоит открывать в главном окне. В итоге код получился таким:
&НаКлиенте
Процедура ПерейтиНаФорму2(Команда)
ПерейтиПоНавигационнойСсылке("e1cib/navigationpoint/Подсистема2");
ОткрытьФорму("ОбщаяФорма.Форма2", , , , ПолучитьОкна()[0]);
КонецПроцедуры
Используется функция ПолучитьОкна(), которая возвращает массив окон приложения. В этом массиве под номером 0 указывается главное окно формы.
Данный метод одинаково хорошо работает на всех видах клиентов и в веб-клиенте тоже.
Комментариев нет:
Отправить комментарий