Коллеги, добрый день. Пытаюсь освоить механизм открытия одной формы из ругой, потом сменить фокус на другую форму и из нее открыть первоначально открытую форму.

```1c
    &НаКлиенте
    Процедура Подбор(Команда)

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

    КонецПроцедуры
    &НаКлиенте
    Процедура ПоткрытьОткрытую(Команда)
    Параметр=новый структура;
    Параметр.Вставить("Ключ", КлючьФОрмы);
    ФормаПодбора = ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора",Параметр);
    КонецПроцедуры
```

но каждый раз создается новая форма.
---
увидел, спасибо. Все заработало. Большое спасибо!!!
//Обработчики событий

```1c
    &НаКлиенте
    Процедура Подбор(Команда)
    КлючУникальности = Новый УникальныйИдентификатор;
    ПараметрыПодбора = Новый Структура("ТчТоваровДокумента", Объект.Товары);
    ФормаПодбора = ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора", ПараметрыПодбора,, КлючУникальности);
    КлючьФОрмы= КлючУникальности;

    КонецПроцедуры
    &НаКлиенте
    Процедура ПоткрытьОткрытую(Команда)
    ФормаПодбора = ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора",,,КлючьФОрмы);
    КонецПроцедуры
```
---
```1c
    Процедура ПоткрытьОткрытую(Команда)
    ФормаПодбора.Активизировать();
    КонецПроцедуры
```
---
надо именно через уникальный признак формы.
пользователь открывает форму и посылает с нее некий запрос на сайт + гуид формы которая послала запрос. Сайт обрабатывает данные и кидает колбек в http сервис в 1С, этот сервис и должен открыть форму инициатора запроса по гуиду т.к. пока сайт обрабатывал данные пользователь мог уже кучу других форм открыть (вариант что он форму инициатора закрыл пока не рассматривается)
---
У метода ОткрытьФорму() есть 4 параметр - уникальность, используйте его.

Тип: Произвольный.
В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. Если будет найдена форма с таким же ключом уникальности, вместо открытия новой формы будет активизирована найденная форма.
Ложь - искать форму с ключом уникальности по умолчанию, Истина - не искать форму вообще, любое другое значение устанавливает ключ уникальности, по которому будет произведен поиск.
Значение по умолчанию: Ложь.
---
я пробовал так:

```1c
    Процедура ПоткрытьОткрытую(Команда)
    Параметр=новый структура;
    Параметр.Вставить("УникальныйИдентификатор", КлючьФОрмы);
    ФормаПодбора = ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора",,,КлючьФОрмы);
    КонецПроцедуры
```

Все равно создается новая форма.
---
Не нужно в структуру пихать. Просто через Новый УникальныйИдентификатор создайте идентификатор, запоминайте его и всегда передавайте, когда нужно, 4 параметром.
---
я так и делаю
---
Судя по тому, что у вас написано - нет. Первое открытие формы тоже должно быть с идентификатором.
---
Возможно я не так понял метод. Полагал что параметр уникальность это ГУИД формы
---
Нет, это любое произвольное значение. Гарантирует, что если вы вызовете ОткрытьФорму() с этим значением, то всегда одна и та же форма будет вызвана, т.е. открыта, если она закрыта и активизирована, если уже открыта.
---
```1c
    Процедура Подбор(Команда)
    КлючУникальности = Новый УникальныйИдентификатор;
    ПараметрыПодбора = Новый Структура("ТчТоваровДокумента", Объект.Товары);
    ФормаПодбора = ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора", ПараметрыПодбора, КлючУникальности);
    КлючьФОрмы= КлючУникальности;

    КонецПроцедуры
    &НаКлиенте
    Процедура ПоткрытьОткрытую(Команда)
    // Параметр=новый структура;
    // Параметр.Вставить("УникальныйИдентификатор", КлючьФОрмы);
    ФормаПодбора = ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора",,,КлючьФОрмы);
    КонецПроцедуры
```

Так?
Не работает(
---
в 1 вызове у вас это 3 параметр, а не 4
---
увидел, спасибо. Все заработало. Большое спасибо!!!
//Обработчики событий

```1c
    &НаКлиенте
    Процедура Подбор(Команда)
    КлючУникальности = Новый УникальныйИдентификатор;
    ПараметрыПодбора = Новый Структура("ТчТоваровДокумента", Объект.Товары);
    ФормаПодбора = ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора", ПараметрыПодбора,, КлючУникальности);
    КлючьФОрмы= КлючУникальности;

    КонецПроцедуры
    &НаКлиенте
    Процедура ПоткрытьОткрытую(Команда)
    ФормаПодбора = ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора",,,КлючьФОрмы);
    КонецПроцедуры
```
---
ОткрытьФорму и ПолучитьФорму работают по разному?
Переделал на ПолучитьФорму и все полетело, форма создается новая.

```1c
    &НаКлиенте
    Процедура Подбор(Команда)
    КлючУникальности = Новый УникальныйИдентификатор;
    ПараметрыПодбора = Новый Структура("ТчТоваровДокумента", Объект.Товары);
    КлючьФОрмы= КлючУникальности;
    ФормаПодбора = ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора", ПараметрыПодбора,этаформа, КлючьФОрмы);
    КлючьРеализации = ФормаПодбора.УникальныйИдентификатор;
    КонецПроцедуры

    &НаКлиенте
    Процедура ПоткрытьОткрытую(Команда)

    ФормаПодбора = ПолучитьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора",,,КлючьФОрмы);
    //ФормаПодбора = ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаПодбора",,,КлючьФОрмы);
    Если ФормаПодбора.УникальныйИдентификатор<>КлючьФОрмы Тогда
    Сообщить("Форма была закрыта");
    иначе
    ФормаПодбора.Открыть();
    КонецЕсли;
    КонецПроцедуры
```