Экранирование в переменных

Обсуждение Stimulsoft Reports.PHP
Ответить
aquilax
Сообщения: 78
Зарегистрирован: 19 май 2016, 16:17

Экранирование в переменных

Сообщение aquilax »

Столкнулись с проблемой, при запуске отчета, происходит экранирование символа "кавычка" - там где вставляются переменные. И из-за этого отчет выдает ошибку. Как избежать экранирования? Как обойти эту проблему?
Вложения
err.jpg
err.jpg (41.35 КБ) 8462 просмотра
aquilax
Сообщения: 78
Зарегистрирован: 19 май 2016, 16:17

Re: Экранирование в переменных

Сообщение aquilax »

Переменная выглядит так:
"TO_CHAR(sysdate, 'YYYYMMDDHH24MISS')"

И мы ее вводим по умолчанию прямо в отчете.

Пытаемся отключить в config.xml EscapeQueryParameters, но результата нет. Видимо потому что они по дефолту заданы и фактически не передаются в отчет.
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Экранирование в переменных

Сообщение Aleksey »

Здравствуйте,

Пожалуйста, попробуйте использовать следующую опцию:

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

StiOptions.Engine.escapeQueryParameters = false;
Также уточните какую версию вы используете.

Спасибо.
aquilax
Сообщения: 78
Зарегистрирован: 19 май 2016, 16:17

Re: Экранирование в переменных

Сообщение aquilax »

А куда эту опцию вставить нужно в отчете? :roll:
Вложения
ver.jpg
ver.jpg (33.5 КБ) 8456 просмотров
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Экранирование в переменных

Сообщение Aleksey »

Здравствуйте,

В файле config.xml, установите параметр EscapeQueryParameters в значение False.

Спасибо.
aquilax
Сообщения: 78
Зарегистрирован: 19 май 2016, 16:17

Re: Экранирование в переменных

Сообщение aquilax »

aquilax писал(а):Переменная выглядит так:
"TO_CHAR(sysdate, 'YYYYMMDDHH24MISS')"

И мы ее вводим по умолчанию прямо в отчете.

Пытаемся отключить в config.xml EscapeQueryParameters, но результата нет. Видимо потому что они по дефолту заданы и фактически не передаются в отчет.

Не помогает
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Экранирование в переменных

Сообщение Aleksey »

Здравствуйте,

Мы протестировали работу указанной опции на версии 2016.1 и не обнаружили проблем. При отключенной опции экранирование значений переменных не производится. Наш тестовый отчет в аттаче.

Пожалуйста выполните следующие действия:
1. В файле 'config.xml' установите опцию EnableDataLogger в значение True
2. Запустите дизайнер с нужным отчётом и выполните построение отчёта
3. Нажмите на кнопку 'Save Log File' в главном меню дизайнера
4. Сохраните log файл и пришлите его нам для анализа. Данный файл будет содержать лог всех запросов/ответов клиента и сервера.

Спасибо.
Вложения
ReportMySql.mrt
(7.47 КБ) 606 скачиваний
aquilax
Сообщения: 78
Зарегистрирован: 19 май 2016, 16:17

Re: Экранирование в переменных

Сообщение aquilax »

Нашли проблему, оказалась - в некорректной установке продукта.
Из-за специфики производим разработку отчетов в версии .net, а PHP пользуемся только viewer-ом. при попытке запустить дизайнер PHP стали возникать ошибки. После переустановки, изменение опции EscapeQueryParameter в конфиге стало корректно отрабатывать :)

Спасибо!
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Экранирование в переменных

Сообщение Aleksey »

Здравствуйте,

Отлично!
Дайте знать если будут еще вопросы.

Спасибо.
Ответить