Здравствуйте, выполняю вот такое задание:
Реализовать следующую логику:
при добавлении новой записи
«Задолженности» должна производиться выборка всех договоров данного должника,
суммирование значений полей «Общая сумма задолженности»,
«Основной долг», «Штрафы»,
«Проценты и комиссии» данных записей объекта
«Договоры» и запись в соответствующие поля текущей записи объекта «Задолженности».
Реализуется с помощью бизнес процесса, который запускается по событию «Добавление записи» текущего объекта
И не понимаю как мне в формуле обойти все договоры в цикле и суммировать значения полей?
Нравится
Действительно, как подсказал выше Александр используя в элементе чтения данных параметр [СЧИТАТЬ ФУНКЦИЮ] = Сумма, а потом элемент Измtнить данные позволяет избежать кодирования :)
Добрый день!
Данные из коллекции нужно считывать так:
var entities = Get<ICompositeObjectList<ICompositeObject>>("ReadDataUserTask1.ResultCompositeObjectList");
Т.е. в вашем случае код будет таким:
var entities = Get<ICompositeObjectList<ICompositeObject>>("ReadDataUserTask1.ResultCompositeObjectList"); var result = 0; foreach(var entity in entities) { var sum = 0d; if (entity.TryGetValue<double>("Sum", out sum)) { result += sum; } }
Сидоров Александр В.,
Т.е. мне надо использовать задание-сценарий? А как потом из него получить это значение для записи? Или мне все в одном сценарии можно выполнить?
Действительно, как подсказал выше Александр используя в элементе чтения данных параметр [СЧИТАТЬ ФУНКЦИЮ] = Сумма, а потом элемент Измtнить данные позволяет избежать кодирования :)
В 7.16.1 добавится возможность пользовательской настройки последовательного запуска одинаковых подпроцессов по каждому элементу коллекции из параметра.