[Risolto] Realizzare un Report - Delucidazioni

Discussioni sulle caratteristiche di database
Rispondi
picozzo
Messaggi: 18
Iscritto il: martedì 26 febbraio 2019, 17:27

[Risolto] Realizzare un Report - Delucidazioni

Messaggio da picozzo »

Un saluto a tutti,
siccome devo realizzare un report sul mio db, cercavo esempi su come crearne uno personalizzato. In allegato ho trovato questo DB dove mi interessava come fosse stato strutturato il Report13. Ho bisogno di creare un Report identico sopratutto nella parte dove ci sono i campi per intenderci. Ho visto che in base alla ricerca effettuata nel formulario è possibile creare un report.

Nella struttura del report (che non è Report Builder)da Navigatore Formulario è stato creato un ReportSource e all'interno ci sono dei controlli nascosti che se ho ben capito permettono di creare il report della parte finale.

Mi piacerebbe capire come funzionano questi controlli e come vengono utilizzati quei campi e realizzare in mio report personale.

Grazie
Allegati
Fatture.odb
(35.52 KiB) Scaricato 178 volte
Ultima modifica di picozzo il sabato 19 ottobre 2019, 11:54, modificato 2 volte in totale.
LibreOffice 6.2. su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Realizzare un Report - Delucidazioni

Messaggio da charlie »

Ciao, il report a cui ti riferisci è stato creato con la Procedura guidata ancora presente in Open Office e sostituita da Report Builder in Libre Office.
Se ne vuoi conoscerne il funzionamento scarica ed installa Open Office che può tranquillamente coesistere con Libre Office.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
picozzo
Messaggi: 18
Iscritto il: martedì 26 febbraio 2019, 17:27

Re: Realizzare un Report - Delucidazioni

Messaggio da picozzo »

Grazie Charlie :super: .

Sono riuscito a creare il Report con Report Builder secondo le mie esigenze, soltanto che per creare una tabella con i bordi è stato un pò laborioso. Mentre nel file in allegato i campi con i bordi vengono creati automaticamente...

Volevo chiederti: ho seguito il tutorial per separare il db con i formulari (per capirci db autonomo standalone) e funziona benissimo ma con i Report come si procede?

Nel file allegato, con un pulsante si avvia il report dopo aver effettuato la ricerca, come si procede (se è possibile) per rendere autonomo anche il Report? Grazie
LibreOffice 6.2. su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Realizzare un Report - Delucidazioni

Messaggio da charlie »

Ciao, nel db stand-alone non mi risulta possibile esportare anche i report. Forse con una macro.
All'interno del db il report, oltre a poter essere avviato dal formulario (con una macro collegata al pulsante), può essere avviato autonomamente con un doppio clic su di esso. Il report Ricerca13 è costruito sulla query Ricerca1 e basta modificare questa per cambiare i risultati del report.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
picozzo
Messaggi: 18
Iscritto il: martedì 26 febbraio 2019, 17:27

Re: Realizzare un Report - Delucidazioni

Messaggio da picozzo »

Grazie Charlie,
prendendo esempio dal file in allegato e considerato che parliamo sempre di DB stand-alone , la macro per esportare il report13 come potrebbe essere? io sono negato. Ho provato una macro presa nel forum ma ho un errore di Runtime Basic. "Variabile dell'oggetto non impostata":

sub Rapporto (oEvent As Object)
dim oForm as object
oForm = oEvent.Source.Model.Parent
oForm.updateRow()
ThisDatabaseDocument.reportDocuments.getbyname("nomedellaquery").open
end sub
LibreOffice 6.2. su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Realizzare un Report - Delucidazioni

Messaggio da charlie »

Non credo sia quella la strada giusta.
Piuttosto, cercando sul forum ho trovato qui viewtopic.php?f=13&t=6064#p30629 questa macro:

Codice: Seleziona tutto

Sub EsportaPdf
document   = ThisComponent.CurrentController.Frame' il nostro frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
'Dim sPDFURL$ 'la stringa con prossimo URL e ilnome del PDF-report
Dim args1(2) as new com.sun.star.beans.PropertyValue
sPDFURL=Left(ThisComponent.Parent.Location,len(ThisComponent.Parent.Location)-len(ThisComponent.Parent.Title))& format(Now(),"DD-MMMM-YYYY,HH:MM")&".pdf"
args1(0).Name = "URL"
args1(0).Value = sPDFURL
args1(1).Name = "FilterName"
args1(1).Value = "writer_pdf_Export"
args1(2).Name = "FilterData"
args1(2).Value = Array()
dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args1())
MsgBox "Report creato",64,"OK"
End Sub
Se l'aggiungi al tuo database e l'assegni ad un pulsante, ti esporterà il report in formato PDF, con l'aggiunta di data e ora nel nome del file (che non guasta).
Devi però trovare il modo di nascondere il pulsante per non comprenderlo nel report PDF.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Realizzare un Report - Delucidazioni

Messaggio da Gaetanopr »

charlie ha scritto: Devi però trovare il modo di nascondere il pulsante per non comprenderlo nel report PDF.
Tasto dx sul pulsante - campi di controllo - Proprietà - stampabile - NO
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
picozzo
Messaggi: 18
Iscritto il: martedì 26 febbraio 2019, 17:27

Re: Realizzare un Report - Delucidazioni

Messaggio da picozzo »

Buongiorno, la macro funziona perfettamente esportando dal Report.
Utilizzando il db stand-alone e abbino la macro al formulario (writer) mi esporta tutto il formulario.

Nel file che allego, ho creato il file in odt FormularioCecaStampa.odt che ho collegato al db Fatture. Il problema è avviare la stampa del risultato, praticamente non riesco a collegarlo al Report.

Grazie
Allegati
Fatture.rar
(44.5 KiB) Scaricato 142 volte
LibreOffice 6.2. su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Realizzare un Report - Delucidazioni

Messaggio da charlie »

Ho spostato l'esecuzione della macro sull'evento Durante il caricamento del report ed aggiunta una linea di codice che chiude il report "interno" al database (compare brevemente e scompare).
Allegati
Fatture_2.odb
(43.52 KiB) Scaricato 178 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
picozzo
Messaggi: 18
Iscritto il: martedì 26 febbraio 2019, 17:27

Re: Realizzare un Report - Delucidazioni

Messaggio da picozzo »

Grazie Charlie per l'aiuto e la pazienza che hai con tutti, putroppo non riesco a realizzare quello che intendo fare :crazy: .

Ribadisco che voglio utilizzare il DB in autonomo.

Quando avvio il file FormularioCecaStampa.odt e non il DB Fatture, ho il formulario dell'immagine che ho allegato (file 1), cosa devo abbinare al pulsante stampa?

1. Se abbino la macro "stampaFattura"per avviare la query ricerca1 ho l'errore di variabile (allegato 2).

2. Se abbino la macro esporta in pdf ho lo stesso errore (allegato3).

2. Se abbino alle operazioni del pulsante (apridocumento/pagina web) collego il file fatture.odt non so come si procede a creare la stampa del report13.

Forse mi sfugge qualcosa!!

Visto che vorrei far utilizzare il mio database in modalita stan-alone in modo da evitare modifiche al file ODB, mi manca soltanto la parte per stampare.

Preciso che avviando il DB originale odt non ho nessun tipo di problema, tutto cio che mi hai indicato funziona alla grande.
Allegati
Fatture3.rar
(223.15 KiB) Scaricato 150 volte
LibreOffice 6.2. su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Realizzare un Report - Delucidazioni

Messaggio da charlie »

Probabilmente non è possibile usare le macro con db standalone.
Ma c'è una possibilità: prova a seguire questa traccia: https://ask.libreoffice.org/en/question ... tandalone/
C'è una estensione da scaricare e installare, poi una procedura da seguire.
L'ho provata il LO e non funziona.
L'ho provata in OO in ambiente mac e non funziona fino in fondo.
L'ho provata in OO in ambiente windows 7, funziona fino al test descritto ma non sono poi riuscito ad assegnare la sequenza finale ad un pulsante.
Ci vuole del tempo ...
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Realizzare un Report - Delucidazioni

Messaggio da charlie »

In pratica bisogna fare questo:
  • Scaricare ed installare questa estensione
    DBDocShortCuts-1.0.1.oxt
    (7.22 KiB) Scaricato 135 volte
  • Eseguire una macro: Strumenti-> Macro-> Esegui macro ... quindi in Macro personali (o macro di Open Office, a seconda di dove si è installata)-> DBDocShortCuts-> ModMain esegui Main (nel pannello di destra)
  • Compilare i campi della finestra di dialogo che si apre e scegliere il pulsante Create Shortcut.
  • Nella posizione impostata al punto precedente, compare un'icona. Facendo doppio clic su di essa dovrebbe comparire il report che abbiamo collegato (impostato nella finestra di dialogo)
  • Infine occorre impostare il percorso dell'icona precedente nel parametro URL del pulsante del formulario standalone
Schermata 2019-05-16 alle 07.59.21.png
Schermata 2019-05-16 alle 08.00.22.png
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
picozzo
Messaggi: 18
Iscritto il: martedì 26 febbraio 2019, 17:27

Re: Realizzare un Report - Delucidazioni

Messaggio da picozzo »

Buongiorno Charlie grazie mille :D

TI confermo che con libreoffice 6.2.3 e windows 10 non funziona dando errore alla riga 156 della macro mod main "Valore o tipo di dati non ammesso. Tipi di dati non corripondenti".
Mentre con openoffice e windows 10 la procedura funziona correttamente e anche il collegamento del pulsante al file batch.


Volevo chiederti un ultima cosa: dovrei aggiungere due colonne al report13.
1. Una colonna prima del campo data che deve essere un contatore.
2. Una colonna alla fine della tabella, mi occorre un campo vuoto solo con intestazione che devo mettere un timbro sulla stampa.

Però quando inserisco le colonne, i dati si spostano e non corrispondono con le intestazioni, come posso risolvere e come si può inserire un campo contatore.

Grazie infinite per tutto il sostegno :super:

PS: Utilizzo OpenOffice
LibreOffice 6.2. su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Realizzare un Report - Delucidazioni

Messaggio da charlie »

Non ho capito quale versione Report stai usando.
Se è la procedura guidata di OO, ti conviene rifarla da capo.
Se è Report Builder, come fai posto ai dati spostandoli, altrettanto puoi fare con le intestazioni.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
picozzo
Messaggi: 18
Iscritto il: martedì 26 febbraio 2019, 17:27

Re: Realizzare un Report - Delucidazioni

Messaggio da picozzo »

Ok... Ho entrambi i metodi, con Report Builder nessun problema, con l'altro metodo ci ho rinunciato
LibreOffice 6.2. su Windows 10
picozzo
Messaggi: 18
Iscritto il: martedì 26 febbraio 2019, 17:27

Re: Realizzare un Report - Delucidazioni

Messaggio da picozzo »

charlie ha scritto:In pratica bisogna fare questo:
  • Scaricare ed installare questa estensione
    DBDocShortCuts-1.0.1.oxt
  • Eseguire una macro: Strumenti-> Macro-> Esegui macro ... quindi in Macro personali (o macro di Open Office, a seconda di dove si è installata)-> DBDocShortCuts-> ModMain esegui Main (nel pannello di destra)
  • Compilare i campi della finestra di dialogo che si apre e scegliere il pulsante Create Shortcut.
  • Nella posizione impostata al punto precedente, compare un'icona. Facendo doppio clic su di essa dovrebbe comparire il report che abbiamo collegato (impostato nella finestra di dialogo)
  • Infine occorre impostare il percorso dell'icona precedente nel parametro URL del pulsante del formulario standalone
Schermata 2019-05-16 alle 07.59.21.png
Schermata 2019-05-16 alle 08.00.22.png

Ciao Charlie, volevo comunicarti che la procedura indicata funziona anche con libreoffice occorre modifcare la macro. Sul link che hai indicato ho chiesto aiuto e hanno risposto.
LibreOffice 6.2. su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Realizzare un Report - Delucidazioni

Messaggio da charlie »

Dopo molto lavoro sono riuscito a far funzionare il tutto anche in macOS. Vedere qui: viewtopic.php?f=27&t=9877#p54956.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
picozzo
Messaggi: 18
Iscritto il: martedì 26 febbraio 2019, 17:27

Re: Realizzare un Report - Delucidazioni

Messaggio da picozzo »

Charlie il collegamento al file batch con il pulsante ti funziona? a me no
LibreOffice 6.2. su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Realizzare un Report - Delucidazioni

Messaggio da charlie »

Sì, a me funziona perfettamente in Windows 10.
(Devi rimuovere la macro che è collegata all'evento Eseguire l'azione del pulsante Stampa nel formulario "esterno". Al suo posto devi attivare l'Operazione: Apri documento/pagina web ed inserire l'URL del file bash).
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi