TEXT_FIELDTYPE_TEXT_PATTERN

Ответить
alex_mx
Сообщения: 107
Зарегистрирован: 29 июн 2016, 18:59
Имя: Alex

TEXT_FIELDTYPE_TEXT_PATTERN

Сообщение alex_mx »

Перешел на версию 3.6.3, есть свои скрипты, которые запускаются в cron, с загрузкой ядра системы. На старой версии, где php 7.4 - отрабатывают, на новой, выпадает ошибка:

PHP Fatal error: Uncaught Error: Undefined constant "TEXT_FIELDTYPE_TEXT_PATTERN" in /crm/includes/classes/fieldstypes/fieldtype_text_pattern.php:22
Stack trace:
#0 /crm/plugins/ext/classes/sms.php(277): fieldtype_text_pattern->__construct()

скрипт вызывает функцию, при вызове функции не скриптом (например, кнопкой процесса), функция работает.

Ошибка происходит в этом месте: items::update_by_id(30, $item_id, $sql_data);
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1196
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич
Контактная информация:

Re: TEXT_FIELDTYPE_TEXT_PATTERN

Сообщение Fait »

Вы правильно всё обновили?
Важна последовательность обновления бд и замены файлов от версии к версии
alex_mx
Сообщения: 107
Зарегистрирован: 29 июн 2016, 18:59
Имя: Alex

Re: TEXT_FIELDTYPE_TEXT_PATTERN

Сообщение alex_mx »

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

Re: TEXT_FIELDTYPE_TEXT_PATTERN

Сообщение support »

Константа прописана в языковом файле. Какой скрипт запускаете через cron?
alex_mx
Сообщения: 107
Зарегистрирован: 29 июн 2016, 18:59
Имя: Alex

Re: TEXT_FIELDTYPE_TEXT_PATTERN

Сообщение alex_mx »

В языковом файле константа указана стандартно, define('TEXT_FIELDTYPE_TEXT_PATTERN','Текст по шаблону');
Скрипт вызывает функцию, она обновляет сущность по условию.
Также она вызывается через crm, отрабатывает, подает только если запуск через cron.
Решается только если $this->options = array('title' => TEXT_FIELDTYPE_TEXT_PATTERN); изменить на $this->options = array('title' => '');
или выполнять items update с добавлением [
'run_email_rules' => false,
]);

вероятно, из под крона почтовые правила работают не корректно, что и вызывает ошибку.
Ответить