Форум: "Начинающим";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
ВнизFastReport 3.0 переменные Найти похожие ветки
← →
IntruderLab (2007-10-30 09:33) [0]Вобщем-то задача на удивление проста, в отчете формируется определенное значение, которое необходимо отдать программе для дальнейшей обработке, как ее вытащить оттуда для версии FR3.x я не понимаю. Ответ где то рядом, но видимо запарил, кому не сложно - подскажите плиз
← →
Reindeer Moss Eater © (2007-10-30 09:40) [1]Через список переменных отчета
← →
IntruderLab (2007-10-30 09:44) [2]а примерчик можно?
← →
Reindeer Moss Eater © (2007-10-30 09:45) [3]Конечно можно. Загляни в документацию.
← →
Сергей М. © (2007-10-30 09:47) [4]MyReport.Variables["MyVariable"]
← →
IntruderLab (2007-10-30 09:54) [5]это то я понимаю.... вопрос на какое событие вешать?
← →
Сергей М. © (2007-10-30 09:56) [6]
> на какое событие вешать?
На какое считаешь нужным, на то и "вешай".
← →
IntruderLab (2007-10-30 09:57) [7]хех, у мя выдает невозможно преобразовать String в Double
← →
IntruderLab (2007-10-30 09:58) [8]вот такая у меня строка в коде программы
s := repChangeBlanks.Calc(repСhangeBlanks.Variables["sSaldo"]);
и вот такая в коде скрипта отчета
Set("sSaldo", <rds2."PD_SUMMA">);
← →
IntruderLab (2007-10-30 10:00) [9]Наврал
невозможно преобразовать вариант (null) в string
← →
Anatoly Podgoretsky © (2007-10-30 10:01) [10]> IntruderLab (30.10.2007 10:00:09) [9]
Все правильно - невозможно.
← →
IntruderLab (2007-10-30 10:04) [11]:) понятно что не возможно
а что я не так делаю?
← →
Reindeer Moss Eater © (2007-10-30 10:08) [12]а что я не так делаю?
Игнорируешь совет №3
← →
IntruderLab (2007-10-30 10:09) [13]а в [8] разве не так я описывал?
← →
IntruderLab (2007-10-30 10:09) [14]и в доках я рылся....
← →
Сергей М. © (2007-10-30 10:11) [15]
> у меня строка в коде программы
>
В обработчике какого события ?
← →
IntruderLab (2007-10-30 10:23) [16]У меня по жмаху на батоне. Я и спрашивал в каком событии вытащить переменные из отчета
← →
Сергей М. © (2007-10-30 10:28) [17]
> Я и спрашивал в каком событии вытащить переменные из отчета
В любом, возникающем после выполнения скрипта, устанавливающего значение переменной.
← →
IntruderLab (2007-10-30 10:32) [18]превью подойдет?
← →
Reindeer Moss Eater © (2007-10-30 10:33) [19]А сама переменная-то предварительно была добавлена в список переменных?
А то сейчас выяснится что ты пытаешься получить переменную скрипта объявленную в теле отчета.
← →
Сергей М. © (2007-10-30 10:37) [20]
> превью подойдет?
сначала см. [19]
← →
IntruderLab (2007-10-30 10:41) [21]в отчете у меня объявлена переменная называется sSaldo, потом я открываю отчет значение переменной присваиваю, а теперь мне надо отдать значение этой переменнной в программу для дальнейшей обработки.... я уже подумываю о том чтобы в процедуре sql сервера все таки ее посчитать :( раз не получается из отчета дернуть :(
← →
IntruderLab (2007-10-30 10:43) [22]Делал еще вот так в событии preview
var s : Variant; i : Integer; varr : TfrxVariable;
begin
i := repChangeBlanks.Variables.IndexOf("sSaldo");
if i <> -1 then
begin
varr := repChangeBlanks.Variables.Items[i];
s := varr.Value;
end;
ShowMessage(s);
end;
← →
Сергей М. © (2007-10-30 10:46) [23]
> я открываю отчет значение переменной присваиваю
Значит null ты ей присваиваешь, судя по [9]
← →
IntruderLab (2007-10-30 10:55) [24]Вот данные с самого отчета
procedure repChangeBlanksOnStartReport(Sender: TfrxComponent);
begin
Set("sSaldo", <rds2."PD_SUMMA">);
ShowMessage(<sSaldo");
end;
Отчет сам отдает 25000, то есть ту сумму которая реальна...
← →
IntruderLab (2007-10-30 11:01) [25]ShowMessage(<sSaldo>); ну тут вот так соответсвенно...
← →
Сергей М. © (2007-10-30 11:03) [26]
> OnStartReport
Что за событие ?
В FR3 есть события Before/AfterPrint, ManualBuild..
← →
IntruderLab (2007-10-30 11:11) [27]при старте формирования отчета :)
← →
IntruderLab (2007-10-30 11:12) [28]В самом то отчете от переменную вытаскивает :( суть такая что программой я не могу ее вытянуть :(
← →
Сергей М. © (2007-10-30 11:18) [29]
> при старте формирования отчета
Мож я и мартышка к старости, но в инспекторе объектов дизайнера отчета в упор не вижу события с именем "OnStartReport".
← →
IntruderLab (2007-10-30 11:20) [30]Это событие TfrxReport
← →
Сергей М. © (2007-10-30 11:26) [31]
> Это событие TfrxReport
И там тоже нет такого.
А если бы и было, то почему в [24] фигурирует регулярная процедура, а не метод объекта ?
Да и с какого перепугу этот код будет скомпилирован ?
← →
IntruderLab (2007-10-30 11:36) [32]Короче, я уже запутался.
Заного: в отчете объявлена переменная sSaldo, и на коде отчета (в скрипте) дан следующий код:
procedure Page1OnAfterPrint(Sender: TfrxComponent);
begin
Set("sSaldo", <rds2."PD_SUMMA">);
end;
В коде программы (D7)
Следующий код:
procedure TfrmAirCompanyReports.repChangeBlanksAfterPrint(
Sender: TfrxReportComponent);
var i : Integer; varr : TfrxVariable;
begin
i := repChangeBlanks.Variables.IndexOf("sSaldo");
if i <> -1 then
begin
varr := repChangeBlanks.Variables.Items[i];
s := varr.Value;
end;
end;
← →
Сергей М. © (2007-10-30 11:42) [33]
> IntruderLab (30.10.07 11:36) [32]
И ?
Чему равно TVarData(varr.Value).VType ?
Какого типа переменная s ?
← →
IntruderLab (2007-10-30 11:44) [34]s : Variant
← →
Сергей М. © (2007-10-30 11:46) [35]
> s : Variant
Чудесно.
Чему равно TVarData(varr.Value).VType после присвоения ?
← →
IntruderLab (2007-10-30 12:03) [36]это как проверить? я тормозю ужасно сегодня, 2 сутки не сплю, работу заканчиваю :(
← →
Сергей М. © (2007-10-30 12:04) [37]
> это как проверить?
ShowMessage(IntToStr(Integer(TVarData(s).VType)));
А что, отладчик уже упразднили ?
← →
IntruderLab (2007-10-30 12:08) [38]256
← →
Сергей М. © (2007-10-30 12:13) [39]
> 256
Ну тогда ShowMessage(s) не должен вызвать никаких проблем.
← →
IntruderLab (2007-10-30 12:15) [40]Дак и не вызывает, Null строку печатает :(
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.032 c