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

[Решено]Небольшая проблема с PHP полем в таблице MySQL в конструкторе отчетов

Добавлено: 02 июн 2023, 16:07
Lexxor2011
Суть в следующем:
В Конструкторе отчетов создан отчет для печати скажем "Коммерческое предложение"
В котором используется Таблица (MySQL запрос) (это состав предложения, т.е. сама номенклатура непосредственно), в ней почти все колонки заполняются через PHP поле, в которых происходят определенные манипуляции с полями запроса.
Например есть колонка с "Производитель", в которой идет выборка по полю запроса ID номенклатуры, в Сущности самой номенклатуры, чтобы определить ID производителя и если запрос удачный, то производится далее запрос в Сущность контрагенты, где извлекается Название производителя и выводится в итоге в данное поле.

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

$manufacture_id_query = db_query("SELECT field_400 FROM app_entity_45 WHERE id=". $item['field_495']);
if($manufacture_id_arr = db_fetch_array($manufacture_id_query)){
  if(!$manufacture_id_arr['field_400']){
    $output_value = '---';
  }else{
    $manufacture_id = $manufacture_id_arr['field_400'];
    $manufacture_query = db_query("SELECT field_331 FROM app_entity_35 WHERE id=". $manufacture_id);
       if($manufacture_arr = db_fetch_array($manufacture_query)){
         $output_value = $manufacture_arr['field_331'];}
     }
}
При этом если производитель в Номенклатуре не указан (а такое может быть, если это услуга например), то код должен вывести прочерки '---' в данном поле в отчете.
Если вся номенклатура с производителем, то все прекрасно, ошибок не выводится, если есть позиции, где не указан производитель, то выходит ошибка:
Warning: A non-numeric value encountered in /home/users/.../plugins/ext/classes/report_page/blocks_table.php on line 381
То есть, как я понимаю проблема в том, что я пытаюсь вывести текст '---' в поле PHP, которое является числовым, и система при этом выдает ошибку.
Но почему значение PHP поля, обязательно всегда должно быть числовым? Бывает необходимость вывести текстовое значение, как в данном случае..
Либо как вариант предложения, может добавить в Конструктор отчетов поле типа Ajax запроса, чтобы можно было любой результат выводить? В том числе и текстовый?

Re: Небольшая проблема с PHP полем в таблице MySQL в конструкторе отчетов

Добавлено: 03 июн 2023, 07:12
support
Это у вас какая версия программы?

Re: Небольшая проблема с PHP полем в таблице MySQL в конструкторе отчетов

Добавлено: 03 июн 2023, 14:34
Lexxor2011
У меня пока 3.3.1, еще не переходил на новую.

Re: Небольшая проблема с PHP полем в таблице MySQL в конструкторе отчетов

Добавлено: 03 июн 2023, 20:31
support
Вот когда перейдете, тогда и поговорим:) После выхода новой версии я старые не поддерживаю.
Если в 3.4 проблема повторится, пишите, я посмотрю что можно сделать.

Re: Небольшая проблема с PHP полем в таблице MySQL в конструкторе отчетов

Добавлено: 04 июн 2023, 11:08
Lexxor2011
support писал(а): 03 июн 2023, 20:31 Вот когда перейдете, тогда и поговорим:) После выхода новой версии я старые не поддерживаю.
Если в 3.4 проблема повторится, пишите, я посмотрю что можно сделать.
Обновился до 3.4 бета2, сразу вылезла ошибка:
viewtopic.php?t=6237

Re: Небольшая проблема с PHP полем в таблице MySQL в конструкторе отчетов

Добавлено: 04 июн 2023, 14:05
Lexxor2011
Сергей, с предыдущей проблемой разобрался, не в ту папку Дополнение распаковал.
Но теперь и на основном сервере проблема с лицензией, о которой я написал Вам в личку.
Не могу зайти в Дополнения.
Поэтому не могу проверить проблему собственно "Сабжа", работает это после обновления или нет.

Re: Небольшая проблема с PHP полем в таблице MySQL в конструкторе отчетов

Добавлено: 05 июн 2023, 09:15
Lexxor2011
Сергей, я обновился до 3.4 бета 3, таже проблема сохранилась как и в версии 3.3.1, только теперь указывает на другую строку в коде:
Warning: A non-numeric value encountered in /home/users/i/.../plugins/ext/classes/report_page/blocks_table.php on line 421

Re: Небольшая проблема с PHP полем в таблице MySQL в конструкторе отчетов

Добавлено: 05 июн 2023, 12:02
support
Нашел причину. Файл из архива замените в plugins\ext\classes\report_page\
Сообщите результат.

Re: Небольшая проблема с PHP полем в таблице MySQL в конструкторе отчетов

Добавлено: 05 июн 2023, 12:41
Lexxor2011
support писал(а): 05 июн 2023, 12:02 Нашел причину. Файл из архива замените в plugins\ext\classes\report_page\
Сообщите результат.
Сергей, спасибо!
Файл поменял, все заработало!