Добрый день, Коллеги!
Какой тип параметра на пейдже использовать чтобы передать массив id-шников в бп.
Наш кейс:
На детали с помощью множественного выбора выбираем несколько записей и запускаем по ним метод (с помощью кнопки в действии), который запускает бизнес-процесс. В методе мы берем this.get("SelectedRows") и пытаемся присвоить все это дело в параметр на пейдже.
Не хотелось бы клеить это все в 1 стрингу, а передать массив или коллекцию.
Какой тип параметра нужен на пейдже и какой в БП, чтобы правильно передать и принять
Нравится
Только клеить все в string.
Другие варианты более трудоемки и неоправданны.
Как вариант: класть в редис с уникальным ключом и передавать в БП этот ключ
Только клеить все в string.
Другие варианты более трудоемки и неоправданны.
Как вариант: класть в редис с уникальным ключом и передавать в БП этот ключ
Добрый день! Я делал следующим образом: в БП создавал параметр string неограниченной длины, на клиенте либо в C# коде создавал переменную string заносил в нее id через запятую без пробелов и передавал в вызываемый БП в параметр, а в БП уже доставал значение из параметра и сплитил по запятой получается массив id.
Да, но хотелось более красивого решения с нужными параметрами)
Сейчас коллекцию можно передавать только в элемент процесса «Вызов веб-сервиса».
Если БП не большой, то имеет смысл для каждой выбраной строки запускать свой экземпляр БП.
Так же это упростит поиск проблем, в случае ошибок при выполнении БП.
Дубов Андрей Владимирович,
Предложенный вариант решения - запуск отдельного БП для каждого id - подойдет для ограниченного количества задач.
А вообще такой подход в чем-то проще для разработчиков с небольшим опытом разработки в bpm'online, но все-таки лучше выполнять массовое обновление записей, дабы не плодить БП, так как в один прекрасный день - из-за большого количества процессов с таким подходом к реализации могут возникнуть проблемы с производительностью работы системы.
Все индивидуально и подход к реализации стоит выбирать только исходя из поставленной задачи.