Передача параметра в отчёт - переменную можно использовать только один раз
Передача параметра в отчёт - переменную можно использовать только один раз
Версия репортера - 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 ()
Как быть?
С помощью предложенной вами на странице
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: Передача параметра в отчёт - переменную можно использовать только один раз
Здравствуйте,
Если переменная var1 имеет тип List, то необходимо использовать метод ToQueryString() для использования ее в запросе.
Спасибо.
Если переменная var1 имеет тип List, то необходимо использовать метод ToQueryString() для использования ее в запросе.
Спасибо.
- Вложения
-
- ListInQueryID.mrt
- (6.76 КБ) 495 скачиваний
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Вы не ответили на мой вопрос.
Дело не в том, что переменная имеет тип List.
В моём случае переменная имеет тип "String", и в первом "Data Source" значение переменной успешно передаётся в соответствующий sql-запрос.
А вот уже во втором и последующих Data Source" значение переменной ТЕРЯЕТСЯ (обнуляется, пропадает,...)
Почему!?
Дело не в том, что переменная имеет тип List.
В моём случае переменная имеет тип "String", и в первом "Data Source" значение переменной успешно передаётся в соответствующий sql-запрос.
А вот уже во втором и последующих Data Source" значение переменной ТЕРЯЕТСЯ (обнуляется, пропадает,...)
Почему!?
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Здравствуйте.
Похоже запрос выполняется до инициализации переменной.
Это может происходить, если данные используются в переменной, запрашиваемой у пользователя.
Возможно проблема в чём-то ещё.
Точно ответить сможем. если вы пришлёте пример, который позволит воспроизвести проблему.
Спасибо.
Похоже запрос выполняется до инициализации переменной.
Это может происходить, если данные используются в переменной, запрашиваемой у пользователя.
Возможно проблема в чём-то ещё.
Точно ответить сможем. если вы пришлёте пример, который позволит воспроизвести проблему.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Во вложении - пример отчёта.
Здесь можно посмотреть видео с демонстрацией проблемы:
https://www.youtube.com/watch?v=u5wf0Sx ... e=youtu.be
Здесь можно посмотреть видео с демонстрацией проблемы:
https://www.youtube.com/watch?v=u5wf0Sx ... e=youtu.be
HighAley писал(а): ↑13 янв 2020, 21:45 Здравствуйте.
Похоже запрос выполняется до инициализации переменной.
Это может происходить, если данные используются в переменной, запрашиваемой у пользователя.
Возможно проблема в чём-то ещё.
Точно ответить сможем. если вы пришлёте пример, который позволит воспроизвести проблему.
Спасибо.
- Вложения
-
- Пример отчёта.rar
- (8.38 КБ) 487 скачиваний
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Здравствуйте,
Параметр "p1" должен быть добавлен как переменная в словаре отчета.
Спасибо.
Параметр "p1" должен быть добавлен как переменная в словаре отчета.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Попробовал сделать по-вашему: помимо того, что завёл переменную "p1" в "handler01.php", добавил параметр "p1" в словаре отчёта (смотри вложение)
В этом случае ваш репортер не передаёт значение "1544", присвоенное переменной "p1" в файле "handler01.php" с помощью оператора $event->parameters["p1"] = 1544; , в параметр "p1" из словаря отчёта,
а пытается взять это значение из поля "Value" раздела "Init by".
В этом случае ваш репортер не передаёт значение "1544", присвоенное переменной "p1" в файле "handler01.php" с помощью оператора $event->parameters["p1"] = 1544; , в параметр "p1" из словаря отчёта,
а пытается взять это значение из поля "Value" раздела "Init by".
- Вложения
-
- Ошибка передачи параметра в отчёт 01.docx
- (194.77 КБ) 461 скачивание
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Здравствуйте,
Нашли некоторые проблемы с параметрами в последних версиях. Необходимо время для анализа.
На текущий момент, попробуйте использовать разные параметры для каждого источника данных.
Спасибо.
Нашли некоторые проблемы с параметрами в последних версиях. Необходимо время для анализа.
На текущий момент, попробуйте использовать разные параметры для каждого источника данных.
Спасибо.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Здравствуйте.
После того, как устраните свою ошибку, сообщите пожалуйста об этом.
После того, как устраните свою ошибку, сообщите пожалуйста об этом.
Re: Передача параметра в отчёт - переменную можно использовать только один раз
Здравствуйте,
Да, конечно.
Да, конечно.