Newsgroup: it.comp.lang.visual-basic
Titolo: Espandibilità applicativo tramite importazione nuovi report

Buongiorno.
Sto scrivendo un piccolo gestionale in VB.Net con WPF e mi sono piantato sul seguente problema. Poichè so già che durante l'utilizzo del programma capiterà relativamente spesso all'utente la necessità di impaginare i dati da stampare in maniere diverse e nuove, vorrei rendere il programma espandibile nel seguente modo:
1)L'utente chiede al programmatore un nuovo tipo di report (basato sempre sui dati dello stesso database).
2) Il programmatore produce un file (del formato/contenuto che in questo momento ignoro) sulla base delle richieste e lo fornisce all'utente.
3)L'utente importa il file contenente il nuovo tipo di report, in modo da poterlo utilizzare.
 
Tuttora che il nuovo tipo di report viene importato, questo deve offrire essenzialmente due funzionalità: una interfaccia grafica per la ricerca/selezione dei dati da stampare, e una procedura per la produzione grafica del risultato da stampare; il tutto integrandosi nell'applicativo padre.
 
E' fattibile?

Ciao a tutti. Dovrei aver risolto. E' bastato googlare con le giuste parole chiave, che in questo caso sono: VB.Net e plugin.


Si va bene plugin ma non per quello che desideri...usi un cannone per 
colpire un moscerino!
 
Un plugin "estende" le funzionalità di una applicazione.
 
Un report è una estensione per modo di dire!
Il plugin necessita di un motore di gestione con i controcazzi (se usi 
un FW ok è già li!) spesso necessita di essere installato in posizioni 
particolari etc etc....insomma va benissimo anche per un semplice report 
ma lo vedrei utile in scenari un po più complicati!
 
Un report è una query
e una descrizione del layout....roba che sta davvero in un file!
 
Io ho sempre usato tipicamente 2 cose:
 
Report semplici---> Oggetto printer
 
Report complessi ----> Report Manager (Gratis funziona anche sotto net)
 
Ma andrebbe benissimo anche CrystalReport o la roba della ex ComponentONE
 
Parti con una dotazione di report...ti chiedono altri report?
A) Scrivi il layout con il designer...
b) Scrivi un file di config che fa solo 2 cose:
	1b) Leggi il file
	2b) Fornisci il nome del nuovo report ad un listbox, voce menu 
combobox, quello che vuoi....
 
	3b) Leggi la query da eseguire e associala alla fonte dati (se non è 
già stato fatto)
 
se ci sono dei parametri da impostare dipende dalla amichevolezza che 
vuoi...puoi descrivere i parametri nel config e chiederli in un panel 
dedicato...ad esempio
 
 
IMHO sei tu colui che deve decidere a monte COME intervenire:
 
ti chiedono un report -----mandi un file....perchè?
Tipicamente: sono lontani....non pagano l'assistenza!
Ok una soluzione alla ReportMan o CrystalReport. Non ti bacare le 
palle...tanto non pagano!
 
 
Ti chiedono un report---ma è una cosa "nuova" : ha bisogno di settaggi 
da parte dell'utente e di procedure da eseguire...ad esempio ti chiedono 
di estrapolare dal bilancio dei benchmark finanziari non previsti nel 
progetto iniziale e produrli come serie di file pdf.
Il plugin potrebbe essere indicato....è una funzionalità "nuova"
...in realtà è sempre un motore di reporting (reportMan) corredato da 
procedure e query e con un po di scena visuale e settato per stampare in 
pdf!
Imho ....valuta anche la strada delle prestazioni (un plugin 
appesantisce anche perchè usa pesantemente reflection)...un versione da 
1.1 a 1.2 con inglobata la nuova funzionalità!
 
 
 
 
...vedi tu!
 
Ciao!

 
 
Ciao, mi aggancio al thread.
Usando WPF e Express (quindi senza Crystal Report), quale è la soluzione migliore per una reportistica semplice?
Vodka, valgono gli stessi consigli che hai già dato sopra?
Ho appena installato "Report Manager" e mi pare più che sufficiente, ma non ho idea di come ci si approcci con WPF alla reportistica e attendo conferma.
Posso solo pensare che essendo il report un file esterno, non influisca quale tecnologia si utilizzi nella UI.
Se invece avessi *anche* necessità di generare un foglio elettronico (sempre WPF), che rappresenti le righe di un DB, cosa è meglio fare?
Grazie.


ogni ocx o libreria o analogo....in genere ha un "designer" ...con 
quello "disegni" il report produci in genere un file...che vene mangiato 
dal programma!
 
Nello specifico di NET...su questo NG era stata postata una mini guida 
(non ricordo l'autore)....
casomai adesso interviene lui!
prova a cercare con Google nei post passati
 

On 29/08/2012 15:26, Fabrizio Alessandri wrote:

ANDREA[work] trovato
https://groups.google.com/forum/?fromgroups=#!msg/it.comp.lang.visual-basic/B-vtUEQIkxs/54UQXmO4BCwJ
 
 
casomai nello specifico chiedi a lui per un particolare 
problema!!!....io anche in net mi son referenziato l'ocx ed usato con il 
vecchissimo oledb....però prima o poi mi decido a provare l'assembly!

Grazie!!

 Esportazione XLSX: usi OpenXML SDK 2.0 o un wrapper open source come ClosedXML (
http://closedxml.codeplex.com/
).
 
E vedi un po'.


Ciao Andrea,
cercavo proprio qualcosa di indipendente da Excel.
 
Grazie 1.000!

Ciao, grazie della risposta. Non sono sparito, sto solo elaborando i tuoi suggerimenti :-). Il fatto è che finora per creare i report (poco complessi in verità) ho fatto sempre tutto a manina da codice, quindi i programmi tipo Report Manager e simili non li conosco. Ma anche imparando ad usarli (cosa che farò al più presto) il dubbio che mi rimane è come integrare nel file anche l'interfaccia grafica per l'immissione dei parametri della query; ovvero come includere le informazioni per creare un pannellino di immissione dei criteri personalizzato sia graficamente che funzionalmente.


Io in php mi creo un file di testo csv...il vantaggio è che è crosstutto 
...lo tiro dentro tutto...da excel a libreoffice a quel coso che c'ha 
mac a un as400....ovvio solo i dati!
paradossalmente ho avuto mooooolti più problemi con xml che con csv...mah!

> Esportazione XLSX: usi OpenXML SDK 2.0 o un wrapper open source come ClosedXML (
http://closedxml.codeplex.com/
).
 
Riconosco il mio tocco su questo quote :D
 
Nicola
 


Esatto :)