Вопрос

Не запускается процесс при изменении колонки

Всем привет,

Столкнулся с тем, что БП не запускается при изменении колонки в объекте. Версия старая - 7.2 Возможно тут есть какие-то особенности или я что-то делаю не так? Скрин приложил.

С уважением

Нравится

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

Для того чтобы БП чувствовали изменения объекта и могли на них реагировать необходимо выполнение 2х условий:

1) Объект должен быть потомком Базового объекта (Base object) или его потомком;

2) Изменения должны производится через элементы БП изменить данные или клиентский/серверный esq;

В коробке так и сделано, но если у вас кастомная логика и вы вносите изменения через sql или UpdateQuery/DeleteQuery, то БП не смогут их почувствовать. 

Убедитесь, что условие фильтрации для запуска данного БП выполняется, то есть в заявке изменяется значение поля 'Админский статус' на 'Договор активирован'. Если будет другое значение или поле пустое, процесс не запустится.

В настройке уберите признак 'Должна быть изменена любая колонка из списка'.

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

Для того чтобы БП чувствовали изменения объекта и могли на них реагировать необходимо выполнение 2х условий:

1) Объект должен быть потомком Базового объекта (Base object) или его потомком;

2) Изменения должны производится через элементы БП изменить данные или клиентский/серверный esq;

В коробке так и сделано, но если у вас кастомная логика и вы вносите изменения через sql или UpdateQuery/DeleteQuery, то БП не смогут их почувствовать. 

Коллеги,

Спасибо за ответы. Я тестирую меняя поле в карточке вручную (должно отрабатывать). Покопался в объектах и нашел в одном из пакетов объект, в котором заданы события объекта (ApplicationSaved). Может ли это быть причиной того, что не запускается мой тестовый процесс???

Это не должно мешать срабатіванию БП!

Григорий Чех,

Тем не менее, если убрать ApplicationSaved, БП начинает реагировать на изменение нужной колонки.

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

Зверев Александр,

Спасибо за ответ. В своем пакете добавил так как вы показали, но БП всё равно не реагирует. Пробежался по всем вышестоящим пакетам, там в одном из издательских пакетов (т.е. я не могу вносить в него изменения) тоже есть события объекта и выглядит всё очень странно. Стандарные костыли Террасофта? :)

На скриншоте как раз базовый, поверх которого наследуются. Тут не нужны.

Сравните с другими разделами, где в объекте тоже есть обработчики Saving и Saved (точно есть в разделах, где тоже генерируется номер). Если там всё аналогично, но БП запускаются, то дело в доработках Вашего раздела.

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