Сводные таблицы ОШИБКА определения типа поля

Ответить
registriren
Сообщения: 41
Зарегистрирован: 27 окт 2022, 00:12
Имя: Андрей
Откуда: Санкт-Петербург

Сводные таблицы ОШИБКА определения типа поля

Сообщение registriren »

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

Re: Сводные таблицы ОШИБКА определения типа поля

Сообщение support »

Для подсчета суммы все значения должны быть числовыми. Если какое то значение пустое или текстовое, то сумма не будет доступна для колонки.
registriren
Сообщения: 41
Зарегистрирован: 27 окт 2022, 00:12
Имя: Андрей
Откуда: Санкт-Петербург

Re: Сводные таблицы ОШИБКА определения типа поля

Сообщение registriren »

В приведенном примере (в демо версии) март и апрель ни чем не отличаются по полям (пустые, числовые), но при этом в сводной таблице апрель считается корректно, а март - нет. Другие поля май - август, декабрь так же содержат пустые значения, но подсчет суммы осуществляется корректно. В модуле явно ошибка. Прошу ещё раз проверить, это очень важный тип отчета.
registriren
Сообщения: 41
Зарегистрирован: 27 окт 2022, 00:12
Имя: Андрей
Откуда: Санкт-Петербург

Re: Сводные таблицы ОШИБКА определения типа поля

Сообщение registriren »

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

Re: Сводные таблицы ОШИБКА определения типа поля

Сообщение support »

Андрей, дело в том, что данный модуль - это стороння js библиотека и код там закрытый, нет возможность вносить туда изменения.
Иногда еще помогает очистка кеша браузера.
registriren
Сообщения: 41
Зарегистрирован: 27 окт 2022, 00:12
Имя: Андрей
Откуда: Санкт-Петербург

Re: Сводные таблицы ОШИБКА определения типа поля

Сообщение registriren »

Сергей, я подумал, что если фильтры в настройках отчета работают корректно, то и фильтры "по умолчанию" должны работать, но если у них принцип взаимодействия с библиотекой разный, то наверное исправить не получиться...
nruslan2
Сообщения: 2435
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow

Re: Сводные таблицы ОШИБКА определения типа поля

Сообщение nruslan2 »

тоже столкнулся с такой проблемой - какая то плавающая ошибка, столкнулся на массиве данных который был залит через SQL. Те не дает выбрать для поля сумму, только количество.
Сделал бекап базы, поднял на тестовом, ошибки пропала все работает. Пытаюсь повторить ни в какую не получает. Вот специально не могу вызвать, но пару раз до этого то же сталкивался.
Для себя для работы просто меняю в БД значение на sum - и тогда даже если в полях будут буквы, все равно сумму будет делать цифры, даже если будет значение текст с цифрой - он цифру определит и добавит в сумму))
Но хотелось бы что нить более понятного!

В коде \plugins\ext\modules\pivot_tables\actions\view.php 190 строка

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

$output_array[] = !strlen($output_value) ? 0 : $output_value; 
может написать так

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

$output_array[] = !strlen($output_value) ? 0 : (float)$output_value;
Так как повторить проблему специально не смог не могу проверить помогает такое незначительное улучшение!
Ответить