Problema sottoreport in crista XI

giovedì 08 giugno 2006 - 14.49

tisio2 Profilo | Newbie

Salve a tutti,ho un problema con la costruzione di un report in cristal report XI.
Ho una tabella mella quale sono registrati tutti i dati relativi a interventi compiuti su un macchina.
Devo estrarre tutti gli interventi relativi alla macchina per tipologia di intervento,così da avere per quella macchina tutti gli interventi di tipo A,poi tutti quelli di tipo B e così via.
Ho creato un report che al suo interno contiene dei sottoreport per ogni tipologia di intevento.

Qui c'è già la prima domanda: E' possibile creare in un unico report nel quale ci sono dei report consecutivi ( e non concentrici come propone cristal) o è proprio necessario creare dei sottoreport e eseguirli uno dietro l'altro?

In ogni sottoreport devo selezionare la macchina specifica e la tipologia di intervento,però c'è un dato ( ) che per ottenerlo ho bisogno dell'intera tabella e non della tabella filtrata. A questo punto mi servirebbe un sotto-sottoreport ma questo in CR XI non è possibile.
Ho omesso la selezione del tipo macchina nella "esperto selezione" in modo da avere tutti i dati possibili all'interno del report.infatti crystal mi mostra tutte le macchne. A questo punto per evidenziare solamente la macchina interessata ho messo il filtro su "Esperto sezione" e "Ometti (Senza analisi detagliata),scrivendo la condizione che se le macchine sono diverse de quella specificata non vengono visualizzate. (ci sono altri metodi ??)
Anche questo metodo funziona,ma non riesco a calcolare il dato ( )che mi interessa in quanto omettendo tutte le altre macchine non ho la fonte esterna per calcolarlo.
C'è un metodo o un stringa da specificare per riuscire a eseguire (all'interno di un filtro) un aclcolo sulla tutta la tabella,e non su la tabella filtrata?

Grazie

freeteo Profilo | Guru

>Ho creato un report che al suo interno contiene dei sottoreport
>per ogni tipologia di intevento.
se puoi ti conviene usare i raggruppamenti anziche i sottoreport, soprattutto se i campi sono gli stessi e cambia solo 1campo come switch...anche perche' è piu veloce e piu facilmente manutenibile...

>Qui c'è già la prima domanda: E' possibile creare in un unico
>report nel quale ci sono dei report consecutivi ( e non concentrici
>come propone cristal) o è proprio necessario creare dei sottoreport
>e eseguirli uno dietro l'altro?
non ho capito cosa intendi per "concentrici" anche perche' mi sambra non sia possibile fare piu 1 sottoreport dentro ad 1 sottoreport...almeno fino alla 10 non era possibile...

>In ogni sottoreport devo selezionare la macchina specifica e
>la tipologia di intervento,però c'è un dato ( ) che per
>ottenerlo ho bisogno dell'intera tabella e non della tabella
>filtrata. A questo punto mi servirebbe un sotto-sottoreport ma
>questo in CR XI non è possibile.ù
ok dai allora anche in XI non si puo

>Ho omesso la selezione del tipo macchina nella "esperto selezione"
>in modo da avere tutti i dati possibili all'interno del report.infatti
>crystal mi mostra tutte le macchne. A questo punto per evidenziare
>C'è un metodo o un stringa da specificare per riuscire a eseguire
>(all'interno di un filtro) un aclcolo sulla tutta la tabella,e
>non su la tabella filtrata?
mmm devi fare via codice, altrimenti se ragguppi puoi sfruttare il fatto che cmq visualizzi tutti i dati ma lui ti crea 1a treeview e dentro li puoi fare tutti i totali parziali e relativi conti.
Per inibire la visibilita' di altre parti (tipicamente se vuoi stamparle singole), il viewer di crystal ti viene incontro e ti permette di fare il drilldown (ovvero 1 doppio clickk quando passi sopra al campo per cui hai raggruppato e il cursore ti diventa 1a "lente di ingrandimento"

>
>Grazie
di niente questo è quello che posso consigliarti...spero ti serva!
ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo

tisio2 Profilo | Newbie

Grazie mille freeteo,ma io son duro di comprendonio.Cerco di dispiegarmi il più possibile come dice Sconsolata...
Col termine concentrici (che non è certamente il termine tecnico) volevo intendere uno dentro l'atro. Cosa vuol dire: se io creo un report nuovo da zero, il programma mi propone una strruttura composta da : Intestazione report,intestazione pagine,dettagli,piè di pagina report e piè di pagina.Se io vado a creare un gruppo di raggrauppament,questo di dispome tra i dettagli e Intestazione pagina,se creo un secondo gruppo anche questo sarà disposo tra il primomo gruppo e i dettagli,così da avere: Intestazione report,intestazione pagina,intestazione 1 gruppo,intestazione 2 gruppo,dettagli,piè gruppo 2,piè gruppo 1,piè report e piè pagina. Vedi che qualsiasi gruppo cresce attorno ai dettagli.Io volevo creare invece una struttura differente,tipo intestazione report,intestazioen pagina,intestazione gruppo 1,dettagli1,piè gruppo 1,intestazione gruppo 2,dettagli2,piègruppo 2,piè del report e piè della pagina.Cos' per esempio io posso inserire tutti i dati nel report,e nel gruppo uno io faccio vedere tutti i cambi oglio delle mie auto con i relativi dettagli,nel gruppo 2 faccio vedere tutti i cambio freni e i relativi dettagli,e così via con gli altri gruppi (naturalmente questo è un esempio)
Un'ultima cosa,ho guardato in giro per CR XI ma non ho trovato de nessuna parte il metodo di scrivere il report via codice

Ringrazio tutti fin da ora...
ciao

freeteo Profilo | Guru

ciao,
la struttura del report, header details e footer (piu i raggruppamenti) non è modificabile purtroppo, devi giocare tra raggruppamenti e sottoreport.Pero' sinceramente credo che quello che vuoi fare tu sia tranquillamente fattibile con questa struttura, percio' se hai dei punti in cui non sai come venirne fuori puoi allegare qui il report e vedremo di darti 1a mano...avendo il report magari diventa piu facile capirsi...

Altrimenti potresti provare e ad usare i report "rdlc" di Sql Reporting Services,dove hai piu liberta' con l'impaginazione...sono scaricabili gratuitamente con la versione advanced di Sql Express :
http://msdn.microsoft.com/vstudio/express/sql/compare/default.aspx




ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo

tisio2 Profilo | Newbie

Ciao freeteo,grazie mille per la disponibilità.I dati che tiro su per cristal provengono da un database in oracle e dunque se ti passo il report non so cosa riusciretsti a visualizzare o se semplicemente ti basta quello.
Comunque di report ne ho fatti 4-5 e diversi,per fare la medesima cosa ma ogni volta mi blocco.
Ti spiego come funziona la procedura. Un cliente ha un problema sulla macchina(S/N macchina),chiama noi e noi apriamo una commessa (N° commessa),che non è altro che un numero di intervento generale. La commessa viene creata per una macchiana ed ecco il primo legame: commessa-macchina che viene risolto nella tabella 1 (chiamiamola così) . Una volta che si è deciso chi fa l'intervento e quando, viene creato l'intervento vero e proprio (N° intervetno) che è legato alla commessa e alla macchina. Cosa succede che alcuni clienti hanno più macchine,per cui viengono creati tanti interventi quanti sono le macchine,per cui facendo un esempio: commessa per macchine 1 e 2, intervento 1 per macchina 1 e intervento 2 per macchina 2.Il legame tra l'intervento e la commessa viene risolta dalla tabella 2 .
Poi ci sono atra due tabelle ( 3 e 4) che sono legate alla tabella 2 per mezzo dell'intervento. Nella tabella 3 sono riportate le ore di lavoro e nella tabella 4 le spese affrontate.
Ora io devo ricavare tutte le ore e tutte le spese affrontate per una macchina.
Ora detto così sembra una cazzata ma facile non è...
Le spese affrontate (nella tabella 4) però non sono del singolo intervneto,ma dell'intera commessa per cui uno dei miei problemi è ricavarele spese per la macchina,in quanto se ho una commessa con 2 macchine registrate e le spese sono uniche devo prendere le spese e dividerle per due.
Ora se faccio un raggrupamento per Commessa - Matricola - intervento,nell'intervento poi nell'intervento devo sapere quante macchine ho nella commessa,per fare le spese diviso le macchine,ma essedo il gruppo superiore quello delle macchine è naturale che mi dia sempre uno. Ho provato in diversi modi di raggruppare ma il problema è sempre quello,che il raggruppamento è uno dentro l'altro e quando sono dentro non riensco a estrapolare un dato che sta nel gruppo sopra...
Ecco io come ti ripeto ti ringrazio della tua disponibilità,ma non voglio che tu diventi matto par sta cosa..

ciao ciao


Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5