Тип: Строка. Полное имя формы, используемое для выбора значения поля или параметра.
Полное описание, параметры и ограничения
ДоступноеПолеОтбораКомпоновкиДанных.ФормаВыбора (DataCompositionFilterAvailableField.ChoiceForm)
ДоступноеПолеОтбораКомпоновкиДанных (DataCompositionFilterAvailableField)
ФормаВыбора (ChoiceForm)
Доступен, начиная с версии 8.2.
Использование:
Только чтение.
Описание:
Тип: Строка.
Полное имя формы, используемое для выбора значения поля или параметра.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Исследовать настройки ввода, не открывая чужую форму
Читаем правила ввода значения собственного поля: маску, формат, форму выбора и связи. Никакие формы справочников или внешние соединения не запускаются.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В отдельной учебной базе 8.5.1.1343 создайте серверный общий модуль УчебныеЗадачи. Фрагмент без директив вставьте в тело ВыполнитьПример() Экспорт и вызовите своей учебной командой.
Схема СКД строится программно, макет в конфигурации не нужен. Источник Local выполняет запрос из двух собственных константных строк, без справочников, документов и регистров.
Каждое упражнение запускайте отдельно. Книга: 3 × 250 = 750; Ручка: 1 × 50 = 50; общая сумма 800. Результат хранится в памяти, не записывается в файл или базу.
Для исследования поставьте точку останова перед последними проверками. ТаблицаЗначений и процессоры СКД здесь создаются и используются на сервере; напрямую в тонкий клиент таблица не возвращается.
Схема = Новый СхемаКомпоновкиДанных;
Источник = Схема.ИсточникиДанных.Добавить();
Источник.Имя = "УчебныйИсточник";
Источник.ТипИсточникаДанных = "Local";
Набор = Схема.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
Набор.Имя = "УчебныеТовары";
Набор.ИсточникДанных = Источник.Имя;
Набор.АвтоЗаполнениеДоступныхПолей = Истина;
Набор.Запрос = "ВЫБРАТЬ
| ""Книга"" КАК Наименование,
| 3 КАК Количество,
| 250 КАК Цена,
| 750 КАК Сумма
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ ""Ручка"", 1, 50, 50";
Настройки = Схема.НастройкиПоУмолчанию;
Для Каждого ИмяПоля Из СтрРазделить("Наименование,Количество,Цена,Сумма", ",") Цикл
Выбранное = Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
Выбранное.Поле = Новый ПолеКомпоновкиДанных(ИмяПоля);
Выбранное.Использование = Истина;
КонецЦикла;
Детали = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
Детали.Использование = Истина;
АвтоВыбор = Детали.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
АвтоВыбор.Использование = Истина;
Доступные = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема);
Редактор = Новый КомпоновщикНастроекКомпоновкиДанных;
Редактор.Инициализировать(Доступные);
Редактор.ЗагрузитьНастройки(Настройки);
Рабочие = Редактор.Настройки;
ПолеКоличества = Рабочие.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Количество"));
Если ПолеКоличества = Неопределено Тогда
ВызватьИсключение "Нет собственного поля отбора Количество";
КонецЕсли;
Сообщить("Быстрый выбор: " + Строка(ПолеКоличества.БыстрыйВыбор));
Сообщить("Группы/элементы: " + Строка(ПолеКоличества.ВыборГруппИЭлементов));
Сообщить("Маска: " + ПолеКоличества.Маска);
Сообщить("Формат ввода: " + ПолеКоличества.ФорматРедактирования);
Сообщить("Форма выбора: " + ПолеКоличества.ФормаВыбора);
ПараметрыВыбора = ПолеКоличества.ПолучитьПараметрыВыбора();
СвязиВыбора = ПолеКоличества.ПолучитьСвязиПараметровВыбора();
Сообщить("Параметров выбора: " + Строка(ПараметрыВыбора.Количество()));
Сообщить("Связей выбора: " + Строка(СвязиВыбора.Количество()));
СвязьТипа = ПолеКоличества.СвязьПоТипу;
Сообщить("Поле связи по типу: " + Строка(СвязьТипа.Поле));
Сообщить("Номер элемента связи: " + Строка(СвязьТипа.ЭлементСвязи));Разбор по шагам
Маска и ФорматРедактирования — строки правил ввода; они не меняют фактическое число 3 в запросе.
ФормаВыбора — имя формы, а не открытая форма. В этом упражнении её не вызываем.
Методы возвращают отдельные коллекции параметров выбора и связей параметров выбора.
СвязьПоТипу описывает источник типа. Номер элемента связи не является номером строки результата.
Как проверить результат
Вывод содержит диагностические настройки собственного числового поля. Не ожидайте формы выбора справочника у числовой константы.
Исходный запрос и отбор остаются неизменны; процессор не запускается.
Ожидаемый результат
Правила редактирования отделены от данных и от действий интерфейса.
На что обратить внимание
Пустая строка имени формы — не ошибка открытия: форму здесь вообще не открывают.
БыстрыйВыбор управляет механизмом выбора, не ускоряет выполнение запроса.
Не подменяйте связь по типу произвольным числом без понимания связанного поля.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.