Бизнес-процессы: как настроить журнал изменений объектов

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

Описание и шаблоны бизнес-процессов как всегда по ссылке "Подробнее" :-)



Для создания простого реестра объектов недвижимости подходит функционал "Процессы в ленте":


Для упрощения добавлю только 3 поля:
  1. Адрес - тип "Строка"
  2. Статус объекта (код STATUS_OBEKTA) - тип "Список" с опциями "Не сдан", "Сдан".
  3. Дата окончания договора (код DATA_OKONCHANIYA_DOGOVORA) - тип "Дата"
Вот так выглядит в итоге реестр с двумя заполненными объектами:


Поле "Адрес" настройками делаю недоступным для редактирования, так как адрес объекта недвижимости изменяться не должен. Поля "Статус объекта" и "Дата окончания договора" будут меняться. Изменение этих полей и нужно зафиксировать.

Для этого добавляю недоступное для редактирование поле "Журнал изменений" (код ZHURNAL_IZMENENIY) с типом "Строка":


Теперь можно переходить к настройке бизнес-процессов, которые будут фиксировать изменения в поле "Журнал изменений".

Таких бизнес-процессов будет 2:

  1. Первый будет запускаться только на создание нового элемента процесса и записывать в "Журнал изменений" дату создания элемента и исходные значения полей.
  2. Второй будет запускаться только на изменение элемента и записывать в "Журнал изменений" дату редактирования и новые значения полей. 

Настройка процесса на создание элемента

В процесс добавляю служебную переменную "Журнал изменений" (log) с типом "Многострочный текст". Формировать запись для журнала изменений буду в ней, и в конце процесса запишу ее значение в поле "Журнал изменений".


В итоге первый процесс выглядит так:

Настройки действий:

Формирование переменной "Журнал изменений" 


Запись значения переменной "Журнал изменений" в аналогичное поле процесса.


Настройка процесса на изменение элемента

Со вторым процессом тоже всё просто.
Буду так же использовать служебную переменную "Журнал изменений".

Схема процесса выглядит так:


Настройки действий:

Запись даты/время изменений в переменную "Журнал изменений":



Проверка поля "Статус объекта" на наличие изменений и добавление записи в переменную "Журнал изменений" в случае, если изменение было:



Далее идет аналогичная конструкция для поля "Дата окончания договора".

Остается добавить в переменную "Журнал изменений" то, что уже было в поле "Журнал изменений":


и записать всё, что сформировано в переменной "Журнал изменений" в аналогичное поле:


Что у меня получилось в итоге после создания и двух изменений:



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

Всем хорошего дня ! :-)




Комментарии

  1. как в ветке условие, выбрать условие - Было изменено

    ОтветитьУдалить
    Ответы
    1. Оно должно быть доступно в списке выбора, если настраиваете БП в процессах (не в CRM).

      Удалить
    2. настраиваю в дизайнере БП, но такого варианта нет почему то

      Удалить
    3. Это условие можно выбрать только если тип условия стоит "Поле документа", а не "Значение переменной".

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

      Удалить
  2. есть ли возможность запускать БП регулярно: 5 числа каждого месяца ?

    ОтветитьУдалить
    Ответы
    1. Вижу простой, но не лучший вариант:
      Сделать цикл и проверку 1 раз в сутки, наступило ли 5-ое число текущего месяца. Если да, то выполняется задание, если нет, то пауза в один день и снова проверка.

      Не лучший - потому что циклы грузят систему. И если процессов будет много - может быть Хьюстон.

      Удалить
    2. В обновлениях Битрикс24.Бостон ожидается функционал "Роботизация бизнеса" и в нем заявлены "Регулярные процессы". Возможно, что с помощью этого функционала получится решить Вашу задачу.

      Удалить
  3. Неплохо реализовано! Только поле "Журнал изменений", имхо, показывать в форме добавления ни к чему.

    ОтветитьУдалить
    Ответы
    1. Да, Вы правы - чекбокс "Показывать в форме добавления" в настройках поля "Журнал изменений" нужно снять.

      Удалить

Отправить комментарий

Популярные сообщения

Расширение возможностей бизнес-процессов с помощью вебхуков: работа с задачами