Перешел на версию 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);
TEXT_FIELDTYPE_TEXT_PATTERN
- Fait
- Инвестор

- Сообщения: 1196
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: TEXT_FIELDTYPE_TEXT_PATTERN
Вы правильно всё обновили?
Важна последовательность обновления бд и замены файлов от версии к версии
Важна последовательность обновления бд и замены файлов от версии к версии
Re: TEXT_FIELDTYPE_TEXT_PATTERN
версию сразу последнюю накатил, а затем скриптами от версии к версии.
- support
- Техническая поддержка
- Сообщения: 7660
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: TEXT_FIELDTYPE_TEXT_PATTERN
Константа прописана в языковом файле. Какой скрипт запускаете через cron?
Re: TEXT_FIELDTYPE_TEXT_PATTERN
В языковом файле константа указана стандартно, 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,
]);
вероятно, из под крона почтовые правила работают не корректно, что и вызывает ошибку.
Скрипт вызывает функцию, она обновляет сущность по условию.
Также она вызывается через crm, отрабатывает, подает только если запуск через cron.
Решается только если $this->options = array('title' => TEXT_FIELDTYPE_TEXT_PATTERN); изменить на $this->options = array('title' => '');
или выполнять items update с добавлением [
'run_email_rules' => false,
]);
вероятно, из под крона почтовые правила работают не корректно, что и вызывает ошибку.