Здравствуйте! Подскажите пожалуйста как запрограммировать следующую задачу:

Есть реквизит. У него составной тип данных: "СправочникСсылка.Организации" и "СправочникСсылка.Контрагент".

Данный реквизит является данными для "ПолеВвода".

Если ничего не трогать, то при запуске формы у поля ввода появляется сначала буква "Т", выбор типа, а уже потом его можно заполнять, в соответствии с выбранным типом.

Появляется "Условие1" и "Условие2".

Если Условие1 - тогда тип поля ввода должен быть СправочникСсылка.Организации. Если Условие 2 - тогда тип поля ввода должен быть СправочникСсылка.Контрагент.
Соответственно тип должен задаваться жестко (кнопки выбора типа "Т" не должно быть).

Долго бьюсь и ничего не получается. Находил отдаленные примеры для заполнения ячеек в таблице через ОписаниеТипов, но ничего так и не получилось. Спасибо!

upd
Обычные формы.
---
как вариант проверь

```1c
    //Нужно шоб контрагент
    Если ТипЗначния(поле1) = тип("Справочник.организации") тогда поле1=Справочники.контрагенты.пустаяСсылка()
    Конецесли
    // иначе если нужно организация
    Если ТипЗначния(поле1) = тип("Справочник.Контрагенты") тогда поле1=Справочники.организации.пустаяСсылка()
    Конецесли
```

Некрасиво, но... Так точно взлетит
---
пишите ПВОрганизация = Справочники.Организации.ПустаяСсылка() или ПВОрганизация = Справочники.Контрагенты.ПустаяСсылка(). Выбор типа уберите.
---
пишите ПВОрганизация = Справочники.Организации.ПустаяСсылка() или ПВОрганизация = Справочники.Контрагенты.ПустаяСсылка(). Выбор типа уберите.
---
```1c
    МассивТипов = Новый Массив;
    МассивТипов.Добавить(Тип("<ТвойТип>"));
    ОграничениеТипа = Новый ОписаниеТипов(МассивТипов);
    Объект.<Реквизит>.ТипЗначения = ОграничениеТипа;
```

Попробуй так
---
Документ.ОтгрузкаПтицы.Форма.ФормаДокумента.Форма(2046)}: Поле объекта недоступно для записи (ТипЗначения).
ЭлементыФормы.ПВОрганизация.ТипЗначения = ОграничениеТипа;

Вот такая ошибка. Не записывается значение в ТипЗначения у ПоляВвода. У самого реквизита нет свойства ТипЗначения.
---
Не в курсе был, что у тебя обычные формы.
---
Прошу прощения что не написал этого в шапке. Да, обычные формы. А как можно реализовать на обычных формах?
---
как вариант проверь

```1c
    //Нужно шоб контрагент
    Если ТипЗначния(поле1) = тип("Справочник.организации") тогда поле1=Справочники.контрагенты.пустаяСсылка()
    Конецесли
    // иначе если нужно организация
    Если ТипЗначния(поле1) = тип("Справочник.Контрагенты") тогда поле1=Справочники.организации.пустаяСсылка()
    Конецесли
```

Некрасиво, но... Так точно взлетит
---
мб так?

ЭлементыФормы.ПВОрганизация.ОграничениеТипа = Новый ОписаниеТипов("<ТвойТип>");
---
Нет :) Кнопка выбора типа всё равно остается. Просто список доступных типов состоит из одной строчки (того типа, который указывается в ОписанииТипов). Но всё равно спасибо ;)
---
Ребята, кто знает как реализовать, напишите. Спасибо!
---
Нужно еще явное приведение значения к новому типу делать, само это не будет происходить.
Пример из СП:

```1c
    Процедура ТоварыНоменклатураНачалоВыбора(Элемент,СтандартнаяОбработка)
    ТипСтр = "СправочникСсылка.Номенклатура";
    Элемент.ОграничениеТипа = Новый ОписаниеТипов(ТипСтр);
    Значение = Элемент.Значение
    Элемент.Значение = Элемент.ОграничениеТипа.ПривестиЗначение(Значение);
    Элемент.ВыбиратьТип = Ложь;
    КонецПроцедуры
```

ЗЫ. Это для реквизита табличной части.
---
```1c
    Процедура ХарактеристикаПриИзменении(Элемент)
    Значение =Характеристика.ТипЗначения.ПривестиЗначение();
    КонецПроцедуры
```