Poblema totali con più condizioni in Crystal report

martedì 18 maggio 2010 - 18.29

Mau67 Profilo | Expert

Ciao al forum, ho un grande bisogno di aiuto in Crystal report perchè nell'azienda dove lavoro sono cambiate delle condizioni per il pagamento di una indennità.

Spiego il problema:

Fino ad oggi dovevo pagare hai dipendenti una indennità in base alle aziende dove ogni dipendente lavorava e ad ogni azienda è associata una percentuale per il calcolo dell'indennità per un massimo di 20 anni.

Adesso la condizione è cambiata e cioè il limite dei 20 anni è rimasto però in più adesso per ogni anni di lavoro viene calcolata l'indennità per le varie percentuali e frazioni dia anni mesi e giorni.

Faccio l'esempio:

azienda 1 valutata all' 1%
azienda 2 valutata al 2%
azienda 3 valutata al 2,50%
azienda 4 valutata al 4,25%

praticamente se presto servizio per:

azienda 1 valutata all' 1% 0 anni 7 mesi 25 giorni
azienda 2 valutata al 2% 1 anno 2 mesi 15 giorni
azienda 4 valutata al 4,25% 5 anni 11 mesi e 5 giorni

il totale fino ad un massimo di 20 anni e per ogni anno sarà:

7 anni 0 mesi 0 giorni

con la rimanenza di 0 anni 9 mesi 15 giorni che restano disponibili per le prossime frazioni da sommare per raggiungere l'anno.

se invece arrivo al limite dei 20 anni:

azienda 1 valutata all' 1% 0 anni 7 mesi 25 giorni
azienda 2 valutata al 2% 1 anno 2 mesi 15 giorni
azienda 4 valutata al 4,25% 19 anni 11 mesi e 5 giorni

il totale sarà 20 anni 0 mesi 0

perchè la somma dei periodi deve avvenire dai periodi con la percentuale maggiore alla percentuale minore

Io precedentemente nel campo formula del mio report per ogni anno mese e giorno avevo inserito questo codice

IIF ({@TotaleAnni}>19 And {Impostazioni.IDOperativa}="OP1000000004" ,19-({Totali.Aca}+{Totali.Ata}+{Totali.Apa}+{Totali.Afa}) ,{Totali.Asu})

dove OP1000000004 è la tipologia di azienda adesso come tipologia devo considerare la percentuale e la somma delle frazioni di anni mesi e giorni per raggiungere gli anni interi.

Spero in un grosso aiuto

Grazie in anticipo
Mau67

freeteo Profilo | Guru

Ciao,
la cosa è parecchio complessa, non so se riesco ad aiutarti precisamente...l'unica cosa che posso suggerirti sono:
- guarda se i campi "sommatoria" (running total fields) possono aiutarti
- se riesci fai una formula per ogni record(o gruppo) e poi ragiona sui totali
- eventualmente vedi se riesci a combinare le 2 cose

Se vedi che non ne dai fuori sul report, valuta se fare qualcosa a codice, e passare i dati corretti al report prima di visualizzarlo,magari aggiungendo una tabella fittizia con tutti questi totali, o magari ricorrendo a parametri|formule riempite sempre tramite codice...
A volte infatti è più facile fare qualcosa a codice e poi combinarlo nel report senza diventare matto a cercare di fare tutto dentro al report stesso...

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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5