Страница 1 из 2
[Решено] Сообщение о результате выполнения автоматизации
Добавлено: 17 окт 2024, 11:02
tehnos
Привет.
Кейс: по кнопке автоматизации запускается PHP скрипт.
Задача: управляемо выдавать сообщение о результате выполнения автоматизации. Например, останавливать выполнение и сообщать пользователю об ошибке нативными средствами Руководителя.
Сейчас у меня останов происходит с помощью exit(), это работает, но выглядит плохо.
Re: Сообщение о результате выполнения автоматизации
Добавлено: 17 окт 2024, 12:48
Fait
tehnos писал(а): ↑17 окт 2024, 11:02
Привет.
Кейс: по кнопке автоматизации запускается PHP скрипт.
Задача: управляемо выдавать сообщение о результате выполнения автоматизации. Например, останавливать выполнение и сообщать пользователю об ошибке нативными средствами Руководителя.
Сейчас у меня останов происходит с помощью exit(), это работает, но выглядит плохо.
Есть системный способ выводить баннер с сообщением.
Выводится оно просто:
Код: Выделить всё
$alerts->add($message, $type);
/*
$type =
info - голубой фон (по умолчанию)
success - зелёный фон
warning - оранжевый фон
error - красный фон
*/
Пример:
Код: Выделить всё
$alerts->add('Процесс не завершён, не указан id заказа!', 'warning');
Re: Сообщение о результате выполнения автоматизации
Добавлено: 17 окт 2024, 13:01
Parazit00
Fait писал(а): ↑17 окт 2024, 12:48
tehnos писал(а): ↑17 окт 2024, 11:02
Привет.
Кейс: по кнопке автоматизации запускается PHP скрипт.
Задача: управляемо выдавать сообщение о результате выполнения автоматизации. Например, останавливать выполнение и сообщать пользователю об ошибке нативными средствами Руководителя.
Сейчас у меня останов происходит с помощью exit(), это работает, но выглядит плохо.
Есть системный способ выводить баннер с сообщением.
Выводится оно просто:
Код: Выделить всё
$alerts->add($message, $type);
/*
$type =
info - голубой фон (по умолчанию)
success - зелёный фон
warning - оранжевый фон
error - красный фон
*/
Пример:
Код: Выделить всё
$alerts->add('Процесс не завершён, не указан id заказа!', 'warning');
Спасибо! Я и не знал, что существуют системные поля. Благодарю.
Re: Сообщение о результате выполнения автоматизации
Добавлено: 17 окт 2024, 15:29
tehnos
Это идеально!
Спасибо!
Re: [Решено] Сообщение о результате выполнения автоматизации
Добавлено: 21 окт 2024, 15:29
tehnos
Так блэт, баг подкрался незаметно...
При запуске по кнопке - всё изумительно, но вот при запуске в CRON имеем ошибку:
Код: Выделить всё
Call to a member function add() on null on line 96
Строка 96:
Код: Выделить всё
$alerts->add('Информация обновлена', 'success');
Есть идеи как исправить это неприятный нюанс? Я не могу придумать.
Re: [Решено] Сообщение о результате выполнения автоматизации
Добавлено: 21 окт 2024, 16:31
tehnos
Решил проблему проверкой user id.
Код: Выделить всё
if($app_user['id'] != 0) { $alerts->add('Информация обновлена', 'success'); }
Дело закрыто.
Re: [Решено] Сообщение о результате выполнения автоматизации
Добавлено: 21 окт 2024, 22:07
Fait
tehnos писал(а): ↑21 окт 2024, 15:29
Так блэт, баг подкрался незаметно...
При запуске по кнопке - всё изумительно, но вот при запуске в CRON имеем ошибку:
Код: Выделить всё
Call to a member function add() on null on line 96
Строка 96:
Код: Выделить всё
$alerts->add('Информация обновлена', 'success');
Есть идеи как исправить это неприятный нюанс? Я не могу придумать.
Да, забыл предупредить!
Для скриптов, выполняемых по крону, вызов этой функции невозможен, так как запуск производится дистанционно без участия пользователя.
Да и как бы логично, зачем выводить баннеры с сообщениями, если их смотреть некому)
Re: [Решено] Сообщение о результате выполнения автоматизации
Добавлено: 22 окт 2024, 08:20
support
Нужно проверять что $alerts является объектом.
Re: [Решено] Сообщение о результате выполнения автоматизации
Добавлено: 22 окт 2024, 08:27
nruslan2
support писал(а): ↑22 окт 2024, 08:20
Нужно проверять что $alerts является объектом.
это как?
Re: [Решено] Сообщение о результате выполнения автоматизации
Добавлено: 22 окт 2024, 08:45
Fait
nruslan2 писал(а): ↑22 окт 2024, 08:27
support писал(а): ↑22 окт 2024, 08:20
Нужно проверять что $alerts является объектом.
это как?
А вот так
Код: Выделить всё
if (is_object($alerts)) {
$alerts->add('Информация обновлена', 'success');
}