[Решено] Сообщение о результате выполнения автоматизации

Все вопросы/проблемы по установке и использовании.
tehnos
Сообщения: 176
Зарегистрирован: 13 сен 2021, 17:10
Имя: Евгений
Откуда: Алушта

[Решено] Сообщение о результате выполнения автоматизации

Сообщение tehnos »

Привет.
Кейс: по кнопке автоматизации запускается PHP скрипт.
Задача: управляемо выдавать сообщение о результате выполнения автоматизации. Например, останавливать выполнение и сообщать пользователю об ошибке нативными средствами Руководителя.
Сейчас у меня останов происходит с помощью exit(), это работает, но выглядит плохо.
Последний раз редактировалось tehnos 17 окт 2024, 19:17, всего редактировалось 1 раз.
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 916
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Сообщение о результате выполнения автоматизации

Сообщение Fait »

tehnos писал(а): 17 окт 2024, 11:02 Привет.
Кейс: по кнопке автоматизации запускается PHP скрипт.
Задача: управляемо выдавать сообщение о результате выполнения автоматизации. Например, останавливать выполнение и сообщать пользователю об ошибке нативными средствами Руководителя.
Сейчас у меня останов происходит с помощью exit(), это работает, но выглядит плохо.
Есть системный способ выводить баннер с сообщением.
Выводится оно просто:

Код: Выделить всё

$alerts->add($message, $type);
/*
$type =
info - голубой фон (по умолчанию)
success - зелёный фон
warning - оранжевый фон
error - красный фон
*/
Пример:

Код: Выделить всё

$alerts->add('Процесс не завершён, не указан id заказа!', 'warning');
Аватара пользователя
Parazit00
Сообщения: 88
Зарегистрирован: 04 мар 2024, 19:21
Имя: Артём
Откуда: Казахстан, Тараз
Организация: SHOP-EX Быстро и Надежно
Контактная информация:

Re: Сообщение о результате выполнения автоматизации

Сообщение 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');
Спасибо! Я и не знал, что существуют системные поля. Благодарю.
tehnos
Сообщения: 176
Зарегистрирован: 13 сен 2021, 17:10
Имя: Евгений
Откуда: Алушта

Re: Сообщение о результате выполнения автоматизации

Сообщение tehnos »

Это идеально!
Спасибо!
tehnos
Сообщения: 176
Зарегистрирован: 13 сен 2021, 17:10
Имя: Евгений
Откуда: Алушта

Re: [Решено] Сообщение о результате выполнения автоматизации

Сообщение tehnos »

Так блэт, баг подкрался незаметно...
При запуске по кнопке - всё изумительно, но вот при запуске в CRON имеем ошибку:

Код: Выделить всё

Call to a member function add() on null on line 96
Строка 96:

Код: Выделить всё

$alerts->add('Информация обновлена', 'success');
Есть идеи как исправить это неприятный нюанс? Я не могу придумать.
tehnos
Сообщения: 176
Зарегистрирован: 13 сен 2021, 17:10
Имя: Евгений
Откуда: Алушта

Re: [Решено] Сообщение о результате выполнения автоматизации

Сообщение tehnos »

Решил проблему проверкой user id.

Код: Выделить всё

if($app_user['id'] != 0) { $alerts->add('Информация обновлена', 'success'); }
Дело закрыто.
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 916
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: [Решено] Сообщение о результате выполнения автоматизации

Сообщение Fait »

tehnos писал(а): 21 окт 2024, 15:29 Так блэт, баг подкрался незаметно...
При запуске по кнопке - всё изумительно, но вот при запуске в CRON имеем ошибку:

Код: Выделить всё

Call to a member function add() on null on line 96
Строка 96:

Код: Выделить всё

$alerts->add('Информация обновлена', 'success');
Есть идеи как исправить это неприятный нюанс? Я не могу придумать.
Да, забыл предупредить!
Для скриптов, выполняемых по крону, вызов этой функции невозможен, так как запуск производится дистанционно без участия пользователя.

Да и как бы логично, зачем выводить баннеры с сообщениями, если их смотреть некому)
Аватара пользователя
support
Техническая поддержка
Сообщения: 9279
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: [Решено] Сообщение о результате выполнения автоматизации

Сообщение support »

Нужно проверять что $alerts является объектом.
nruslan2
Сообщения: 2517
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Re: [Решено] Сообщение о результате выполнения автоматизации

Сообщение nruslan2 »

support писал(а): 22 окт 2024, 08:20 Нужно проверять что $alerts является объектом.
это как?
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 916
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: [Решено] Сообщение о результате выполнения автоматизации

Сообщение Fait »

nruslan2 писал(а): 22 окт 2024, 08:27
support писал(а): 22 окт 2024, 08:20 Нужно проверять что $alerts является объектом.
это как?
А вот так

Код: Выделить всё

if (is_object($alerts)) {
  $alerts->add('Информация обновлена', 'success'); 
}
Ответить