Добрый день!
Подскажите, есть ли какие-то возможности мониторинга в БП или в системе?
Задача такая: есть деталь в разделе, на которой установлена дата. Когда дата становится текущей, необходимо для данной записи раздела запустить Бп.
Нравится
Александра, добрый день!
Есть несколько вариантов решения данной задачи:
Вариант 1:
1. Добавить в объект, по которому нужно будет запускать процесс, логическое поле Запустить мониторинг (техническое). По умолчанию false.
2. Создать процесс, который ежедневно по кварцу будет запускаться и делать выборку записей, удовлетворяющих условиям, которые Вы описали, и менять в этой выборке значение поля "Запустить мониторинг" на "true".
Для решения данной задачи целесообразно использовать элемент Изменение данных. Для выборки настроить агрегирующий фильтр, который будет считать количество записей на детали, удовлетворяющих условию соответствия текущей дате (необходимо чтобы было > 0).
3. Процесс, который Вам необходимо запустить, нужно стартовать с сигнала, настроенного на изменение в основной записи поля "Запустить мониторинг" на "true". Таким образом, по каждой записи, у которой первый процесс проставил "Запустить мониторинг" = true, запустится Ваш основной бизнес-процесс.
Вариант 2(требует привлечения разработчика, но будет оптимальнее по быстродействию):
1. С помощью C# настроить процесс выборки нужных Вам записей и из этого же процесса запустить по каждой выбранной записи соответствующий (основной) бизнес-процесс.
2. У основного процесса добавить параметр, в который процесс выборки будет записывать id экземпляра объекта. В процессе читать из параметра id и дальше настраивать процесс как обычно.
"Яковенко Павел Викторович" написал:Александра, добрый день!
Есть несколько вариантов решения данной задачи:Вариант 1:
1. Добавить в объект, по которому нужно будет запускать процесс, логическое поле Запустить мониторинг (техническое). По умолчанию false.
2. Создать процесс, который ежедневно по кварцу будет запускаться и делать выборку записей, удовлетворяющих условиям, которые Вы описали, и менять в этой выборке значение поля "Запустить мониторинг" на "true".
Для решения данной задачи целесообразно использовать элемент Изменение данных. Для выборки настроить агрегирующий фильтр, который будет считать количество записей на детали, удовлетворяющих условию соответствия текущей дате (необходимо чтобы было > 0).
3. Процесс, который Вам необходимо запустить, нужно стартовать с сигнала, настроенного на изменение в основной записи поля "Запустить мониторинг" на "true". Таким образом, по каждой записи, у которой первый процесс проставил "Запустить мониторинг" = true, запустится Ваш основной бизнес-процесс.Вариант 2(требует привлечения разработчика, но будет оптимальнее по быстродействию):
1. С помощью C# настроить процесс выборки нужных Вам записей и из этого же процесса запустить по каждой выбранной записи соответствующий (основной) бизнес-процесс.
2. У основного процесса добавить параметр, в который процесс выборки будет записывать id экземпляра объекта. В процессе читать из параметра id и дальше настраивать процесс как обычно.
Основной вопрос как сделать процесс, который будет запускаться ежедневно?
Добрый вечер, Александра!
Предлагаю самый простой вариант:
1) Стартовый элемент. Используйте обычный стартовый элемент. Первый запуск процесс будет осуществлен вручную.
2) Изменение данных. Укажите условия, при которых признак должен быть изменен с false на true (значение установленной на детали дате = текущей дате). Измените этим элементом условие с false на true.
Используйте после этого элемента два условных потока:
2.1) Условный поток, условие которого никогда не выполняется, например, 1==0. Этот условный поток ведет к окончанию процесса (то есть процесс никогда не закончится).
2.2) Условный поток, условие которого всегда истинно или же поток по умолчанию.
Этот условный поток ведет к таймеру.
3) Таймер. Укажите в настройках таймера значение 86400 секунд, которое соответствует 24 часам.
4) Свяжите таймер с элементом "Изменение данных" второго шага инструкции.
5) В настройках бизнес процесса укажите максимальное количество повторений, например, 10.000 (спустя 10.000 циклов бизнес процесс завершится)
Данный процесс вручную необходимо запустить один раз. Последующие разы процесс будет отрабатывать по таймеру и выполнять элемент "Изменить данные" самостоятельно.
Процесс изменит всем записям с текущей датой значение логического поля.
Настройте второй бизнес процесс на событие изменение значения логического поля. Таким образом, первый процесс будет запускать второй процесс.