Как получить текст ошибки при выполнении бизнес процесса из JavaScript?

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

Я получаю вот такой JSON в коллбеке ProcessModuleUtilities.executeProcess

 

'"{\\"message\\":\\"Произошла ошибка во время выполнения процесса. Пожалуйста, проверьте журнал процессов для получения детальной информации\\",\\"success\\":false,\\"errorInfo\\":{\\"initialConfig\\":{\\"errorCode\\":null,\\"message\\":\\"Произошла ошибка во время выполнения процесса. Пожалуйста, проверьте журнал процессов для получения детальной информации\\",\\"stackTrace\\":null},\\"errorCode\\":null,\\"message\\":\\"Произошла ошибка во время выполнения процесса. Пожалуйста, проверьте журнал процессов для получения детальной информации\\",\\"stackTrace\\":null,\\"instanceId\\":\\"8a078ebd-540c-476a-aab0-98fa4c42ce83\\",\\"hasListeners\\":{},\\"events\\":{\\"destroyed\\":true}}}"'

 

Здесь есть instanceId (8a078ebd-540c-476a-aab0-98fa4c42ce83), но когда я пробую сделать поиск по нему в базе данных, то не нахожу никакой ошибки. 

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

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

 

Если же я выполню бизнес процесс успешно, тогда существует поле processId, по которому я могу найти текст ошибки.

 

Как другим способом можно найти ошибку выполнения бизнесс процесса который запускает C# код?

 

Спасибо

Нравится

4 комментария

Или может быть я делаю неправильно когда кидаю исключение в бизнес процессе. Как правильно создать исключение, если бизнес процесс должен быть остановлен?

Добрый день, instanceId о котором вы говорите не совсем относиться к бизнес-процессу. В данном случае удобнее всего искать в SysProcessLog сортировав его по дате создания и добавив фильтр на название нужного процесса. 

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

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

Добрый день. Возможно ли данный функционал добавить? Это выглядит очень удобно когда надо при нажатии на кнопку запустить бизнесс процесс и показать ошибку если она появилась.

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