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

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

Нравится

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

Kalymbet Anastasia,

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

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

 

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

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

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

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

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

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

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

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

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

Нравится

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

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

Вопрос. 

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

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

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

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

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

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

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

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

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

Нравится

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

Добрый день!

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

К сожалению, в версии 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 комментария

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

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

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

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

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

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

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

Добрый день,

При создании активности из процесса на форме активности не отображается поле статус. Если вручную создавать активность, то поле присутствует. Тип активности- task.

Нравится

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

Добрый день. Уточните версию приложения. Вы используете группу Действия пользователя, элемент Выполнить задачу (Perform task)? Какую категорию задачи выбираете? Пришлите, пожалуйста, скриншот панели настройки элемента.

Elena Sidko,

Добрый день,

версия 7.16.2.1600

Да, использую группу Действия пользователя, элемент Выполнить задачу - 

Категория- to do.

Жанна, добрый день.
В базовой версии приложения 7.16.2.1600 при создании активности через бизнес-процесса, состояние активности отображается. Рекомендуем проверить есть ли ошибки в консоли при открытии активности, вносились ли какие изменения в системе?
Причиной может быть также, использование пользовательских страницы на объекте Активность, в которых поле состояние скрыто.

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

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

Добрый вечер, с помощью библиотеки EPPLus выгружаю файл Excel отчёта в byte[], далее нужно отправить этот файл как вложение в Email. На данный момент это все реализуется с помощью активности и добавления файла через ESQ. Возник вопрос - как не сохранять файл в базе, а сразу отправлять во вложение?

Версия 7.17 поэтому хотелось бы использовать вложение через элемент "Отправить Email", но тут возникает проблема - параметр "Файл" не принимает чистый byte[] или Stream.

Каким способом сделать Set для файла?

Если такой реализации нет, то воспользуюсь кодом отсюда.

 

Нравится

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

Вопрос всё еще актуален.

В последних релизах появился функционал генерации отчётов прямо в элементе Обработать файл. Соответственно, нет необходимости в дополнительном коде, в одном элементе можно сгенерировать файл отчёта, и далее в элементе Отправить email прикрепить его вложением. Возможно этот функционал поможет решить вашу задачу.

 

Ссылка на документацию по элементу Обработать файл.

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

Добрый день, коллеги! Стоит задача запуска процесса по фильтру группы раздела, версия 7.16.3  Нашла обсуждения 

https://community.terrasoft.ru/questions/massovo-postavit-aktivnosti

https://community.terrasoft.ru/questions/zapusk-biznes-processa-na-osno…

Но кнопка Запустить процесс появляется и содержит только процессы, настроенные, как независимые. Если их выделить и запустить процесс, Id записей не передается.  

Также в академии есть статьи:

https://academy.terrasoft.ru/docs/user/bazis_platformy/vypolnenie_bizne…

https://academy.terrasoft.ru/docs/user/kastomizacija_no_code/nastrojka_…

Т.е. в моем случае поведение системы соответствует 1-й статье, а добиться поведения, как во 2-й статье и рекомендациях сообщества не удается. В чем может быть причина ? 

 

Нравится

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

Вопрос снимается. Требуемая возможность появилась в 7.16.4

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