В BPMS_UG.pdf (~стр.266) есть текст:

ИНФОРМАЦИЯ ДЛЯ СПЕЦИАЛИСТОВ ПО ВНЕДРЕНИЮ Если настройка кейса в проектной среде выполнялась для раздела, в котором был отключен настроенный по умолчанию кейс, то перед переносом созданного кейса в рабочую среду необходимо выполнить привязку данных по отключенному кейсу.

 

Уважаемые, сертифицированные специалисты, хотел уточнить какую "привязку данных по отключенному кейсу" нужно делать? И где на проектной среде или на рабочей?

Возможно, имеется ввиду, что на рабочей среде кейс пока еще включен и таким образом нужно его отключить?

Нравится

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

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

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

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

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

Алла Савельева пишет:

Привязку нужно реализовать на среде разработки

 Спасибо за пояснения, но привязку чего и к чему?

gfdshdfsh,

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

Алла Савельева,

большое спасибо за помощь!

Показать все комментарии
Публикация

Здравствуйте!

Далее попробую описать как можно легко настроить событийные права обычным бизнес-процессом. Если вас устраивает нерасширяемое решение через условные потоки или много разных процессов в одном объекте, замедляющих систему, дальше можете не читать:)

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

Бизнес-задача:

Предположим компания занимается короткими продажами, соответственно, в системе создаются сущности в разделе "Заказы".

Задача:

  1. В зависимости от состояния заказа, запись должна содержать следущие права:
  • На стадии "Оформление" - роль "Операторы" может читать и менять запись, роль "Старший оператор" может читать и удалять запись.
  • На стадии "Исполнение" - роль "Операторы", "Старший оператор" может читать запись, роль "Бухгалтер" может читать и редактировать.
  • На стадии "Завершен", "Отменен" - роли "Операторы", "Старший оператор", "Бухгалтер" может только видеть запись.

 

Решение:

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

 

Для красивого решения нам понадобится создать несколько объектов и один линейный процесс.

Объект будет содержать несколько полей. Пробежимся по полям объекта:

  • Объект Администрирования - это роль/пользователь, которому будут предоставлены права
  • Чтение - указывает может роль/пользователь видеть запись или нет
  • Изменение - указывает может роль/пользователь редактировать запись
  • Удаление - указывает может роль/пользователь удалить запись.

Это шаблон. В него нужно добавить дополнительные поля в зависимости от задачи. В нашей задаче права зависят только от состояния заказа, поэтому мы добавляем поле, ссылающееся на справочник "Состояние заказа".

 

Далее - создаем процесс. Начальные события - добавление записи в раздел "Заказы", изменение значения поля "Состояние".

Далее используем элемент "Чтение данных" для получения значения полей Id и "Состояние".

А дальше самое интересное - одним элементом "Изменить права доступа" мы можем раздать необходимые права. Права необходимо раздать выборке сотрудников. Скриншот настроек прав для чтения прикрепил (EventRights.png). Аналогично нужно сделать для изменения и удаления. В блоке выше необходимо забрать права у всех пользователей и ролей.

Нравится

Поделиться

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

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

Для отправки уведомления будем использовать элемент "Отправить email". После добавления элемента "Отправить email", как и в случае большинства элементов, откроется окно настройки данного элемента.
Окно настройки имеет следующий вид:

Разберем поля заполнение полей, а также поддерживаемый тип данных.

1) Подпись.
Значение, указанное в данном поле, будет радовать глаз только пользователям, которые имеют доступ в библиотеку процессов или в журнал процессов. Значение этого поля будет отображаться на схеме бизнес процесса, как название элемента "Отправить email".

2) От кого.
Заполнение данного поля вызывает много дискуссий, ведь не совсем понятно какой тип данных в нем используется (ввиду наличия справочного значка рядом с значком формулы). Единственно верный путь - выбор значения из справочника. После нажатия на знак выбора из справочника, появляется возможность выбрать один из предварительно настроенных email адресов в системе (в заметке корректная настройка email адреса в системе рассматриваться не будет).

3) Кому.
Это поле с типом строка. В него можно подставлять параметры, которые помечены как строка, либо фиксированные адреса, заключенные в двойных кавычках, например:

  • Строка: "test@test.ua;

    " (email адреса перечисляются через ";")

  • Выбор из системной настройки, которая указана, как строка
  • Параметр: Читать данные Контакта.Первый элемент результирующей коллекции.email
  • Произвольную комбинацию вышеперечисленного: Читать данные Контакта.Первый элемент результирующей коллекции.email+" ;test@test.ua;

    "

Важно! Если поле email у контакта не заполнено, то процесс будет завершен на данном элементе с ошибкой. Как с этим бороться, смотрите ниже в пункте под номером шесть.

4) Копия
5) Скрытая копия.
6) Тема письма.
Не буду останавливаться на данных пунктах. Их настройка такая же, как и у значения поля "Кому".

7) Игнорировать ошибки отправки.
Если указан признак (стоит галочка), тогда в случае ошибки при отправке, процесс будет завершен с ошибкой. Если признак не указан - процесс пойдет дальше (при этом уведомление отправлено не будет).

8) Поле, в котором указывается тело письма. Заполнению данного поля стоит уделить внимание. В самом элементе это поле является строкой. В него можно вставить ссылки, провести форматирования текста, однако это поле имеет некоторый особенности:

  • поддерживается html разметка
  • поле может быть заполнено параметрами процесса

На втором пункте я остановлюсь, ведь не совсем понятно, как в строковое поле можно подставить переменные. Выход из этой ситуации следующий - использовать перед элементов "Отправить email" элемент "Формула". Последовательность добавления элементов на диаграмму должна быть следующая:
1) добавляем элемент "Отправить email"
2) добавляем элемент "Формула"

Окно редактирования настроек элемента "Формула":

Выберите в поле "Установить значение в параметр" параметр "Body" элемента "Отправить email". Правила заполнения второго поля:
1) Параметры разделять между собой знаками "+"
2) Перенос на следующую строчку осуществляется тегом


>
(этот и другие тегы указываются в кавычках)

Теперь Вы можете сформировать ссылку на любую сущность в системе:) Ссылка на запись в разделе "Лиды" будет иметь следующий вид:

"сайт bpmonline/номер конфигурации (в основном 0)/Nui/ViewModule.aspx#CardModuleV2/LeadPageV2/edit/"+[Читать данные Лида.Первый элемент результирующей коллекции.Id].ToString()

Однако, это будет не совсем ссылка. Для того, чтобы эта ссылка была кликабельной, я использую html разметку:
" href=сайт bpmonline/номер конфигурации (в основном 0)/Nui/ViewModule.aspx#CardModuleV2/LeadPageV2/edit/"+[Читать данные Лида.Первый элемент результирующей коллекции.Id].ToString()+">текст ссылки"+">"

Удачных экспериментов!

Нравится

Поделиться

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

Здравствуйте.
Возможно ли в строку "кому" добавить именно автора активности?

"Ануфриев Дмитрий Юрьевич" написал:

Здравствуйте.

Возможно ли в строку "кому" добавить именно автора активности?


Здравствуйте! В поле "Автор" хранится Id автора в объекте "Контакты". Поле "Кому" - поле с типом строка, в которую надо подставить email. Вам необходимо сделать предварительное чтение данных из объекта "Контакт" (или "Средства связи контакта") для получения email.

Здравствуйте. Возможно вопрос глупым покажется, но как сделать так, чтобы между текстом и строкой с данными был пробел?
К примеру,

[URL=http://radikal.ru/big/916b261fc6a24de5a538d93e73487cf8][IMG]http://s018…]

[URL=http://radikal.ru/big/53a4eaa1b6014fcaa91b4f3b2d487e6c][IMG]http://s020…]

Добрый день!

Поставьте пробел после двоеточия, например "...Номер документа: "

"Зарицкий Олег Васильевич" написал:

Добрый день!

Поставьте пробел после двоеточия, например "...Номер документа: "

Здравствуйте, Олег. Большое спасибо!

Добрый день! Подскажите,как можно добавить системную переменную в ссылку. В моем случае системная переменная содержит адрес активности, которую необходимо открыть ссылкой.

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

В нотациии BPMN есть блок элементов, которые позволяют создавать параллельные ветки процесса. bpmOnline использует следующие элементы:

1) Взаимоисключающее или
Из потоков, которые выходят с данного элемента процесс пойдет только по одному.
Однако, если в такой элемент входит несколько потоков, то процесс пойдет дальше при входе одного из потов.
2) Событийное или
Данный элемент предполагает и ожидает, что после него будет элемент, который является сигналом.В системе есть три элемента, которые являются сигналами и могут быть использованы после "Событийного или" - промежуточные обрабатывающие сигналы:

  • Сигнал
  • Сообщение
  • Таймер

3) Или
Используйте этот элемент "На выход", если процесс необходимо запустить по некоторым веткам, которые выходят из элемента "Или"
4) И
Дойдя до этого элемента, процесс пойдет по всем веткам, которые выходят с элемента "И" - так работает элемент "На выход". "На вход" этот элемент ожидает завершения всех входящих в него веток.

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

Первый кейс:
параллельно создаются две задачи. В случае, если одна из задач не соответствует определенному условию, тогда процесс создает данные задачи повторно. Иначе, "идет" дальше.
Неправильная реализация данного процесса выглядит так:

После запуска, процесс дойдет до элемента "И", который будет ожидает два потока. Поскольку второй поток никогда не дойдет, то процесс будет находиться в состоянии "Выполняется" до того, как пользователь его отменит.
Правильная реализация:

Перед элементом "И" был добавлен элемент "Взаимоисключающее ИЛИ", который ожидает на вход только одну из двух веток.

Второй кейс:
При изменении состояния счета необходимо выполнить одну из веток процесса:

  • При изменении на "Оплачен частично" процесс идет по верхней ветке
  • При изменении на "Оплачен полностью" процесс идет по нижней ветке

Неправильная реализация:

Если данный процесс запускается при состоянии счета "Не оплачен", тогда при достижении процессом элемента "Взаимоисключающее ИЛИ" процесс остановится, потому что не одно из условия не выполняется.

Правильная реализация:

Процесс дойдет до "Событийного или" и будет ожидать сигналов, настроенных после него (то есть, изменение состояния счета). Фильтрация, которая вам необходима, а также колонки, на изменения которых срабатывет сигнал, настраивается непосредственно в промежуточном сигнале.

Нравится

Поделиться

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

При создании бизнес процессов в дизайнере процессов, пользователи очень часто сталкиваются с ситуацией, когда процесс запускается по нескольким событиям, а дальнейшее выполнение процесса происходит по одной ветке. При сведении потоков в одну ветку возникает проблема получения параметра Id записи, по которой был запущен экземпляр процесса.
Для решения этой задачи, я предлагаю использовать следующую схему:
1) Создать параметр процесса:

Для созданного параметра Вы можете указать название и подпись (будет отображаться при использовании в дизайнере). Для созданного параметра необходимо указать тип данных "Уникальный идентификатор":

2) После каждого входа в процесс, используйте элемент "Формула". В поле "Установить значение в параметр" выберите созданный на первом шаге параметр процесса, во втором поле укажите параметр - идентификатор записи стартового сигнал.

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

Нравится

Поделиться

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

В этой теме будем обсуждать вопросы, касающиеся моделирования бизнес-процессов в bpm'online.
Для начала не будем ограничивать тематики, пишите любые вопросы, которые как-то связаны с процессами. Если будет необходимо, создадим отдельную тематическую ветку!
Обещаю отвечать на все вопросы. Прошу отнестись с пониманием если ответы будут не online, бывают срочные задачи :)

Нравится

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

Здравствуйте, Павел.

Скажите, пожалуйста, можно ли где-нибудь как-нибудь получить/посмотреть запись Вашего вебинара по моделированию бизнес-процессов bpm`online, который проходил в начале Апреля 2015 года?

Здравтсвуйте!

Ссылка на вебинар: https://www.youtube.com/watch?v=5AFzvluHyqE&feature=youtu.be

Здравствуйте, Павел.

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

То есть, если менеджер закрывает задачу по клиенту и при этом у него нет других открытых задач по нему, то ему открывается окно создания следующей задачи ("Определить следующий шаг").

Евгений, здравствуйте!
Конечно это можно сделать.
Общая схема процесса будет такой:

Piccy.info - Free Image Hosting

Для этого нужно:
1. После завершения вашей задачи нужно поставить элемент "Чтение данных", в котором посчитать количество задач в состоянии "Новая" и "В работе" по клиенту из завершаемой задачи (замапиться).
Piccy.info - Free Image Hosting

2. После чтения использовать Исключающее ИЛИ, которое в зависимости от количества посчитанных незавершенных задач отправит процесс по той или иной ветке.
Ниже скрин условного потока который проверяет количество таких задач.
Piccy.info - Free Image Hosting

Если будут вопросы по деталям реализации - обращайтесь!

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

Владимир, добрый день.
Вашу задачу можно решить следующим образом.

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

Piccy.info - Free Image Hosting

2. Создать процесс для продуктов в счете, который будет запускаться при добавлении продукта и ждать определенного сигнала от счета, например, изменения того же поля "Состояние оплаты". Этот процесс будет запускаться по каждому добавленному продукту, выполнять то что должен, после чего смотреть - остались ли еще продукты в счете, по которым процесс не выполнен. Если таких не осталось, то процесс делает то изменение счета, которое ожидает основной процесс. Основной процесс "ловит" событие и продолжается.

Piccy.info - Free Image Hosting

Элемент "Считать общее количество продуктов в счете"
Piccy.info - Free Image Hosting

Элемент "Считать количество продуктов, по которым получена оплата" (Считаем по количество выполненных задач. Если дополнить Продукт в счете специальным атрибутом, то можно будет устанавливать его значение в процессе, и по нему считать отработанные продукты)
Piccy.info - Free Image Hosting

Элемент "Расчет количества неоплаченных продуктов" (для удобства используем параметр процесса, в который записываем результат)
Piccy.info - Free Image Hosting

Условный поток "Остались не зарезервированные продукты"
Piccy.info - Free Image Hosting

Это ориентировочное решение без привязки к контексту процессов, которые Вы настраиваете. Оно может подойти не в чистом виде, а как пример. Решение абсолютно рабочее, все скриншоты сделаны с опубликованных и работающих процессов.

Если будут дополнительные вопросы, обращайтесь.

В стандартной версии конфигурации есть процесс, который запускается по сигналу (при создании письма), как мне предотвратить его запуск?
версия 7.5.0.745 ITIL service

"Лариса" написал:

В стандартной версии конфигурации есть процесс, который запускается по сигналу (при создании письма), как мне предотвратить его запуск?

версия 7.5.0.745 ITIL service

_________________________________________________________________

У каждого уважающего себя программиста должен быть инстинкт сохранения

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

Павел, спасибо за предыдущий совет.
Возник еще один вопрос.

В БП одним из шагов является подпроцесс согласования счёта. Затем идут шаги по коммуниикации с клиентом и ожиданием оплаты. После оплаты уже стоят задачи заказа у поставщика.

До момента заказа клиент может попросить изменить какие-то позиции в счете на любом из шагов процесса. И в таком случае надо процесс переправить снова на согласование и снова по стандартному пути.

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

Но как при получении этого сигнала можно вернуть процесс на шаг согласования (чтобы больше не генерировались задачи из блока ожидания оплаты)?

Здравствуйте!

Добавьте в подпроцесс параллельную ветку содержащую промежуточный обрабатывающий сигнал, который будет ожидать удаление записи в объект "Продукт в счете" с фильтром Id = Счет (параметр счета, наверное, есть).
Добавьте в подпроцесс параллельную ветку содержащую промежуточный обрабатывающий сигнал, который будет ожидать изменение состояния счета на "Исправлен" (после изменяем состояние счета на "Согласование")

Создайте параметр с типом "Логическое".

По окончанию основной ветки подпроцесса задайте ему значение true, если сработал один из сигналов сигнал - false.

В основном процессе проверяйте значение этого параметра. Если параметр false, то возвращаемся на согласование. Если параметр true - идем дальше.

Основной процесс готов. Теперь доведем его до ума:
1) Необходимо создать новое состояние счета "Исправлен" (оно техническое)
2) Необходимо создать бизнес процесс (технический):

  • Стартовый сигнал по добавлению записи в объект "Продукты в счете"
  • Чтение данных продукта в счете
  • Чтение данных счета
  • Условные потоки: если состояние счета != "Согласование", тогда конец процесса, иначе идем дальше

  • Изменение данных счета. Меняем значение полю "Состояние" на "Исправлен"
  • Конец процесса

Доброго дня!
Что то совсем я запутался с этими БП. Может просто новичок.
Вот к примеру мне надо сделать такой БП:

1. Чтением данных Вы будете получать значение числового поля.
2. В процессе в элементе "Задание-сценарий" Вам необходимо реализовать логику перевода числового поля в параметр с типом "Строка"
3 .Элементом "Изменить данные" Вы будете записывать полученный параметр в запись, которая инициировала процесс.
4. Конец процесс

Как мне запустить процесс на создание или обновление записи? Как мне передать в БП запись которая инициировала процесс?

Здравствуйте, Виктор!

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

Здравствуйте!
А не подкажите ли как мне можна настроить старт БП после того как закончился звонок. Тоисть как только менеджер заканчивает разговор с клиентом, запускается БП, который знает параметры только-что завершенного звонка?
Спасибо.

Вот как я начал реализовывать эту задачу.
Вот начало процесса

где старт после изменения записи

Но почему-то создаются сразу две задачи.

Как сделать чтобы была только одна?

Здравствуйте!
Использую продукт BpmOnline Sales team Версия 7.5.0.1007.
Наблюдается следующая проблема. В БП сигнал от объекта не срабатывает, если установлен флаг "Должна быть изменена колонка" и выбрана колонка типа справочник.
Если убрать флаг, то сигнал работает. Значение в колонке точно меняется.
Подскажите, в чем может быть проблема?

"Пащенко Александр Сергеевич" написал:

Здравствуйте!

Использую продукт BpmOnline Sales team Версия 7.5.0.1007.

Наблюдается следующая проблема. В БП сигнал от объекта не срабатывает, если установлен флаг "Должна быть изменена колонка" и выбрана колонка типа справочник.

Если убрать флаг, то сигнал работает. Значение в колонке точно меняется.

Подскажите, в чем может быть проблема?


Аналогичная ситуация. Вот я создаю звонок и в таблице записывается первая строчка из фото. А когда нажимаю на завершения звонка - она перезаписывается и получается вторая.

Видно что меняется EndDate. (дата завершения). Но когда добавляю ее в условия Должна быть изменена любая колонка из списка то тогда процесс вообще не запускается. Bpmonline sales 7.7 commerce

"Пащенко Александр Сергеевич" написал:Здравствуйте!
Использую продукт BpmOnline Sales team Версия 7.5.0.1007.
Наблюдается следующая проблема. В БП сигнал от объекта не срабатывает, если установлен флаг "Должна быть изменена колонка" и выбрана колонка типа справочник.
Если убрать флаг, то сигнал работает. Значение в колонке точно меняется.
Подскажите, в чем может быть проблема?

Добрый день,
Не удалось воспроизвести описанное поведение в 7.5.0.1007. Следует убедится, что все условия стартового сигнала выполняются.
Стоит учитывать, когда выполняется проверка условий объекта – запись должна полностью соответствовать этим условиям. Например,
Сигнал стартует по изменению контакта + [Пол] = Женский.
Для того, чтобы БП запустился – контакт должен быть создан ранее, колонка [Пол] должна быть заполнена. После того как пользователь изменит значение поля на “Женский” и сохранит запись – сработает стартовый сигнал.

Здравствуйте Олег. А на мои вопросы вы не можете помочь ответить? Номера 13,14,16.
Кратко:
1) При старте (описаном выше и на фото) создаются два процесса.
2) Если поставить в условии запуска "После добавления записи" - процесс не запускается.
3) Если поставить условие "После изменения записи" и прописать например изменение Duration - не запускается.

Вопрос таков: как мне можна запустить БП после того как закончился звонок?

1) Я так понимаю, что процесс запускается дважды из-за логики работы телефонии Asterisk. Там при звонке система Asterisk создает два звонка. Один менеджеру, а второй клиенту. Поэтому и дважды процес стартонул.
Вопрос запуска БП после того как закончился звонок через Asterisk еще в силе.

Добрый день!
Звонок можно считать завершенным, когда у него есть время завершения. Т.е. для того, чтобы привязать начало процесса к завершению звонка в стартовом сигнале следует указать:
- объект – Звонок
- при изменении записи
- должна быть изменена колонка “Дата завершения”

Если по прежнему будут возникать трудности, обратитесь в техническую поддержку Terrasoft.

В тому то и проблема что не работает. Уже обратился. Спасибо.

"Зарицкий Олег Васильевич" написал:Звонок можно считать завершенным, когда у него есть время завершения

Вопрос еще в том, как ставится это время завершения. Если простым Update, то стартового сигнала не будет, так как обновление записи происходит на уровне базы данных, а не приложения.

Подскажите, как подступиться к такой задаче: есть БП, который стартует при получении нового email сообщения от определенного отправителя. Из созданной активности извлекается тело письма. А вот дальше необходимо распарсить текст тела письма, извлечь интересующую информацию (предполагаю, скорее всего - с помощью регулярных выражений), сохранить в переменные, и передать дальше по БП (конкретно в моем случае - создать лид на основе извлеченных данных).

И, еще вопрос - в 7.7 кроме отказа от Silverlight, что еще поменялось в дизайнере БП? Где-то можно прочитать об изменениях?

Добрый день!

1. Можно создать параметр процесса с типом строка. Передавать тело письма в параметр. После чего в элементе Задание-сценарий создать массив строк в который парсить тело письма с нужным разделителем.

2. Информацию по работе с БП в 7.7 можно найти в документации на академии. Из важных моментов - в 7.7 изменилась работа с параметрами БП в Задание-сценарий.
Пример для 7.7:
var parameter1 = Get("Parameter1");
Set("Parameter2", parameter1.ToString());
var parameter2 = Get("Parameter2");
Экземпляр типа UserConnection можно получить аналогично параметрам:
var userConnection = Get(“UserConnection”);

Добрый день.
Возникла проблема после обновления с 7.6 до 7.7. Не открываются БП, созданный в 7.6 (крутиться постоянно загрузка).
Подскажите, может кто сталкивался с подобной проблемой?

Здравствуйте, опишите более подробно, не открывается процесс в конфигурации?
Дебажились?
Что пишет в консоли браузера?

"Мотков Илья" написал:Здравствуйте, опишите более подробно, не открывается процесс в конфигурации?

"Мотков Илья" написал:Здравствуйте, опишите более подробно, не открывается процесс в конфигурации?

Да. При открытии Дизайнера БП бесконечно крутиться "Загрузка". Эта проблема наблюдается в Chrome и Yandex Browser. В Mozilla БП загрузился

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

Поправка, в Mozilla открылись БП, которые открывались и в других браузерах.
В консоли Chrome следующая ошибка:

Очистка кэша, компиляция к желаемому результату не привели

Игорь,
Напишите в техническую поддержку. По скриншоту трудно решить задачу.

"Зарицкий Олег Васильевич" написал:Напишите в техническую поддержку. По скриншоту трудно решить задачу.

Создали обращение 0312524.
Но вопрос остаётся открытым. Два БП в одном пакете. Один открывается в дизайнере процессов без проблем, второй - зависает на бесконечной загрузке и в консоли выдаёт ошибку

oshibka_pri_otkrytii_bp
Указанная ошибка появляется при загрузке нескольких БП из разных пакетов.
Может необходима дополнительная настройка Web.config сайта

"Коновалов Игорь" написал:

Поправка, в Mozilla открылись БП, которые открывались и в других браузерах.

В консоли Chrome следующая ошибка:

Очистка кэша, компиляция к желаемому результату не привели


Нашёл причину возникновения данной ошибки. Она возникает после добавления в элемент Задача или Звонок кода в поле "После сохранения записи". Данная ошибка характерна для версии 7.7.
Как решить эту проблему?
UPD: Перенёс тему сюда http://www.community.terrasoft.ru/forum/topic/16407

Павел, подскажите, пожалуйста, если мы создаём запись в разделе через C# entity - бизнес процесс будет запускаться по сигналу "Создание записи" ?

Есть сервис, который записывает звонки, запись в разделе появляется, а бизнес процесс не запускается. В журнале процессов тоже нет записи.

"Иван Тюряков" написал:Павел, подскажите, пожалуйста, если мы создаём запись в разделе через C# entity - бизнес процесс будет запускаться по сигналу "Создание записи" ?

Есть сервис, который записывает звонки, запись в разделе появляется, а бизнес процесс не запускается. В журнале процессов тоже нет записи.

Если вы используете EntitySchemaQuery, тогда событийные БП выполняются.

Добрый день.
Запускаю на клиенте Бизнес-процесс

 ProcessModuleUtilities.runProcess(sysProcessName, processArgs, callback, this);

В callback приходят аргументы options, success, response, но в ответе сервера не передаются параметры Бизнес-процесса.

Как вернуть в callback параметры Бизнес-процесса?

Версия BPMonline 7.8.1

Добрый день коллеги!
Обшарил академию, форум, эту тему и не нашел точного ответа на свои вопросы.
А именно:
1)Имеется возможность стандартными средствами БП запускать процесс автоматически при срабатывании события ? Например - дня рождения. Искал, ничего подобного не нашел.
2)Как привязать запуск процесса к определенному времени? Пятница, 16:00 например. Знаю, что можно запускать процесс через определенный интервал времени в секундах, имеется ли другой способ?

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

Подобного в стандартном функционале не встречал.
Jobы реализуются скриптом.
Может в будущем что-то подобное появится.

Александр, здравствуйте!

1) Событие наступления дня рождения - это не событие для системы. По этой причине никакие сигналы не генерируются.
2) Такая возможность есть. Но реализовать ее можно только скриптом. Пример скрипта:

var userConnection = UserConnection.AppConnection.SystemUserConnection;
string schedulerJobGroupName = "Process10"; 
string jobProcessName = "Process10"; 
string schedulerJobName = "Process10"; 
int startOffset = 1; 
AppScheduler.RemoveJob(schedulerJobName, schedulerJobGroupName);
var job = AppScheduler.CreateProcessJob(schedulerJobName, schedulerJobGroupName, jobProcessName, userConnection.Workspace.Name, userConnection.CurrentUser.Name, isSystemUser : true);
//Запускать процесс в 20:01 каждый день
//http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-06.html
var trigger = TriggerBuilder.Create()
               .WithIdentity(schedulerJobName + "Trigger", schedulerJobGroupName)
               .WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(20, 1))
               .Build();
AppScheduler.Instance.ScheduleJob(job, trigger);
return true;

В using нужно добавить Quartz, Quartz.Impl.Triggers, Terrasoft.Core.Scheduler. В результате процесс Process10 будет запускаться ежедневно в 20:01.

Добрый вечер коллеги!

По поводу вопроса, который меня интересовал выше (#37). Я нашел решение и хотел бы узнать у разработчиков - правильно ли реализовано решение и какие последствия оно может нести. Решение протестировано, работает. Процесс запускается 1 раз, при каждом повторе по формуле значение параметра увеличивается на 1, и когда оно дойдет до 100 (через 100 дней) процесс завершится.

Версия 7.8. если появятся вопросы - постараюсь оперативно ответить.

Александр, а чем плохо мое решение (#39)?

"Демьяник Алексей" написал:

Александр, а чем плохо мое решение (#39)?


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

Добрый день, уважаемые коллеги!

Стоит задача смоделировать такой процесс, который:
1. посылает уведомление на e-mail ответственному при добавлении в активность (задачу) напоминания
2. отменяет предыдущее напоминание либо при изменении даты напоминания, либо при удалении напоминания

Построил процесс (см. вложенный файл)...
При изменении даты напоминания, процесс отрабатывает как нужно, при удалении напоминания, система выдает ошибку: "Элемент удалить невозможно, так как он используется в процессе"

Помогите пжл. решить данную проблему.

Версия BPMonline 7.8

Здравствуйте, подскажите, пожалуйста, каким образом в элементе "Задание-сценарий" можно получить значение элементов БП без использования параметров процесса?
Т.е. необходимо получать значения полей из элементов чтение данных, автогенерируемые страницы без промежуточного использования параметров процесса.

"Пащенко Александр Сергеевич" написал:Здравствуйте, подскажите, пожалуйста, каким образом в элементе "Задание-сценарий" можно получить значение элементов БП без использования параметров процесса?
Т.е. необходимо получать значения полей из элементов чтение данных, автогенерируемые страницы без промежуточного использования параметров процесса.

Присоединяюсь к вопросу

Здравствуйте!

Пример работы описан по ссылке:
http://www.community.terrasoft.ru/forum/topic/16359#comment-62314

Работать напрямую с элементом "Чтение данных" не получится.

Добрый день.

Подскажите, пожалуйста, как правильно реализовать.
У меня есть БП с автогенерируемой страницей, в которой три checkbox и две кнопки. У меня настроен запуск задачи при условии что "чек" стоит, в конце у меня стоит "Логическое И" ждет выполнения задач. Нужна проверка, что если задачи нет, ее не ждать. Сейчас же у меня процесс подвисает на этом этапе, задачи нет а он ждет её выполнения.

версия 7.9.1 Service enterprise

Алеся, здравствуйте!

Вместо элемента "И" используйте элемент "Чтение данных" в режиме подсчета количества записей по объекту "Активность" с фильтром, в котором, будет через "Или" перечислено сравнение Id с Id активностей, создаваемых по процессу, а также состояние активности - конечное.

После элемента "Чтение данных" используйте условный поток. Если количество записей, подсчитанных элементом "Чтение данных" == 0, тогда процесс идет дальше.

Других потоков из элемента "Чтение данных" не будет.

Добрый день.

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

Коллеги, доброго дня! Прошу подсказать с наиболее корректной реализации следующей задачи.

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

Вопрос такой, в каком месте (на каком "событии") наиболее правильно реализовать вызов кода, в котором я буду работать с AppScheduler-ом, в котором будет настраиваться регулярный запуск БП? Есть ли в системе такое событие, которое можно штатным образом "послушать" и запустить свой "Исходный код" где я буду работать с AppScheduler-ом, либо запустить БП (в котором я реализую свой сценарий для работы с AppScheduler-ом)?

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