Newsgroup: it.comp.lang.visual-basic
Titolo: Crystal Rep BUG

Da mesi mi sto scornando con un bug incredibile:
Avendo un campo numerico in una unica sezione di  gruppo, se metto la
sua somma parziale alla  fine del gruppo, l'importo mi viene
moltiplicato per ogni rigo di dettaglio stampato. Ovviemente il
dettaglio elenca cose che non hanno nulla a che vedere con il campo
che e' presente nel gruppo. Il risultato e' assurdo. 
Sembra che il crystal report incrementi tutte le somma per ogni rigo
di dettaglio stampato ignorando se i valore contenuto sia in una
sezione di gruppo o di dettaglio.
Non so proprio come fare, il cliente mi sta martellando da mesi ed
ormai non so più che scusa inventarmi.
Ofro 100.000  lire a chi mi risolve il problema, sperando che si possa
risolvere. 
Il report deve essere in crystal report per Vb5  (Ver.: 4.6.1) 
Il report incriminato e scaricabile da:
 
ftp://server.at-soft.com/pub/pr_tmp.zip
il database  
 
ftp://server.at-soft.com/pub/Cesare.zip
ciao e grazie.

ormai non so piů che scusa inventarmi.



Il Cristal Report FUNZIONA ! certo come tutti i programmi di una certa
complessita' hai i suoi buchi o bachi che dir si voglia, ma io lo uso da
diversi anni ed a volte gli faccio fare anche cosa complicate e mi trovo
abbastanza bene. Molte volte mi accorgo che il problema sta' in quello che
gli si passa quindi attenzione a progettare bene i nostri database, le
nostre query ecc. ecc.
E un ultimo consiglio..... se proprio non ne venite a capo alcune volte
conviene preparargli i dati su un piatto d'argento, dando al CR solo il
compito di stamparli e magari di fare qualche stupido calcolo....
Saluti e non demordete.......chi l'ha dura la vince........


Dato che hai collegato la tabella FATR alla tabella PRINOT e hai aperto un
gruppo con PRINOT.NumReg (quindi mi pare di capire che hai raggruppato tutti
gli articoli delle fatture che fanno a capo di PRINOT.NumReg), il Crystal
associa ad ogni riga di dettaglio (cioè ogni record di FATR) il proprio
record PRINOT: tutte e due le righe fanno a capo allo stesso record in
PRINOT che ha come valore 120.000 quindi è ovvio che se alla fine del gruppo
gli dici di sommarti tutti i PRINOT.Dare/Avere il CR li andrà a prendere per
tutte le righe presenti nei dettagli.
Fino a qui è tutto normale!
Però a questo punto non ho ben capito alla fine cosa vuoi veramente
ottenere...
Non parlare di denaro!!! 8-)~
Ciao...

conviene preparargli i dati su un piatto d'argento,
=una tabella fatta aposta apposta per lui magari
non mi sembra un modo molto elegante per programmare così...


tutte le righe presenti nei dettagli.
Allora cerco di spiegare meglio cosa succede
Gruppo Numreg (Footer)       prinot.dare       prinot.avere
dettaglio: I righi della fattura
Gruppo Numreg (Pie)       Sommadi prinot.dare  prinot.avere
Se ci sono 3 righi di fattura mi ritrovo sum(prinot.dare) =
prinot.dare * 3
Il che, gia gravicamente non ha proprio senso. Pensare che diversi
colleghi programmatori stanno perdendo la testa senza venirne a capo
!!
Sei vuoi vedere con i tuoi occhi puoi scaricare il report su 
ftp://server.at-soft.com/pub/pr_tmp.rep
ftp://server.at-soft.com/pub/cesare.zip


ciao
credo il problema sia quello di usare direttamente le tabelle anziché delle
query mirate
Nella tabella Fatr ci sono due dettagli la cui unica differenza sta nel
campo Rigo, quindi fa la somma di entrambi i campi DARE
lui non raggruppa correttamente...
prova a crearti una tabella nuova, in questa ci inserisci da programma i
dati che ti servono per le stampe (clausole Group by), crei con crystal il
report che poggia solo su quella tabella...
bye

