Обновил тестовый стенд и решил попробовать новый функционал, в частности чтение записей по критериям и их обработка.

Например, пытаюсь для категории клиентов отправить по персональному сообщению.

В БП добавляю элементы: Чтение данных с чтением коллекции записей по нужным критериям и элемент Отправить E-mail (в качестве получателя Формула: [#Читать данные 1.Коллекция записей:E-mail#] или [#Читать данные 1.Коллекция записей:Контакт#] - не существенно) и при попытке сохранить процесс выдает ошибку: "Возникла ошибка при сохранении: Элемент коллекции с уникальным идентификатором "{F1C3BE1A-40EB-4214-9690-318F52F0D1F7}" не найден". Ошибка точно связана с чтением коллекции записей и ее обработкой, т.к при чтении одной записи - все отлично.

Кто сталкивался с подобным/как исправить или корректно обрабатывать коллекцию?

Нравится

4 комментария
Лучший ответ

На сколько я знаю, на данный момент коллекцию можно обработать только в элементе "Веб-сервис". В следующих релизах будет возможность передачи коллекции в подпроцесс. Информация отсюда, из раздела Бизнес-процессы https://academy.terrasoft.ru/documents/upcoming-releases

На сколько я знаю, на данный момент коллекцию можно обработать только в элементе "Веб-сервис". В следующих релизах будет возможность передачи коллекции в подпроцесс. Информация отсюда, из раздела Бизнес-процессы https://academy.terrasoft.ru/documents/upcoming-releases

Сидоров Александр Валерьевич,

Спасибо. А есть ли какие-то прогнозы когда можно будет использовать "простым смертным" прелести коллекций?:)

Хованский Владислав,

это вам к разработчикам bpm'online) но полагаю, что в следующем релизе

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

Коллеги, добрый день!

Ранее в сообществе несколько раз поднимались темы использования элемента "Чтение данных" для получения "результирующей коллекции", чтобы в последствии её использовать в элементе "Задание-сценарий" для различных нужд. В версии 7.8 осталось только режимы: "читать первую запись", "считать количество записей" и "считать функцию".

Каким образом в данной версии можно получить Результирующую коллекцию? И каким образом можно к ней обратиться в элементе "Задание-сценарий"?

Заранее спасибо!

Нравится

2 комментария

Добрый день!

Пример обработки коллекции из чтения данных в ScriptTask:

EntityCollection entities = Get<EntityCollection>("ReadDataUserTask1.ResultEntityCollection");

var result = new Collection<string>();

foreach(Entity entity in entities) {

    

    var cityName = entity.GetTypedColumnValue<string>("Name");

    string temp = cityName.ToString();

    result.Add(temp);

    }

string displayValue = result.ConcatIfNotEmpty(",");

Set("MyResult", displayValue);

return true;

* MyResult - параметр процесса с типом Строка неограниченной длины

* ReadDataUserTask1 - название элемента Чтения данных

 

Олег, Спасибо!

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

Добрый день,
Подскажите как работать с результирующей коллекцией элемента "Чтение данных" в БП.
Необходимо создать задачу на всех контактов с должностью "Менеджер" - добавляю чтение данных ставлю условие "Должность" равно "Менеджер", дальше добавляю элемент "Задача" и пытаюсь выбрать туда "Результирующая коллекция", но она недоступна. Возможно ли как то организовать цикл в БП чтобы создать задачи для всех элементов выборки?
Или еще случай, необходимо в БП предать при запуске сразу несколько идентификаторов записей и для них создавать задачи, опять же как сделать цикл чтобы пройтись по всем идентификаторам или единственный вариант - запускать отдельный БП для каждого идентификатора?
Заранее спасибо.

Нравится

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

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.

Здравствуйте, Олег!

Действительно, оптимальным вариантом является запускать отдельный экземпляр процесса для каждой записи.

Но если Вы все же хотите реализовать в рамках одного экземпляра процесса, то Вы можете это сделать в помощью цикла, пробежавшись по всем элементам результирующей коллекции. Для этого необходимо добавить элемент процесса Задание-Сценарий и в коде реализовать цикл foreach.

Спасибо Андрей, уже разобрался, не знал как обращаться к результирующей коллекции

Добрый день,
Чтоб не создавать новую тему спрошу тут:
Неверно срабатывает стандартный элемент БП "Страница редактирования", а точнее нужная страница открывается, но поля установленные по умолчанию подтягиваются не все:
1
Дополнительно созданное поле (Контакт физ.лицо) не заполняется из стандартного поля Лида (Квалифицирован как контакт), хотя оно заполнено:
2
В чем может быть проблема, как исправить? Пробовал перекомпилировать и задавать это поле просто через элемент "Изменение данных" результат тот же - поле не заполняется

Добрый день, Олег!

Проверьте правильно ли создано данное поле. "Квалифицирован как контакт" отображает информацию о том, с каким контактом при квалификации был связан лид. Поле не отображается на странице лида, но может быть отображено в реестре.
А значение "Квалифицирован как контрагент" передаются?

Добрый день, Дмитрий,
Поле создано верно, вставить туда значение вручную из карточки возможно, как обычно для LOOKUP поля открывается модальное окно где можно выбрать необходимого контакта /контрагента, затем успешно сохранить.
Поле квалифицирован как контрагент также не передается, в чем может быть причина?

Team версия 7.4.0.2628

Разобрался, проблема по моей вине, Читал данные Лида раньше чем у него появлялось это поле :exclaim:

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