Valentina Reports FAQ
License
Q: What can be used for free?
1) Valentina Server is totally FREE for 5 connections. Everybody can get own named license file. Valentina Server is two in one: DB Server + Report Server. This fact opens to everybody Valentina Report engine, even in multi-user mode!
But to design reports you need a copy of Valentina Studio Pro ($199).
2) Valentina Report ADK as client to Valentina Server is always FREE. You can even develop few applications using different ADKs (e.g. VPHP, VNET, ObjC, …) that will work around VServer.
Q: What can be purchased?
1) Valentina Studio ($199) - to design reports.
2) Valentina Report ADK ($199 - $399) - to embed local Valentina Report engine into your application.
3) Valentina Server - more connections if needed ($300 - $1500).
4) VDN - Valentina Embedded Server ($599) if you want to deploy a Valentina Server with your application.
Q: Can I test before buy?
Yes of course.
1) Valentina Studio – without PRO serial is able
create a new .vsp file (local or on vserver), but it will create a RAM-table for reports. As result, reports will not be saved to disk. All rest works and can be touched. You can create few reports, design them, connect to datasources, see preview, … Well, preview will have DEMO watermark also.
open an existed .vsp file and work with it, but you cannot create new reports there.
2) Valentina Server - you can get a free license of VServer with 5 connects, and use it as DB Server + Report Server, as with VStudio, so with ADKs.
3) Valentina ADK - without serials in the Valentina.InitReports() will generate reports with watermark “DEMO”, but you can write and test your code.
Each Valentina ADK have few examples of reports with prepared .vsp files.
If you want to prepare own .vsp file with own reports, then (!!!) you need do this with the help of Valentina Server, because in this way you can create new .vsp file and reports using VStudio and then connect from ADK application to use them, because your reports will live until VServer restart.
Note, that VServer in this case just helps to workaround limits of DEMO mode of VStudio. If you already have VStudio Pro license then you can just create own .vsp file and test it from ADK app.
Documentation
General
Q: Can I use a report created against mySQL with other databases?
YES. Report itself by default is database-independent. You can design report using e.g. mySQL tables, but later witch to PostgreSQL. For report it is important only to get cursor that have fields with same names and compatible types.
* [TIP] If needed, you can force other DB to be similar using SELECT fld as 'CorrectName' syntax in the query.
* EXCEPTION from this rule is case, when you change property of a report to use SQL of Datasource instead of Valentina SQL. In this case you become able to use specific SQL commands of your datasource DB, for example PostgreSQL, but it is obvious that such report will not work with mySQL or others.
Reports & ADK
Q: Can I use Reports created in the Valentina Studio with my REALbasic (Director, Revolution, PHP, NET, ... ) application?
YES of course.
To support this each Valentina ADK have two classes
VProject - to open Valentina Project .vsp file and manage reports
VReport - to produce report as PDF or other format.
Also Valentina offers extended SELECT command as SELECT … FOR REPORT
to produce cursor with BLOB field, which contains result report. This feature allows to use reports even by clients, which do not have VProject/VReport classes, e.g. by ODBC driver.
Q: How Valentina Reports engine is embedded into my app technically?
In the vcomponents folder VREPORT.DLL presents, which is a runtime Report Engine.
Q: Can a report be modified at runtime by my application?
NO. Report is designed in the Valentina Studio Pro and application via ADK can only use it as is, providing some dataset.
Valentina Reports have conditions in controls, this allows to make flexible enough templates that change behavior depending on data.
Q: Can users of my application change/tune reports?
Only if user have own Valentina Studio Pro license.
Q: How hard is it to add reports once a project is released? Same for updating existing reports?
Nothing hard. Just open your existed .vsp file and make new report(s). If you need change code of app depends how you have code it.
Q: Can I build report from array data?
No, but you can insert values of this array into a TMP table (it can be also TMP+RAM table) of a database and use that table as data source for report.
Datasources
Deployment
Q: HOW TO prepare my application for deployment?
For each ADK in the Valentina Wiki presents a section with Manual. In a manual presents section “Deployment” where instruction and (may be) helper scripts are given.
Q: I use (REAL Studio/Livecode). I have only (Mac/Win/Lin) computer. Can I build final app for other platforms?
Let us give few points to answer this.
Most archives of Valentina ADK contains platform specific libraries. This means that usually, a MAC archive do not have windows and linux libraries.
For cross-platform tools like REAL Studio and LiveCode, it is possible compile executable of application for other platforms. But still it is required to use archives for other platforms to get libraries for other platforms and copy them into App folder.
To extract libraries from archives for other
OS, usually it needs to have that
OS, as true computer or as virtual machine.
Do not consider this as a big problem, because with sure you need to have that OSes to be able test/debug your application before send to users.
Reports & VServer
Projects
General
Q: What is advantage to keep reports under VSERVER?
Advantages are GREAT!
You have a single place where reports are stored, so future you can easy change .vsp file by a newer one. Image you deploy solution to a school with 1 vserver and 100 clients around. It is much simpler to replace .vsp file on a single computer than on 100.
You can have thing client which connects to VServer and gets generated report as PDF/JPG/…
Development team can do collective work around single Valentina Project.
Q: Who generates a report when a Valentina Client APP asks for that?
Let us remind that Valentina Server is a standalone application with embedded Valentina Kernel Engine and Valentina Report Engine. These engines present in the vserver/vcomponents folder as vkernel.dll and vreport.dll.
Your application also includes vcomponents folder, although you can remove vkernel and vreport DLLs if you want only vclient app. But if you do not remove them, then your application also contains report engine.
So answer is: you can tune your solution in both way:
client-side reports.
server-side reports.
For client-side reports your app must include vreport.dll in vcomponents. In this case your app can open local .vsp file and then app/vreport.dll will talk to a remote DB Servers to get data from them and generate VReport using this cursor as data source. App/vcomponents/report.dll will do the job.
For server-side reports, vsp file is located in vserver/projects folder and is opened by vserver itself. Your app can be a thing vclient (without vkernel and vreport dlls), so it should ask VServer to generate a report.
In both cases the same code is used. Only 2 lines difference how you open project file: by a local path or by name using VConnection.
Q: When should be used "SELECT ... FOR REPORT" SQL command?
It is the only way for a client to get report from VServer if client cannot use VProject/VReport classes from native Valentina API. In particular, Valentina ODBC driver provides to client only SQL to communicate.
Reports & VKERNEL.DLL
Q: Is VREPORT.DLL linked to VKERNEL.DLL?
YES. Valentina Reports engine is linked very tight to VKERNEL.DLL.
For example, it uses:
ICU unicode library to work with unicode strings and do formatting of output.
SQL engine to calculate expressions for report fields
…
Report Design
You can design reports using Valentina Studio Pro.
Layouts
Drawing
Calculations