Utilizzo di un campo del sottoreport

giovedì 07 gennaio 2010 - 11.43

patapatty Profilo | Newbie

Buongiorno e buon lavoro a tutti.
Sono nuova del Forum e quindi non arrabbiatevi se sbaglio qualcosa...

Vorrei sapere se all'interno di un report posso crearmi un campo formula in cui eseguo la sottrazione tra un campo del mio report e un campo contenuto in un suo sottoreport. In caso affermativo, come faccio riferimento al campo del sottoreport?
Spero di essere stata abbastanza chiara.

Grazie per qualsiasi aiuto e suggerimento.

Patrizia


Nessuno mi può aiutare????
Ne ho davvero bisogno!

freeteo Profilo | Guru

Ciao,
si lo puoi fare usando una variabile "Shared" che significa "globale" ad ogni elemento del report (quindi anche in un suo sottoreport).
Fai una formula nel report principale, in questo modo:
shared numbervar miaVar := {campo}
dove "{campo}" è il nome del campo, ma chiaramente potrebbe essere qualcos'altro.

Poi nel sottoreport la riusi:
shared numbervar miaVar +=...;

etc...se ti serve riaverla corretta, devi usare una terza formula che metti nel report principale, ma dopo il sottoreport in modo che sia stata elaborata nel corretto ordine...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

patapatty Profilo | Newbie

Scusa se approfitto, ma oltre ad essere nuova del forum sono anche una neofita di Crystal Report e non sono molto pratica (sto imparando "sul campo").
Forse non mi sono spiegata bene: io ho bisogno di usare un campo del sottoreport per fare un calcolo nel report principale e non viceversa.
In pratica nel report ho un elenco di articoli con relative caratteristiche. Dopo ogni articolo mostro gli ordini relativi ad esso.
Alla fine, sulla riga dell'articolo, vorrei mostrare la differenza tra la qtà a magazzino (campo del report principale) e la qtà ordinata (campo del sottoreport).

>si lo puoi fare usando una variabile "Shared" che significa "globale"
>ad ogni elemento del report (quindi anche in un suo sottoreport).
>Fai una formula nel report principale, in questo modo:
>shared numbervar miaVar := {campo}
Quando mi dici fai una formula, intendi "Campo formula"? Io conosco solo quello.

>etc...se ti serve riaverla corretta, devi usare una terza formula
>che metti nel report principale, ma dopo il sottoreport in modo
>che sia stata elaborata nel corretto ordine...
Scusa, ma cosa vuol dire mettere una formula nel report dopo il sottoreport? Intendi in una sezione successiva al sottoreport? Se sì, non mi può ancdare bene, perchè come scritto sopra devo usare il totale nella sezione soprastante.

Ciao e scusa la mia ignoranza

Patrizia

freeteo Profilo | Guru

>Forse non mi sono spiegata bene: io ho bisogno di usare un campo
>del sottoreport per fare un calcolo nel report principale e non
>viceversa.
Ok, allora il campo formula dove "dichiari" la variabile (e gli dai il valore con ":=" ) sarà nel sottoreport, ma il concetto non cambia molto.


>Quando mi dici fai una formula, intendi "Campo formula"? Io conosco
>solo quello.
si si intendo quello


>il sottoreport? Intendi in una sezione successiva al sottoreport?
>Se sì, non mi può ancdare bene, perchè come scritto sopra devo
>usare il totale nella sezione soprastante.
mmm...si capisco, forse funziona lo stesso ma non sono sicuro, quello che intendevo era proprio che potrebbe esserci un problema di "momento di rendering" del campo (e quindi del calcolo del valore) perchè procede dall'alto verso il basso.
Puoi cmq provare, casomai posta un report d'esempio che faccio 2 prove...


>Ciao e scusa la mia ignoranza
>Patrizia
figurati, scusa tu se non avevo capito ma via "testo" spesso si fa fatica a capire bene...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

patapatty Profilo | Newbie

Grazie per l'aiuto.
Ho provato, ma non ho ottenuto quello che volevo (forse sbaglio qualcosa).
Provo a inviarti il report: se hai un attimo per dargli un'occhiata mi faresti un piacere.

Come vedrai, nel report principale ci sono 2 sottoreport: DettaglioFornitori che mostra gli ordini dell'articolo e qtaOrdinata (nel piè Pagina Gruppo 1 sulla destra) che visualizza il totale della Qta Ordinata (in pratica i due sottoreport si riferiscono alla stessa tabella: nel primo mostro il dettaglio, nel secondo solo il totale.) Nel campo formula QtaDaOrdinare (sempre nel piè Pagina Gruppo 1 all'estrema destra) vorrei calcolare la differenza tra QtaMancante (del report principale) e QtaOrdinata (del sottoreport).
Per adesso in questo campo formula avevo solo cercato di usare la variabile globale, senza fare la sottrazione.

Spero di essermi spiegata bene.

Approfitto anche per chiederti un'altra cosa: quando inserisco un campo in un report, mi viene inserito con l'etichetta e con un fastidioso triangolino che si piazza sul righello. Mi pare di aver capito che serve per allineare meglio i campi, ma in realtà a me da tanto fastidio. C'è un modo per far sì che quando inserisco un nuovo campo non vengano create anche etichetta e triangolino?
C'è un modo per rimuovere in una sola volta tutti i triangoli presenti in un report già pronto?

Ciao e grazie per qualsiasi suggerimento.

freeteo Profilo | Guru

Ciao,
ti ho allegato un esempio di cosa riesci a fare con la shared numbervar che ti dicevo nel post precedente.
Nel tuo caso cmq, penso che non sia possibile tirare fuori quel valore dal sottoreport e metterlo in una sezione che viene prima...devi per forza metterlo dopo e l'esempio che ti ho allegato lo prova.


>realtà a me da tanto fastidio. C'è un modo per far sì che quando
>inserisco un nuovo campo non vengano create anche etichetta e
>triangolino? C'è un modo per rimuovere in una sola volta tutti i triangoli
>presenti in un report già pronto?
che sappia io no purtroppo, il fatto è che lui ti trascina anche il "nome" del campo, quindi le allinea...ho guardato anche nelle opzioni del report, ma non credo sia possibile mi sembra che sia un comportamento fisso.

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

patapatty Profilo | Newbie

Scusa se mi faccio viva solo adesso ma ho avuto un sacco di lavoro in questi giorni.
Ti ringrazio per la tua disponibilità.
Alla fine ho combinato modificando i dati nelle tabelle di origine in modo da poter fare i calcoli direttamente nel report principale e non nel sottoreport.
Comunque quello che mi hai insegnato mi tornerà sicuramente utile.
Vista la tua gentilezza, posso chiederti se mi puoi consigliare qualche manuale per imparare ad utilizzare CR? Quello che ho imparato finora (molto poco) l'ho imparato guardando report fatti da altri, e quindi non conosco a fondo la filosofia e le potenzialità del programma.

Grazie

Patrizia

freeteo Profilo | Guru

Ciao,
purtroppo non ho esperienza su uno (o più) manuale da consigliarti,anch'io sono autodidatta e internet-didatta
Ti posso consigliare questi link dove trovi documentazione che ti può aiutare:
https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/bobj_download/main.htm
http://www.sdn.sap.com/irj/boc

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5