Как сделать форму с динамическим количеством полей
Введение
Допустим, у нас задача создать форму, где будет в зависимости от itemID разное количество полей разных типов (список, комбик и т.д.).
Как это реализовать
- Создаем заведомо большое количество полей типа Строка с именам p1, p2, ..., p20.
- Используем возможность динамически менять тип поля
- Для формы ставим динамическую разметку в GetItem через Makeup в SELECT 2
Т.е. в GetItem формируем нужные значения в SELECT 1 и меняем типы данных по необходимости (для списков будут усложнения - нужно будет генерировать dict процедуры заранее) и в SELECT 2 динамически устанавливаем кастомную верстку в Makeup (т.е. не используем поле формы Разметка).
В SaveItem мы так же динамически определяем как нам надо использовать p1, ..., p20 и реализуем логику их обработки на основе itemID
Примечание. Лучше сильно не увлекаться этими гибкими возможностями, т.к. при большом количестве режимов такой универсальной формы будет сложно вносить изменения - внес правки и надо проверять все режимы работы (т.к. может какой то начать сбоить). Как альтернативу рассмотреть варианты подформ - т.е. изучаем что у нас в itemID и на основе него выводим разные изолированные подформы. Это упрощает отладку и изолирует ошибки.
Google поиск по нашей документации
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта