Valentina report

Salve,
ho creato un’applicazione desktop collegata ad un gestionale gi esistente per la stampa di etichette con codice a barre.
Dopo tutta una serie di valutazioni ho deciso di usare Valentina report.
Ho acquistato valentina studio e ho creato il mio report.

Premesso che sono un neofita di Xojo e un programmatore di ritorno (non scrivevo una riga di circa 20 anni), ho il problema di agganciare il report alla mia applicazione.
Ho guardato la documentazione di Valentina ma non riesco ad uscirne i vari esempi che ho trovato partono sempre dal presupposto che stai usando il loro DB ma io sono costretto ad usare MSSQL.

Cortesemente c’ qualcuno che pu darmi una mano?
Grazie.

Ancora una precisazione,
una volta collegato il report vorrei passare da un’anteprima (non PDF) possibile?

sembra complesso ma una volta capito tutto logico…

prova cos:

step 1
crea 2 propriet
mProject di tipo VProject
mReport di tipo VReport

step 2
inizializza valentina:
Valentina.InitReports(“i tuoi seriali”)
mProject = New VProject(GetFolderItem(“il_tuo_file.vsp”))
mProject.Open()

step 3
crea una stringa con i dati del tuo_db
stringa_valentina = “mysql://host=”+tuo_db.Host+", port="+str(tuo_db.Port)+", user="+tuo_db.UserName+", password="+tuo_db.Password+", dbname="+tuo_db.DatabaseName+", timeout=30"

step 4
crea una stringa con la query
query = "SELECT * FROM tuo archivio WHERE tuo_campo = …

step 5
mReport = mProject.MakeNewReport(“nome_report”, stringa_valentina, query)

step 6
Dim f As FolderItem = GetFolderItem("").Child(“nome_file”)
mReport.PrintToDisk( f, EVReportPrintType.kToPDF, 1)

ora il file salvato, se lo vuoi visualizzare basta che lo apri…

Ti ringrazio, faccio delle prove.
Ma non si pu aprire il report in un anteprima e non un PDF (tipo crystal report per capirci?.
Dato che devo stampare delle etichette su una stampante termica dedicata passare tramite un PDF potrebbe essere un problema.
Inoltre non posso lanciare direttamente la stampa dal programma passando tramite una finestra di dialogo per scegliere la stampante?
Il mio cliente ha ul PC collegato a 2 stampanti per etichette industriali e a seconda dell’etichetta deve scegliere la stampante.

Ancora grazie,

puoi salvarlo in vari modi
kToHTML
kToMetafile
kToPDF
kToPicture_GIF
kToPicture_JPG
kToPicture_PNG
kToPostscript
(cercali con l’autocompletamento)

per stamparlo senza salvarlo sul disco puoi crearlo come file temporaneo

Do you have the Valentina Reports ADK for Xojo? If so VReport has the PrintToLocalPrinter() method so you don’t need to output a file in order to print (use VReport.LocalPrinters to get an array of all available local printers) and the PreviewPage() method that returns a picture that you can draw to a canvas as a preview.

1 Like

Scusami da stamattina che ci sbatto la testa …
ho questo problema:

arrivato allo step 2 e precisamente a

mProject.Open()

il programma si interrompe senza nessuna segnalazione di errore, non esegue le righe che ci sono dopo. Dove sbaglio? Ti posto la prova che stavo facendo, nel codice che ti posto manca la creazione delle propriet che mi hai scritto allo step 1, nella prova che sto facendo le ho create.

dim vconn as String
dim sql as String

Valentina.InitReports("","","")

myReports = new VProject(GetFolderItem(“Z:\XojoProject\BCPrint\Report.vsp”))

myReports.Open

vconn = “mssql://host=\\server\SQLFW2008, port = 50244, user = sa, password = sqlfwadmin.2008, dbname = fwprint”
MsgBox(“3”)
sql = “select * from bctoprint”
MsgBox(“4”)
MsgBox(vconn)

Et_Scatolo = myReports.MakeNewReport(“et_scatolo”, vconn, sql)

dim f as FolderItem = GetFolderItem(“Z:\XojoProject\BCPrint”).Child(“Report.pdf”)

Et_Scatolo.PrintToDisk(f, EVReportPrintType.kToPDF, 1)
f.Launch

grazie

scusate …

nella riga

myreports.Open

le parentesi ci sono. La riga corretta

myreports.Open ()

a naso direi di verificare il percorso che assegni a myreports…

metti un break poin dopo
myReports = new VProject(GetFolderItem(“Z:\XojoProject\BCPrint\Report.vsp”))

e verifica se myReports nullo

Grazie ancora, da un scambio di mail con il supporto di Valentina in problema sebra legato alla licenza. Io ho acquistato valentina studio ma non ancora l’ADK se vuoi usarlo come demo devi usare tutto il “pacchetto” (server/studio/ADK) altrimenti non funziona.
Mi hanno proposto una chiave provvisoria di 3gg per completare le mie prove.