Страница 1 из 1

TEXT_FIELDTYPE_TEXT_PATTERN

Добавлено: 21 ноя 2025, 00:02
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);

Re: TEXT_FIELDTYPE_TEXT_PATTERN

Добавлено: 24 ноя 2025, 19:53
Fait
Вы правильно всё обновили?
Важна последовательность обновления бд и замены файлов от версии к версии

Re: TEXT_FIELDTYPE_TEXT_PATTERN

Добавлено: 24 ноя 2025, 21:53
alex_mx
версию сразу последнюю накатил, а затем скриптами от версии к версии.

Re: TEXT_FIELDTYPE_TEXT_PATTERN

Добавлено: 25 ноя 2025, 11:01
support
Константа прописана в языковом файле. Какой скрипт запускаете через cron?

Re: TEXT_FIELDTYPE_TEXT_PATTERN

Добавлено: 28 ноя 2025, 18:30
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,
]);

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