Страница 1 из 2
Передача параметра в отчёт - переменную можно использовать только один раз
Добавлено: 10 янв 2020, 15:38
svs
Версия репортера - Version 2020.1.1 from 18 Декабрь 2019, PHP, JS
С помощью предложенной вами на странице
https://www.stimulsoft.com/ru/samples/p ... -sql-query
конструкции передаю в отчёт переменную, которую хочу использовать в запросах в НЕСКОЛЬКИХ "Data Source".
Так вот, запрос из первого "Data Source" получает правильное значение переменной, а вот в запросах второго и последующих "Data Source" значение переменной ОЧИЩАЕТСЯ.
Например, запрос из 2-го "Data Source" имеет вид:
select * from produces where produce_id in ({var1})
При этом var1 = 1,2,3
При построении отчёта появляется ошибка исполнения запроса:
select * from produces where produce_id in ()
Как быть?
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Добавлено: 13 янв 2020, 12:07
Aleksey
Здравствуйте,
Если переменная var1 имеет тип List, то необходимо использовать метод ToQueryString() для использования ее в запросе.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Добавлено: 13 янв 2020, 14:30
svs
Вы не ответили на мой вопрос.
Дело не в том, что переменная имеет тип List.
В моём случае переменная имеет тип "String", и в первом "Data Source" значение переменной успешно передаётся в соответствующий sql-запрос.
А вот уже во втором и последующих Data Source" значение переменной ТЕРЯЕТСЯ (обнуляется, пропадает,...)
Почему!?
Aleksey писал(а): ↑13 янв 2020, 12:07
Здравствуйте,
Если переменная var1 имеет тип List, то необходимо использовать метод ToQueryString() для использования ее в запросе.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Добавлено: 13 янв 2020, 21:45
HighAley
Здравствуйте.
Похоже запрос выполняется до инициализации переменной.
Это может происходить, если данные используются в переменной, запрашиваемой у пользователя.
Возможно проблема в чём-то ещё.
Точно ответить сможем. если вы пришлёте пример, который позволит воспроизвести проблему.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Добавлено: 14 янв 2020, 16:23
svs
Во вложении - пример отчёта.
Здесь можно посмотреть видео с демонстрацией проблемы:
https://www.youtube.com/watch?v=u5wf0Sx ... e=youtu.be
HighAley писал(а): ↑13 янв 2020, 21:45
Здравствуйте.
Похоже запрос выполняется до инициализации переменной.
Это может происходить, если данные используются в переменной, запрашиваемой у пользователя.
Возможно проблема в чём-то ещё.
Точно ответить сможем. если вы пришлёте пример, который позволит воспроизвести проблему.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Добавлено: 16 янв 2020, 22:48
Aleksey
Здравствуйте,
Параметр "p1" должен быть добавлен как переменная в словаре отчета.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Добавлено: 17 янв 2020, 10:18
svs
Попробовал сделать по-вашему: помимо того, что завёл переменную "p1" в "handler01.php", добавил параметр "p1" в словаре отчёта (смотри вложение)
В этом случае ваш репортер не передаёт значение "1544", присвоенное переменной "p1" в файле "handler01.php" с помощью оператора $event->parameters["p1"] = 1544; , в параметр "p1" из словаря отчёта,
а пытается взять это значение из поля "Value" раздела "Init by".
Aleksey писал(а): ↑16 янв 2020, 22:48
Здравствуйте,
Параметр "p1" должен быть добавлен как переменная в словаре отчета.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Добавлено: 21 янв 2020, 10:36
Aleksey
Здравствуйте,
Нашли некоторые проблемы с параметрами в последних версиях. Необходимо время для анализа.
На текущий момент, попробуйте использовать разные параметры для каждого источника данных.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Добавлено: 21 янв 2020, 11:16
svs
Здравствуйте.
После того, как устраните свою ошибку, сообщите пожалуйста об этом.
Aleksey писал(а): ↑21 янв 2020, 10:36
Здравствуйте,
Нашли некоторые проблемы с параметрами в последних версиях. Необходимо время для анализа.
На текущий момент, попробуйте использовать разные параметры для каждого источника данных.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Добавлено: 22 янв 2020, 10:30
Aleksey
Здравствуйте,
Да, конечно.