php 8.2 Предупреждения при использовании items::insert();

Любые критические ошибки будут исправлены в течение 24-48 часов.
Ответить
Romiros
Сообщения: 98
Зарегистрирован: 02 ноя 2022, 05:15
Имя: Роман Сысоев
Откуда: Иркутск
Организация: ООО "ДНС Ритейл"

php 8.2 Предупреждения при использовании items::insert();

Сообщение Romiros »

Добрый день!

После переноса сущностей на xamp php 8.2

При использовании в коде функции
items::insert($entity_id, $data_1);
начинает выдавать предупреждения

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

Warning: Undefined array key 0 in C:\xampp\htdocs\rukovoditel\includes\classes\items\items.php on line 1727

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\rukovoditel\includes\classes\items\items.php on line 1727

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in C:\xampp\htdocs\rukovoditel\includes\classes\items\items.php on line 1729
не как не могу понять как это исправить

Подскажите что можно сделать.

П.С. Вот что нашел в интернете
Ошибки указывают на проблемы с доступом к элементам массива и использованием функции strlen() с параметром null, что является устаревшим в PHP 8.0 и выше.

Чтобы исправить эти ошибки, вам нужно убедиться, что вы обращаетесь к существующим элементам массива и что параметры для функций не являются null.
Romiros
Сообщения: 98
Зарегистрирован: 02 ноя 2022, 05:15
Имя: Роман Сысоев
Откуда: Иркутск
Организация: ООО "ДНС Ритейл"

Re: php 8.2 Предупреждения при использовании items::insert();

Сообщение Romiros »

Покопался немного, и пришел в выводу что это предупреждение появляется всегда когда я в data[] использую поле parent_id.

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

      $data_1 = [
        'parent_id'=> $id_new_task,				
        'parent_item_id'=> $item_id ,				
        'field_1599' => $tip_step,					
        'field_1600' => $row['field_1612'],			
        'field_1601' => '4276', 
        'field_1602' => $db_formatted_d1,
        'field_1603' => $db_formatted_d2,
        'field_1614' => 'false',			
        'field_1710' => $row['field_1793'] ?? '',		
        'field_1800' => $row['field_1613'] ?? '',			
        'field_1714' => $row['field_1956'] ?? 0,			
        'field_1957' => $row['field_1953'] ?? 0,			
        'field_1959' => $row['field_1958'] ?? '',			
        'field_1960' => $row['field_1961'] ?? '',			
        'field_1963' => $row['field_1962'] ?? '',			
        'field_1992' => $row['field_1990'] ?? 0,			
        'field_1993' => $row['field_1991'] ?? 0,			
        'created_by' => $new_created_by
      ];
      
     items::insert($entity_id, $data_1);
Если код оставляю таким то при каждом его выполнении выпадают предупреждения.

Если я комментирую строку

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

//       'parent_id'=> $id_new_task,			
то предупреждений нет.

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

Re: php 8.2 Предупреждения при использовании items::insert();

Сообщение support »

Проблему обнаружил. Файл из архива замените в includes\classes\items\
Сообщите результат.
Вложения
items.zip
(11.88 КБ) 30 скачиваний
Romiros
Сообщения: 98
Зарегистрирован: 02 ноя 2022, 05:15
Имя: Роман Сысоев
Откуда: Иркутск
Организация: ООО "ДНС Ритейл"

Re: php 8.2 Предупреждения при использовании items::insert();

Сообщение Romiros »

Добрый день!

Да всё работает благодарю.
Ответить