Создание дочерних объектов на основе списка независимых объектов

В продолжение этого вопроса: https://forum.greendata.store/discussion/49/dlya-zapolneniya-atributa-obekta-1-poluchat-spisok-obektov-3-predstavlennyy-v-atribute-obekta-2#latest
Есть объекты "базовая позиция", "договор", "смета".
В договоре находится набор базовых позиций (атрибут "позиция"), и на основе этого набора в смете нужно создавать дочерние объекты - "позиции в смете"

Для дочернего объекта "позиция в смете":

  • "Позиции в смете" должны создаваться на основе объектов списка базовых позиций из договора
  • Из "исходной позиции" должны забираться атрибуты типа название / стоимость, и быть неизменяемыми, а атрибут "количество" должен вноситься пользователем
  • Т.е., каждый раз, когда пользователь в "смете" создаёт дочерний объект: он выбирает вариант объекта из списка доступных базовых позиций, на основе этого объекта создаётся предзаполненный шаблон, пользователь его дозаполняет.
    Как это можно реализовать?

Комментарии

  • @Onryo написал:
    В продолжение этого вопроса: https://forum.greendata.store/discussion/49/dlya-zapolneniya-atributa-obekta-1-poluchat-spisok-obektov-3-predstavlennyy-v-atribute-obekta-2#latest
    Есть объекты "базовая позиция", "договор", "смета".
    В договоре находится набор базовых позиций (атрибут "позиция"), и на основе этого набора в смете нужно создавать дочерние объекты - "позиции в смете"

    Для дочернего объекта "позиция в смете":

    • "Позиции в смете" должны создаваться на основе объектов списка базовых позиций из договора
    • Из "исходной позиции" должны забираться атрибуты типа название / стоимость, и быть неизменяемыми, а атрибут "количество" должен вноситься пользователем
    • Т.е., каждый раз, когда пользователь в "смете" создаёт дочерний объект: он выбирает вариант объекта из списка доступных базовых позиций, на основе этого объекта создаётся предзаполненный шаблон, пользователь его дозаполняет.
      Как это можно реализовать?

    Добрый день! Если я правильно понял то есть тип "Смета" и в нем дочерний атрибут "Позиции в смете", "Смета" связана с "Договором" а в договоре есть объектный атрибут "Базовая позиция"

    И получается что нужно создавать "Позиции в смете" с предзаполненными полями которые указаны в базовой позиции в договоре

    Тогда на типе атрибута "Позиции в смете" можно установить выражение которое алгоритмом по цепочке достанет значение и "Базовая позиция" и заполнит им атрибут на "Позиции в смете" + установить срабатывание выражение при создании объектов

    Если объектов в "Базовая позиция" больше 1, и при создании "Позиции в смете" нужно определять по какой базовой позиции сейчас создаем объект то можно реализовать объектный атрибут на типе "Позиции в смете" который будет вести на "Базовая позиция", установить на него фильтр чтобы отображались только те базовые позиции которые в текущем договоре, и когда будет создавать позицию в смете, и выберет базовую позицию, то сработают выражения на типе "Позиции в смете" и предзаполнят экземпляр

  • Спасибо, получилось.

Войдите или Зарегистрируйтесь чтобы комментировать.