BKS Shorts Report Designer 1.6

We released version 1.6 today of our Xojo based reporting classes and our Report Designer. The report designer can be dropped into a Xojo desktop application so end users can create their own reports. Report generation can occur on both desktop and web apps.

Official announcement and more details at http://www.bkeeneybriefs.com/2016/03/shorts-report-designer-release-1-6-0/
Product Home Page: http://www.bkeeney.com/allproducts/bkeeney-shorts/

Among the highlights:
• Ability to query the user at runtime for report parameters. You can choose native values (string, numerics) as well as give them a popup and even a db query results (think State or user list).

• Reports can now fire an event when the user clicks on them at runtime. This allows the user to create a drill down style report if they want.

We released version 1.6.1 today of our Xojo based reporting classes and our Report Designer. The report designer can be dropped into a Xojo desktop application so end users can create their own reports. Report generation can occur on both desktop and web apps.

Product Home Page: http://www.bkeeney.com/allproducts/bkeeney-shorts/

Change List:
• The Footer Constants can now also be used in the header

• Refactored DesignCanvas and ReportPF and moved some of that code into PAF_DatabaseKit.DBWrapper where it makes more sense

• Loading a report into the designer, or for rendering, will no longer re-read the schema and overwrite any manually created relationships
-Added Tables and Views section into the report definition file

• Fixed an issue with report width/height not being remembered correctly. Changed from using PrinterSetup string which is not
cross platform safe to use the dimentions instead. YOU NEED TO RESAVE YOUR REPORTS TO TAKE ADVANTAGE OF CHANGE

• Fixed issue where landscape reports weren’t being exported properly to HTML and PDF.

• Added breaks in the PreparedStatement creation to help in debugging.

• Added some missing field handling to ODBC

• DBWrapper will no longer create a missing SQLite Database.

• Fixed UI in winDBRelations

We released version 1.6.2 today.

Change list:
• Added a CSV Renderer that can export reports to CSV format ignoring page headers and footers.
(Note: CSV Export isn’t perfect. We’re just taking the text and putting it in a file.)

• Added CSV Export into the File->Export Menu to give example.

• Added Chinook Invoice Database Example.

• Added ability to get exception messages back from the Report Thread.

• Tightened up the spacing in the dynamic DateTime container.

• Did some prep work in the Designer and in ReportPF to allow fields in the header in a future release.

Bug Fixes:
• Fixed Formatting of page numbers so it can go up to 4 digits.

• Fixed loading of Schema and Views in the report viewer.

• When opening a report the view switches automatically to the Design View.

• Fixed an issue where adding ? to the Filter Data (thus making it a dynamic runtime variable) would not get saved without unchecking and checking the dynamic checkbox in the list.

• Fixed issue with Lines line staying put in proper location in the Designer.

• Fixed issue where adding a Field in the Header of the report would cause what appeared to be an infinite loop (really was an exception in the thread). Now it will finish the report.

Hi Bob
Just purchased Shorts and wondering why cubsql is greyed out in the designer?
was hoping to report on my cubesql server DB’s
If there is a problem, can you give me a heads up. With having the code base, I can probably bastardise it to get it working.
Obviously this isn’t the best idea when you issue updates, but its a short term solution.

Regards James

Have you read the documentation yet? Page 14 of the Report Designer Guide. You need to set the constant kUseCubeSQL.


Hi Bob
Just for your info…

Something a little odd, and something that shouldn’t really ever occur in any database… broke your designer.
I have put a simple fix below if you think its relevant.

I have for some reason a table with a blank name i.e. “” in my database, not sure how it got there, but it broke your designer.
(I will delete it)
You will probably never get another instance of this again, a fluke on my part, and not your problem that I have a table with no name.
However heres what happens in the designer if a user does…, You can see all tables , but You can’t see any fields for any table.
When you try to get the fields using Fieldschema and pass an empty string , your code returns nil, which is fine.

BUT from then on you can’t get any field schemas using fieldSchema from any correct table name, it now is broken.
I don’t know why this is but it is.
The fix is a simple check just check for empty table names before you try to get the fieldschemas.

cheers James

[code] if rsTables <> nil and not rsTables.EOF then

while not rsTables.EOF
  tblName = rsTables.IdxField(1).StringValue.DefineEncoding(Encodings.UTF8).ToText
  // if the tblName is blank do not process, If you attempt to get fields from a blank table
  // you can not get field schemas from any table name after that

if tblName<>"" then

    if oDesigner <> Nil then 
      #if TargetDesktop
        DesignerCC(oDesigner).UpdateLoadStatus "Processing Schema: " + tblName + "..."
      #Endif .....

Please either use support@bkeeney.com or log the bug in our bug tracker at http://mantis.bkeeney.com. The Xojo forum is not an official support channel.