Запрос для отчета

Можно ли воспользоваться SQL запросом для Fast Report?
Или передать значение переменных из скрипта в Select Query при вызове отчета?

Нравится

6 комментариев

"Прищепа Владимир" написал:Или передать значение переменных из скрипта в Select Query при вызове отчета?

Конечно можно Передача параметра в отчет FastReport и фильтрация

Но мне не нужно передавать параметры в FastReport и фильтровать Dataset.
Мне нужно либо воспользоваться данными SQL запроса, либо построить запрос в Select Query.

"Прищепа Владимир" написал:Мне нужно либо воспользоваться данными SQL запроса, либо построить запрос в Select Query.

На событии fr_frDateOnPreview отчета FR, фильтруете данные, устанавливаете переменные в SQ
К SelectQuery датасета Dataset можно обратиться Dataset.SelectQuery

function fr_frDateOnPreview(ReportPreviewer) {
 var DatasetNameStr = "ds_frDate"; //датасет в котором мы хотим делать фильтр по дате (необходимо помнить о том, что у отчета может быть несколько датасетов)
 var str = ReportPreviewer.DatasetUSIList.CommaText; //в строчке ReportPreviewer.DatasetUSIList.CommaText передаются USI датасетов, через запятую 
 var ReportDatasetUSI =  str.substr(str.indexOf(DatasetNameStr), DatasetNameStr.length); 
 var Dataset = ReportPreviewer.DatasetByUSI(ReportDatasetUSI);
 
                var val = GetAttribute(ReportPreviewer.Report,'TestDate');
                ApplyDatasetFilter(Dataset, 'MyDate', val, true); 
}

Гм..
То есть, если я напишу так:
Dataset.SelectQuery.Моя переменная = 100, то в SelectQuery смогу использовать "Моя переменная" и она будет равна 100?
Или я могу использовать в SelectQuery переменную val из предыдущего примера?

Посмотрите на реализацию фукции ApplyDatasetFilter в scr_DB

SetParameterValue(Dataset.SelectQuery.Parameters, FilterName, ParamValue);

Что бы стало как вы хотите "Dataset.SelectQuery.Моя переменная = 100" :

SetParameterValue(Dataset.SelectQuery.Parameters, 'Моя переменная', 100);

это если "Моя переменная" - Integer (float)
Ф-ия SetParameterValue с scr_DB, т.е scr_DB должен быть подключен к скрипту

Спасибо. Буду пытаться делать отчет.

Показать все комментарии