В управляемых формах есть панель навигации с командами перехода, как реализовать выполнение перехода программно?
Например нужно чтобы форма справочника Партнеры открывалась не на главной странице, а сразу при открытии выполнялся переход по команде Взаимодействия.
---
Вызвать команду программно со всем ее окружением не получится. Но можно эмулировать это окружение и продублировать код команды в модуле формы. Небольшая проблема с Окном формы – оно заполняется только после открытия, поэтому нужно воспользоваться методом ПодключитьОбработчикОжидания. Пример для команды "Взаимодействия":

```1c
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)

    ПодключитьОбработчикОжидания("ПослеОткрытияФормы", 0.01, Истина);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПослеОткрытияФормы() Экспорт
    СтруктураОтбора = Новый Структура;
    СтруктураОтбора.Вставить("Контакт", Объект.Ссылка);

    ДополнительныеПараметры = Новый Структура;
    ДополнительныеПараметры.Вставить("ТипВзаимодействия", "Контакт");

    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Отбор", СтруктураОтбора);
    ПараметрыФормы.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);

    ОткрытьФорму(
    "ЖурналДокументов.Взаимодействия.Форма.ФормаСпискаПараметрическая",
    ПараметрыФормы,
    ЭтаФорма,
    КлючУникальности,
    Окно);
    КонецПроцедуры
```
---
а сразу при открытии выполнялся переход по команде Взаимодействия.

Добрый день!

Вы имеете в виду систему "Взаимодействия" ? А у Вас отдельно написанная форма справочника "Партнеры" или типовая? С типовой, Вы бы лучше стандартный механизм открытия прикрутили, через рабочий стол.
---
Речь идет про типовую, не важно Взаимодействия или нет (Банковские счета, Договоры и тд), вверху формы есть ссылки для перехода, вот сразу перейти по ней.

(3) Это откроет команду в новом окне, даже передать параметры в команду таким образом не выйдет.
---
ПерейтиПоНавигационнойСсылке("e1cib/command/Обработка.ИмяОбработки.Команда.ИмяКоманды")
---
Вызвать команду программно со всем ее окружением не получится. Но можно эмулировать это окружение и продублировать код команды в модуле формы. Небольшая проблема с Окном формы – оно заполняется только после открытия, поэтому нужно воспользоваться методом ПодключитьОбработчикОжидания. Пример для команды "Взаимодействия":

```1c
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)

    ПодключитьОбработчикОжидания("ПослеОткрытияФормы", 0.01, Истина);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПослеОткрытияФормы() Экспорт
    СтруктураОтбора = Новый Структура;
    СтруктураОтбора.Вставить("Контакт", Объект.Ссылка);

    ДополнительныеПараметры = Новый Структура;
    ДополнительныеПараметры.Вставить("ТипВзаимодействия", "Контакт");

    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Отбор", СтруктураОтбора);
    ПараметрыФормы.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);

    ОткрытьФорму(
    "ЖурналДокументов.Взаимодействия.Форма.ФормаСпискаПараметрическая",
    ПараметрыФормы,
    ЭтаФорма,
    КлючУникальности,
    Окно);
    КонецПроцедуры
```
---
Спасибо!
---
Вариант без обработчика. Единственный косяк текущая форма не показывается фокус. Может кто знает как решить ?

```1c
    &НаКлиенте
    Процедура ОткрытьСписокДоговоров(Команда)

    // Надо открыть список договоров в форме контрагента
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("ТолькоПросмотр", Ложь);

    Отбор = Новый Структура("Владелец", Элементы.Список.ТекущиеДанные.Контрагент);
    ПараметрыФормы.Вставить("Отбор", Отбор);

    Источник = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", Новый Структура("Ключ",Элементы.Список.ТекущиеДанные.Контрагент));
    Источник.Открыть();

    ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаСписка",
    ПараметрыФормы,
    Источник,
    Истина,
    Источник.Окно);

    СтандартнаяОбработка = Ложь;

    КонецПроцедуры
```