Добрый день. Нужно выполнять отмену процесса прямо из C#. Я знаю, что можно при удалении записи сделать так entity.DeleteWithCancelProcess, но такой вариант не подходит, запись не надо удалять. 

Кто-то сталкивался с такой задачей?

Нравится

1 комментарий

Доброго времени суток!

 

Есть БП и в нем есть параметр в которой записывается результат. И нужно по завершению БП через JS получить содержимое параметра. Как это можно реализовать?

Нравится

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

Георгий, какая целевая задача в реализации?

Вы можете записать результат процесса, например, в колонку или временную таблицу и потом распарсить данные как необходимо.

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

Столкнулся с такой же потребностью. В методе runProcess модуля ProcessEngineService предусмотрена передача resultParameterNames, где можно указать значения которые нужно вернуть, но ответ приходит до завершения процесса и не все параметры успевают заполниться. Как заставить систему ожидать завершения процесса прежде чем вернуть ответ?

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

В Бизнес процессе получаю коллекцию данных.

Далее у меня идет Задание-сценарий.

 

Как в задании-сценарии получить эту коллекцию?

Нравится

1 комментарий

Всё просто.

 

Надо добавить в БП новый параметр Коллекция записей и присвоить ему значение из Параметра процесса.

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

Как можно обойти ограничение в 5000 записей при чтении коллекции в процессе?



Ночью необходимо запускать процесс по некоторым записям, которых будет явно больше 5000. Скорость выполнения не критична, но не хочется нарваться на то, что в одну ночь процесс закончится с ошибкой из-за достижения лимита.

Может, можно вообще без лимита реализовать как-то?Изображение удалено.

Нравится

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

Kalymbet Anastasia,

а как действовать в таких случаях, когда надо обработать более 5000 записей?

Владимир, добрый день!

 

 

Описанное вами поведение является корректным для базовой логики. Дело в том, что вычитка коллекции записей больше 5000 чрезмерно влияет на производительности, по этому на уровне приложения установлено ограничения по количеству одновременной обработки записей в элементе "Читать данные" в размере 5000. Больше указанного значение в настройки установить нет возможности и об этом говорит уведомление в ходе настройки процесса. 

Можно же придумать в базовой логике обрабатывать "пачками" по 5000. И быстродействие не пострадает, и лимит искусственный будет не нужен

Владимир Соколов,

В данный момент это выполнить невозможно по указанным причинам. 

Существует пожелание на увеличение данного значения. Я добавлю Ваше обращение для повышения приоритета и реализации в будущих версиях.

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

Добрый день! Как можно поставить активный линк (тек. Запись объекта) в элементе "Вопрос пользователю". 

В БП использую элемент "Вопрос пользователю" В БП на входе есть параметр (ID тек. записи), Как сделать чтобы при отображении вопроса пользователю был линк на  (ID тек. записи). 

Прикрепленные файлы

Нравится

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

Tigran Gevorgyan, добрый день!

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

Sorotiuk Anna, добрый день!

Решил проблему иначе ) Создал БП на основе системного БП, (Отправка уведомлений с раздела обратная связь ). теперь тек запись отправляется пользователю как информация  со ссылкой .

 

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

Добрый день, коллеги.

Вопрос. 

Есть группа "офисные сотрудники"

Необходимо при создании нового пользователя в этой группе у нового контакта изменять  поле контрагент на определенного контрагента.

Пользователи создаются не  в ручную. Они попадают в эту группу через ADFS.

Можно конечно использовать атрибут SAML, но  поле организация на строное AD  заполнена другими данными, которые убирать не стоит.

Мне нужно что бы в Creatio  контрагент проставлялся.

Можно это через БП ?

Я так прикинул, что стартовый сигнал должен быть - создание новой записи в объекте "Вхождение пользователя в роли" в фильтре роль "офисные сотрудники"

Но вот как быть дальше? я пробовал создать бд, но контрагент не проставляется.

Можете подсказать?

Нравится

1 комментарий

Добрый день, Марк. 

Изменять контрагента в карточке контакта можно через БП.

Как настроить стартовый сигнал для данного кейса - зависит от условий создания данных контактов. Главное - чтобы триггер отрабатывал при выполнении условий. 



Изменить информацию о контрагенте можно с помощью элемента БП "Изменить данные". Важно корректно указать Id Контакта, по которому будет отрабатывать данный элемент. Это можно сделать через привязку параметра к Id, по которому запускается БП. 



Для отладки данного БП можно использовать журнал бизнес процессов, включил журналирование (журналирование БП может влиять на быстродействие системы). И отслеживать запуск и корректность выполнения экземпляров БП после тестового добавления пользователя в данную группу.

 

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

Добрый день!

У меня есть задача по фильтрации записей раздела в зависимости от пользователя. А если быть точнее, то для консультанта нужно отфильтровать раздел "Контакты" так, чтобы отображались только те записи, в которых он является ответственным лицом. Также мне подсказали, что это можно реализовать через БП, который будет вызывать подпроцесс, который в свою очередь будет раздавать каждой записи, соответствующей всем условиям, права для отображения в разделе. 

К сожалению, в версии 7.13.2 я не обнаружил возможности передать коллекцию записей в подпроцесс. Но нашел "обходной" вариант, описанный в данной статье: https://community.terrasoft.ru/questions/perebor-rezultiruyuschey-kollekcii-elementa-chitat-dannye.

Изображение удалено.

Изображение удалено.

Изображение удалено.

Изображение удалено.

Изображение удалено.

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

Нравится

1 комментарий

Добрый день!

Не совсем понятно, зачем в этом процессе использовать дополнительный код в сценарии C#. Вы можете указать условия фильтрации записей раздела Контакты прямо в элементе "Изменить права доступа". Добавьте там условие "Ответственный = Консультант" вместо фильтрации по Id и это будет работать точно так же для всех необходимых записей.

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

Сторонняя система вызывает бизнес-процесс, передавая в него входящие параметры:

http://my.site.name/0/ServiceModel/ProcessEngineService.svc/UsrTestProcess/Execute?Number=123456



Далее процесс производит некоторую обработку, создаёт активность и открывает страницу с ней с помощью скрипта:

 

Guid activityId = Get<Guid>("UsrActivityId");
 
string messageText = "{\"hash\": \"CardModuleV2/ActivityPageV2/edit/" + activityId.ToString() + "\"}";
MsgChannelUtilities.PostMessageToAll("PushHistoryState", messageText);
 
return true;

Всё работает, но страница открывается не в той вкладке, в которой была открыта ссылка (а она остаётся пустой). Как сделать так, чтобы страница открывалась в той же вкладке браузера, в которой и произошёл вызов процесса?

Нравится

1 комментарий

Владимир, если я правильно поняла вашу задачу, то при вызове сервиса из новой вкладки страница не откроется, поскольку в данной вкладке не установлено активное web-сокетное подключение с приложением. Вызывая сервис указанным способом вы отправляете get запрос.

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

Добрый день!

Свойства элемента в БП имеют дефолтную ширину, если ее изменить чтобы больше информации отображалось, то эта ширина не сохраняется.

Добавьте ее сохранение, не знаю, может по аналогии с SysProfileData и интерфейсом пользователей в разделах.

1 комментарий

Добрый день,

 

Зарегистрировали пожелание на ответственного Product owner`a. Мы рассмотрим доработку функциональности БП в одной из будущих версий Creatio.

 

Спасибо, что помогаете развивать наш продукт!

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

Добрый день,

может кто-то сталкивался с подобной проблемой. В обращении (cases) при переходе по стадиям происходит перераздача прав , также  производятся другие действия (раздача прав и другие действия реализованы в бизнес-процессе) . Проблемы возникает, если пользователь быстро прокликивает через две стадии или более, то раздача прав и другие действия не успевают отработать. Возможно ли разрешить данную ситуацию в креатио, чтобы гарантировать раздачу прав и полную отработку всех действий на каждой стадии?

версия 

7.16.2.1600

Нравится

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

Настраивать права, которые должны быть на стадии. И при переходе на стадию удалять старые права и добавлять все нужные.

Таким образом после перехода на финальную стадию права на редактирования не будет ни у кого (за некоторым исключением, например)

Отключить галочку у стартового элемента "Выполнять в фоновом режиме"

Алексей-Карягин,

спасибо, попробую!

Владимир Соколов,

спасибо, буду пробовать

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