Добрый день. Элемент БП "Читать данные", в случае чтения коллекции, на выходе отдаёт параметр ICompositeObjectList ResultCompositeObjectList. Необходимо создать элемент процесса, который будет производить конвертацию этого параметра обратно в EntityCollection, с целью получения Entity, в которой будет содержатся данные об одном элементе из коллекции. И дальнейшей передачи этой Entity в следующий элемент процесса. Каким образом это можно сделать?

Нравится

6 комментариев

См. обсуждение аналогичного вопроса тут.

Зверев Александр,

Я находил данное обсуждение, спасибо, но там, к сожалению нет решения моей проблемы. Напомню, мне нужен элемент бизнес-процесса, у которого в выходном параметре будет содержаться один элемент из коллекции. А как этот выходной параметр создать? В идеале этот параметр должен быть с типом "CompositeObject", но дело в том, что параметр в элементе процесса можно создавать только из предложенных типов (строка, entity, число и т.д.) и среди этих вариантов нет типа: "CompositeObject".

Можно создать параметр процесса типа Entity или EntityCollection и программно его наполнять значением при помощи элемента-скрипта с кодом, как по ссылке.

Зверев Александр,

Не могли бы Вы привести в пример код, о котором Вы говорите? Тот код что по ссылке в foreach перебирает элементы коллекции с типом CompositeObjectList и передаёт элемент из этой коллекции в элемент с типом CompositeObject.

Я про это действие: 

foreach(var entity in entities)

для entity хоть и используется неявная типизация, но в процессе отладки удалось установить, что для entity назначается тип CompositeObject.

Мне кажется, проще будет вообще не использовать элемент чтения в БП, пытаясь потом вытянуть из него в нужном формате, а всё сделать чисто программно в блоке-скрипте, используя механизмы Select или EntitySchemaQuery, в зависимости от потребностей.

Зверев Александр,

Спасибо за помощь.

Показать все комментарии