Создание дочерних объектов на основе списка независимых объектов
Раздел: Модель данных и экранные формы
В продолжение этого вопроса: https://forum.greendata.store/discussion/49/dlya-zapolneniya-atributa-obekta-1-poluchat-spisok-obektov-3-predstavlennyy-v-atribute-obekta-2#latest
Есть объекты "базовая позиция", "договор", "смета".
В договоре находится набор базовых позиций (атрибут "позиция"), и на основе этого набора в смете нужно создавать дочерние объекты - "позиции в смете"
Для дочернего объекта "позиция в смете":
- "Позиции в смете" должны создаваться на основе объектов списка базовых позиций из договора
- Из "исходной позиции" должны забираться атрибуты типа название / стоимость, и быть неизменяемыми, а атрибут "количество" должен вноситься пользователем
- Т.е., каждый раз, когда пользователь в "смете" создаёт дочерний объект: он выбирает вариант объекта из списка доступных базовых позиций, на основе этого объекта создаётся предзаполненный шаблон, пользователь его дозаполняет.
Как это можно реализовать?
Войдите или Зарегистрируйтесь чтобы комментировать.
Комментарии
Добрый день! Если я правильно понял то есть тип "Смета" и в нем дочерний атрибут "Позиции в смете", "Смета" связана с "Договором" а в договоре есть объектный атрибут "Базовая позиция"
И получается что нужно создавать "Позиции в смете" с предзаполненными полями которые указаны в базовой позиции в договоре
Тогда на типе атрибута "Позиции в смете" можно установить выражение которое алгоритмом по цепочке достанет значение и "Базовая позиция" и заполнит им атрибут на "Позиции в смете" + установить срабатывание выражение при создании объектов
Если объектов в "Базовая позиция" больше 1, и при создании "Позиции в смете" нужно определять по какой базовой позиции сейчас создаем объект то можно реализовать объектный атрибут на типе "Позиции в смете" который будет вести на "Базовая позиция", установить на него фильтр чтобы отображались только те базовые позиции которые в текущем договоре, и когда будет создавать позицию в смете, и выберет базовую позицию, то сработают выражения на типе "Позиции в смете" и предзаполнят экземпляр
Спасибо, получилось.