Здравствуйте! Платформа 8.3.4
Подскажите, можно ли программно открыть форму выбора ТИПА данных? Есть реквизит составного типа, при нажатии на кнопку выбора необходимо получить тип этого элемента и открыть форму выбора типа. Стандартная обработка отключена, рассматривается условие, когда ей воспользоваться не представляется возможным ввиду сложностей с окружающим кодом и отказом от модальности.
Подскажите, можно ли программно открыть форму выбора ТИПА данных? Есть реквизит составного типа, при нажатии на кнопку выбора необходимо получить тип этого элемента и открыть форму выбора типа. Стандартная обработка отключена, рассматривается условие, когда ей воспользоваться не представляется возможным ввиду сложностей с окружающим кодом и отказом от модальности.
По теме из базы знаний
- Диалог выбора цвета с возможностью определения составляющих цвета RGB для УФ.
- Простые радости жизни программиста 1С: выбор типа значения
- Диалог выбора периода по образу и подобию "Такси"
- [Шпаргалка] Предустановка типа для составного реквизита
- Диалог выбора даты на JS без зависимостей. Отображалки от kuzkov.info
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Насколько понимаю, интерфейс управляемый.
Штатными средствами никак.
Если попытаться выполнить метод
для реквизита составного типа, то возникнет ошибка "Отсутствует способ ввести значение требуемого типа"
Если, например, попытаться сделать нечто вроде
тогда откроется поле ввода, в котором при нажатии F4 выходит диалог выбора типа, но это не то.
Штатными средствами никак.
Если попытаться выполнить метод
ВвестиЗначение(Реквизит)
для реквизита составного типа, то возникнет ошибка "Отсутствует способ ввести значение требуемого типа"
Если, например, попытаться сделать нечто вроде
Массив = Новый Массив;
Массив.Добавить(Тип("СправочникСсылка.Файлы"));
Массив.Добавить(Тип("СправочникСсылка.ФизическиеЛица"));
ОписаниеТипов = Новый ОписаниеТипов(Массив);
Результат = ОписаниеТипов.ПривестиЗначение();
ВвестиЗначение(Результат,, ОписаниеТипов);
тогда откроется поле ввода, в котором при нажатии F4 выходит диалог выбора типа, но это не то.
(2)спасибо за ответы. с ввестиЗначение тоже пробовал играться, тоже самое получалось. получалось добиваться также ситуации, когда надо нажимать повторно кнопку выбора (или F4), но это, конечно, не то, интуитивно не понятно) пока не получилось решить задачу, а форму отдельную для этого рисовать пока не хочется.
Судя по-всему, для управляемого интерфейса это сделать нелегко, поскольку нельзя для произвольного элемента получить тип значения, можно только ограничить его:
ПолеФормы (FormField)
ОграничениеТипа (TypeRestriction)
Использование:
Чтение и запись.
Описание:
Тип: ОписаниеТипов.
Ограничивает состав типов вводимых значений. Может использоваться, когда данные, с которыми связан элемент управления, имеют более широкий состав типов, чем необходимо предоставить пользователю для ввода в конкретной ситуации.
То есть только программно задавать перечень типов и писать какую-то отдельную форму
ПолеФормы (FormField)
ОграничениеТипа (TypeRestriction)
Использование:
Чтение и запись.
Описание:
Тип: ОписаниеТипов.
Ограничивает состав типов вводимых значений. Может использоваться, когда данные, с которыми связан элемент управления, имеют более широкий состав типов, чем необходимо предоставить пользователю для ввода в конкретной ситуации.
Расширение поля формы для поля ввода (Form field extension for a text box)
ДоступныеТипы (AvailableTypes)
Использование:
Чтение и запись.
Описание:
Тип: ОписаниеТипов.
Позволяет задать набор типов, доступных для выбора. Так же задается ограничение для квалификаторов примитивных типов Число, Строка, Дата.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
ПоказатьДоступныеТипы (AvailableTypes)
Использование:
Чтение и запись.
Описание:
Тип: ОписаниеТипов.
Позволяет задать набор типов, доступных для выбора. Так же задается ограничение для квалификаторов примитивных типов Число, Строка, Дата.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
То есть только программно задавать перечень типов и писать какую-то отдельную форму
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот