← Назад к заметкам

Заметки

Как получить комментарии прерванного бизнес-процесса

Как получить комментарии прерванного бизнес-процесса: где искать комментарии процесса, что удаляется при прерывании.

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

Задача

Сначала нужно отделить бизнес-сценарий от технического механизма.

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

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

Как это устроено

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

  • журнал БП;
  • задания БП;
  • таймлайн CRM;
  • задачи, созданные процессом;
  • собственный журнал интеграции.

Рабочий подход

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

Для облака используйте REST и проверяйте права приложения. Для коробки, если код выполняется внутри портала, чаще удобнее PHP/D7 и штатные классы модуля.

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

Частые ошибки

Ошибки лучше ловить на минимальном примере, а не в большом процессе.

  • не проверили права пользователя или приложения;
  • перепутали ID, текстовое значение и XML_ID;
  • передали строку вместо массива для множественного поля;
  • запустили процесс повторно и получили дубли;
  • обошли штатную операцию CRM и не запустили роботов или события.

Минимальный пример

Пример показывает только базовую форму. На реальном портале замените ID, поля и права на свои.

SELECT ID, WORKFLOW_ID, TYPE, NAME, ACTION_NOTE, MODIFIED
FROM b_bp_tracking
WHERE WORKFLOW_ID = 'workflow_id_here'
ORDER BY ID;