Перевод отчетов из формата FR2xx в FR3xx
Как мне программно перевести все свои отчёты в формат FastReport 3?
Вроде бы так:
frReport1.LoadFromFile(...);
frReport1.SaveToFR3File(...);
Вопрос.
А где взять функцию SaveToFR3File ??
и возможен ли этот перевод для отчетов созданных в FR2.47
Вроде бы так:
frReport1.LoadFromFile(...);
frReport1.SaveToFR3File(...);
Вопрос.
А где взять функцию SaveToFR3File ??
и возможен ли этот перевод для отчетов созданных в FR2.47
Комментарии
Смотри в старом там она есть, только как-то она глючит.
Я пробую выполнить конвертацию следующими способами(все способы работают не корректно):
1) Используя конвертер FR3Convert.exe: проблема - возникает ошибка
(Report contains the following non-plugged components: TfrBDEQuery You must include these components into your project.)
с отчетами, которые содержат объект TfrBDEQuery, этот объект удаляется с новых fr3 отчетов.
Я пробовал добавить строку(TfrBDEQuery=TfrxBDEQuery или frBDEQuery=frxBDEQuery)
в файл FR25x.dat и в таблицу преобразований(соответствий) в проге FR3Convert но это также не помогает(ошибка таже).
2) Я пробовал сделать это программно так:
frReport1.LoadFromFile('Авансовый отчет с признаками с НДС');
frReport1.SaveToFR3File('Авансовый отчет с признаками с НДС');
но это тоже не помогает так как полученый отчет получается вообще пустой.
3) Я пробовал вручную открыть отчет в fr2.5 и сохранял в версии fr3 - отчет получается наиболее корректный и
ошибка пункта 1) не возникает, но из-за большого числа отчетов нет возможности так работать.
Примечание: Дополнительные ОШИБКИ, что возникали при всех выше перечисленых вариантах:
а) в новом полученом отчете fr3 смешаются бенды, а мемо не все, или меняется размер бендов в
результатате получается очень уродливый отчет.
б) ВАЖНО! Если в отчете fr2.5 в процедуре диалоговой формы, которая вызывается двойным кликом
на диалоговой форме был написан обработчик типа:
begin
s:='SELECT '+
'm.DocID, '+ ....
end
то в новом отчете этот обработчик преобразуется и имеет вид:
procedure Page2OnBeforePrint(Sender: TfrxComponent);
begin
with Page2, Engine do
begin
s:='SELECT '+ {***}
'm.DocID, '+ ...
end
и при выполнении отчета fr3 он ругается(Undeclared identifier: 's')
на переменную в строке ***, что впринципе логично так как она не объявлена .
Заранее длагодарен за точный и подробный ответ!