Имя: Пароль:
1C
 
Установить ограничения типа реквизита на форме
0 bvb
 
22.10.15
11:56
Есть реквизит НЕУПРАВЛЯЕМОЙ формы типа "Произвольный".
Его нужно типизировать в зависимости от исходного значения переменной.

Пишу конструкцию :
МассивТипов = Новый Массив;
МассивТипов.Добавить(ТипЗнч(МояПеременная]));
Элементыформы.ТипизируемыйРеквизит.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов);

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

Что нужно сделать чтобы реквизит сразу типизировался в нужный тип ?
1 Рэйв
 
22.10.15
12:11
присвой пустое значение нужного типа
2 bvb
 
22.10.15
14:15
(1) Это понятно. А как определить нужный тип ?
3 Mort
 
22.10.15
14:39
ПолеВвода.ВыбиратьТип (TextBox.ChooseType)
ПолеВвода (TextBox)
ВыбиратьТип (ChooseType)
Использование:

Чтение и запись.
Описание:

Тип: Булево.
Содержит признак возможности выбора типа значения
4 Mort
 
22.10.15
14:40
(2) Если не через задницу(1), то к типу нужно приводить так:
МояПеременная = Элементыформы.ТипизируемыйРеквизит.ОграничениеТипа.ПривестиЗначение(МояПеременная);
5 bvb
 
22.10.15
16:58
(3,4) Спасибо большое

Ну вот как то так ....

Процедура ПривестиЗначениеЭлементаФормыКЗаданномуТипу (Элемент, ЗначениеДляПриведения)
    Перем МассивТипов;
    
    МассивТипов = Новый Массив;
    МассивТипов.Добавить(ТипЗнч(ЗначениеДляПриведения));
    Элемент.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов);
    Значение =  Элемент.Значение;
    Элемент.Значение  = Элемент.ОграничениеТипа.ПривестиЗначение(Значение);
    Элемент.ВыбиратьТип = ЛОЖЬ;
    
КонецПроцедуры