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

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

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

Сообщение aquilax » 08 фев 2017, 07:44

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

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

Сообщение aquilax » 08 фев 2017, 07:59

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

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

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

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

Сообщение Aleksey » 08 фев 2017, 12:31

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

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

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

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

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

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

Сообщение aquilax » 08 фев 2017, 14:16

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

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

Сообщение Aleksey » 09 фев 2017, 07:06

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

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

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

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

Сообщение aquilax » 09 фев 2017, 10:05

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

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

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

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

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

Сообщение Aleksey » 09 фев 2017, 13:10

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

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

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

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

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

Сообщение aquilax » 09 фев 2017, 14:00

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

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

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

Сообщение Aleksey » 09 фев 2017, 21:20

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

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

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