Тип: Булево. Разрешает или запрещает выбор составного описания типов. Если Ложь, то описание типов состоит из одного типа.
Полное описание, параметры и ограничения
Расширение поля формы для поля ввода.РазрешитьСоставнойТип (Form field extension for a text box.TypeDomainEnabled)
Расширение поля формы для поля ввода (Form field extension for a text box)
РазрешитьСоставнойТип (TypeDomainEnabled)
Доступен, начиная с версии 8.2.
Использование:
Чтение и запись.
Описание:
Тип: Булево.
Разрешает или запрещает выбор составного описания типов. Если Ложь, то описание типов состоит из одного типа.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Ограничить выбор самого описания типа
Редактируем не строку товара, а значение ОписаниеТипов. Разрешаем выбирать только Строка или Число и запрещаем составной набор.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
Создайте отдельную учебную внешнюю обработку с пустой управляемой основной формой. Каждую задачу запускайте в своей копии формы.
Не добавляйте вручную реквизит ЗначениеПримера, поле ПолеПримера и команду УчебноеДействие: их создаст код.
В свойствах формы → События свяжите ПриСозданииНаСервере с одноимённой процедурой. Вставьте весь модуль, включая клиентские и серверные процедуры.
Сохраните учебную EPF и откройте через Файл → Открыть в тонком или толстом клиенте Windows. Рабочие данные не читаются и не записываются.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Новые = Новый Массив;
ТипРеквизита = Новый ОписаниеТипов("ОписаниеТипов");
Новые.Добавить(Новый РеквизитФормы("ЗначениеПримера", ТипРеквизита));
ЭтаФорма.ИзменитьРеквизиты(Новые);
ЭтаФорма.ЗначениеПримера = Новый ОписаниеТипов("Строка");
Поле = Элементы.Добавить("ПолеПримера", Тип("ПолеФормы"));
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "ЗначениеПримера";
Поле.Заголовок = "Ограничить выбор самого описания типа";
Поле.ДоступныеТипы = Новый ОписаниеТипов("Строка,Число", Новый КвалификаторыЧисла(9, 0), Новый КвалификаторыСтроки(20));
Поле.РазрешитьСоставнойТип = Ложь;
Поле.КнопкаВыбора = Истина;
Поле.ВыбиратьТип = Ложь;
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Проверить свой пример";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Поле = Элементы.ПолеПримера;
Сообщить(Поле.ДоступныеТипы.СодержитТип(Тип("Строка")));
Сообщить(Поле.ДоступныеТипы.СодержитТип(Тип("Число")));
Сообщить(Не Поле.ДоступныеТипы.СодержитТип(Тип("Дата")));
Сообщить(Не Поле.РазрешитьСоставнойТип);
Сообщить(ЗначениеПримера.Типы().Количество() = 1);
Сообщить(СтрШаблон("Содержит Строка: %1; Число: %2", ЗначениеПримера.СодержитТип(Тип("Строка")), ЗначениеПримера.СодержитТип(Тип("Число"))));
КонецПроцедуры
Разбор по шагам
Тип реквизита — ОписаниеТипов. Начальное значение описывает один тип Строка.
ДоступныеТипы задаёт допустимые варианты в редакторе описания и ограничения квалификаторов, а не превращает реквизит в строку или число.
РазрешитьСоставнойТип Ложь позволяет выбрать только один тип в составе редактируемого описания.
ВыбиратьТип относится к выбору типа самого значения поля; здесь значение уже имеет фиксированный тип ОписаниеТипов.
Команда проверяет разрешённые варианты и фактическое количество типов в описании.
Как проверить результат
На открытии пять сравнений Истина; диагностика: Строка Истина, Число Ложь.
Выберите Число через кнопку поля: диагностика поменяется, количество типов останется одним.
Дата не должна предлагаться как разрешённый вариант.
Ожидаемый результат
Редактор описания типов разобран отдельно от редактора обычного значения.
На что обратить внимание
ДоступныеТипы не равно типу реквизита формы: у реквизита по-прежнему ОписаниеТипов.
Для программного назначения описаний также проверяйте свой контракт; ограничения интерфейса не заменяют такую проверку.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.