Диалог выбора ТИПА

1. Akteur33 16.06.14 13:00 Сейчас в теме
Здравствуйте! Платформа 8.3.4

Подскажите, можно ли программно открыть форму выбора ТИПА данных? Есть реквизит составного типа, при нажатии на кнопку выбора необходимо получить тип этого элемента и открыть форму выбора типа. Стандартная обработка отключена, рассматривается условие, когда ей воспользоваться не представляется возможным ввиду сложностей с окружающим кодом и отказом от модальности.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. solarisman 149 16.06.14 16:34 Сейчас в теме
Насколько понимаю, интерфейс управляемый.

Штатными средствами никак.
Если попытаться выполнить метод
ВвестиЗначение(Реквизит)

для реквизита составного типа, то возникнет ошибка "Отсутствует способ ввести значение требуемого типа"

Если, например, попытаться сделать нечто вроде
Массив = Новый Массив;
Массив.Добавить(Тип("СправочникСсылка.Файлы"));
Массив.Добавить(Тип("СправочникСсылка.ФизическиеЛица"));
ОписаниеТипов = Новый ОписаниеТипов(Массив);		
Результат = ОписаниеТипов.ПривестиЗначение();	
ВвестиЗначение(Результат,, ОписаниеТипов);

тогда откроется поле ввода, в котором при нажатии F4 выходит диалог выбора типа, но это не то.
3. Akteur33 16.06.14 16:39 Сейчас в теме
(2)спасибо за ответы. с ввестиЗначение тоже пробовал играться, тоже самое получалось. получалось добиваться также ситуации, когда надо нажимать повторно кнопку выбора (или F4), но это, конечно, не то, интуитивно не понятно) пока не получилось решить задачу, а форму отдельную для этого рисовать пока не хочется.
4. solarisman 149 16.06.14 16:44 Сейчас в теме
За Вас уже все давно нарисовали http://infostart.ru/public/20166/
Akteur33; +1 Ответить
5. Akteur33 16.06.14 16:45 Сейчас в теме
6. Akteur33 16.06.14 16:50 Сейчас в теме
(4) а для управляемого интерфейса есть подобное?)
7. solarisman 149 16.06.14 21:21 Сейчас в теме
Судя по-всему, для управляемого интерфейса это сделать нелегко, поскольку нельзя для произвольного элемента получить тип значения, можно только ограничить его:


ПолеФормы (FormField)
ОграничениеТипа (TypeRestriction)
Использование:

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

Тип: ОписаниеТипов.
Ограничивает состав типов вводимых значений. Может использоваться, когда данные, с которыми связан элемент управления, имеют более широкий состав типов, чем необходимо предоставить пользователю для ввода в конкретной ситуации.


Расширение поля формы для поля ввода (Form field extension for a text box)
ДоступныеТипы (AvailableTypes)
Использование:

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

Тип: ОписаниеТипов.
Позволяет задать набор типов, доступных для выбора. Так же задается ограничение для квалификаторов примитивных типов Число, Строка, Дата.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
Показать


То есть только программно задавать перечень типов и писать какую-то отдельную форму
redsun1981; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот