Поясните по TMS FlexCel

derricfle

Member
Joined
month_11_short 20, 2018
Messages
303
Reaction score
53
Age
41
Начал разбираться TMS FlexCel. Правильно я понимаю, что источник данных должен быть именно в программе?

Т.е. в самом отчете (в шаблоне Excel?) нельзя создать запрос к базе и на основе запроса построить отчет (как это сделано в FastReport или CrystalReport, например).
 

Sparta

Member
Joined
month_10_short 5, 2008
Messages
14
Reaction score
4
Age
35
Шаблон TMS FlexCel это ведь файл EXCELа. Соответственно из файла шаблона обратиться к другим данным можно через ODBC драйвера.
TMS FlexCel хорош тем, что использует стандарт MS Excel со всеми его возможностями, но плюс и тот, что если на стадии открытия шаблона (отчета) приклеить расширение .ods, то отчет вообще можно открыть в OpenOffice, просто надо файл шалона .xls отредактировать в OO (может быть другой формат формул и т.д.).

А генераторы отчетов - вещь более профессиональная и узко специолизированная, имеют свои структуры данных, в том числе и описания TDataSet.

Сам использую TMS FlexCel, просто есть выход - это динамическое создание наборов данных, под которые уже можно описать шаблон. И также из программы это вызывать. Хранить все можно в том же INI-файле или в самой базе.
 

BDAVLATOV

Member
Joined
month_12_short 17, 2008
Messages
9
Reaction score
0
1 Создается запрос типа "select * from anytable where any условие"
2 кладешь его в dataset
3 настраиваешь шаблон excel, не забудь присвоить Name в Excel
4 запускаешь свое приложение
 

derricfle

Member
Joined
month_11_short 20, 2018
Messages
303
Reaction score
53
Age
41
1 Создается запрос типа "select * from anytable where any условие"
2 кладешь его в dataset
3 настраиваешь шаблон excel, не забудь присвоить Name в Excel
4 запускаешь свое приложение

Это о чем?

Означает ли это, что можно в шаблоне Excel заменить запрос из п.1 на любой другой? И кстати, как тогда быть с master-detail?
 

Sparta

Member
Joined
month_10_short 5, 2008
Messages
14
Reaction score
4
Age
35
Это о чем?

Означает ли это, что можно в шаблоне Excel заменить запрос из п.1 на любой другой? И кстати, как тогда быть с master-detail?

Возможно все. Но не забываем в файле шаблона менять имя датасета и поля.

А вообще для типовых документов я делаю все проще:
Запросы оформляюся в виде процедур, хотя это и не принципиально.
Обращение к запросу сохраняешь в базе, а в самой программе в нужный
момент заполняешь SelectSQL нужным запросом и просто открываешь
нужный шаблон связанный с данным запросом.

Простота в том, что не трогаешь исполняемый файл, а запросы пишешь в базе, используя к примеру IBExpert и создаешь нужный шаблон.

По связке Master-Detail можно просто в отчетной форме организовать нужную вложенность, а в таблице, где хранишь запросы, организовать хранение этой связи, т.е. по сути оператор ---where detail_id = :id---
(типа того). А при открытии Detail связи просто надо соответствующие свойства связи заполнить. По крайней мере у меня работает прилично...

Хотя все можно делать и не в статическом, а создавать в динамике,
хотя типовых документов со связями больше трех представить сложно, как говорят дело фантазии.
 

derricfle

Member
Joined
month_11_short 20, 2018
Messages
303
Reaction score
53
Age
41
Спасибо!
Вы не могли бы выслать пример шаблона отчета и кусок кода для взаимодействия с движком отчета? Так сказать, чтобы велосипед не изобретать.
 

Sparta

Member
Joined
month_10_short 5, 2008
Messages
14
Reaction score
4
Age
35
Спасибо!
Вы не могли бы выслать пример шаблона отчета и кусок кода для взаимодействия с движком отчета? Так сказать, чтобы велосипед не изобретать.

Высылайте адрес в PM в принципе отправлю.
 
Top