Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento :continua la contabilizzazione cespiti git-svn-id: svn://10.65.10.50/trunk@15964 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a3e5930e37
commit
c24a56d4f9
@ -361,7 +361,7 @@ long TTrasf_mov_ce_cg::get_new_numreg() const
|
|||||||
void TTrasf_mov_ce_cg::genera_mov_per_cat(TArray& righe_mov, const TDate& datareg, const TDate& datacomp,
|
void TTrasf_mov_ce_cg::genera_mov_per_cat(TArray& righe_mov, const TDate& datareg, const TDate& datacomp,
|
||||||
const TString& codcaus, const bool definitivo)
|
const TString& codcaus, const bool definitivo)
|
||||||
{
|
{
|
||||||
//riempie i campi della testata movimento
|
//Riempie i campi della testata movimento
|
||||||
long numreg = get_new_numreg();
|
long numreg = get_new_numreg();
|
||||||
|
|
||||||
TMovimentoPN_CE pn;
|
TMovimentoPN_CE pn;
|
||||||
@ -378,48 +378,59 @@ void TTrasf_mov_ce_cg::genera_mov_per_cat(TArray& righe_mov, const TDate& datare
|
|||||||
head.put(MOV_PROVVIS, 'C');
|
head.put(MOV_PROVVIS, 'C');
|
||||||
head.put(MOV_DESCR, TR("Rilevazione quote ammortamento cespiti"));
|
head.put(MOV_DESCR, TR("Rilevazione quote ammortamento cespiti"));
|
||||||
|
|
||||||
int first_row = 0;
|
//Procedura di inserimento delle righe del movimento
|
||||||
|
TImporto fondo;
|
||||||
|
//aggiunge all'array con tutte le righe mov determinate con il calcolo una riga senza gr/sp/cat
|
||||||
righe_mov.add(new TRigamov(0, EMPTY_STRING, 0));
|
righe_mov.add(new TRigamov(0, EMPTY_STRING, 0));
|
||||||
|
//Ciclo su tutte le righe dell'array delle righe mov. Ad ogni cambio di categoria dovra' inserire la riga..
|
||||||
|
//..fondo per bilanciare la categoria, quindi scrivere sul movimento le righe ammortamento (da 1 a 3, ovvero..
|
||||||
|
//..qnor,qant,qacc) e la riga fondo di quella categoria, quindi passare alla categoria successiva.
|
||||||
for (int i = 0; i < righe_mov.items(); i++)
|
for (int i = 0; i < righe_mov.items(); i++)
|
||||||
{
|
{
|
||||||
|
//record di righe_mov
|
||||||
const TRigamov& rigamov = (const TRigamov&)righe_mov[i];
|
const TRigamov& rigamov = (const TRigamov&)righe_mov[i];
|
||||||
|
|
||||||
// Se cambio categoria
|
//Controllo dell'eventuale cambio di categoria. Lo fa confrontando la riga iesima appena caricata con..
|
||||||
|
//..la riga i-1esima (la precedente,insomma)
|
||||||
|
//Se la categoria e' cambiata...
|
||||||
if (i > 0 && rigamov.compare((const TRigamov&)righe_mov[i-1]) != 0)
|
if (i > 0 && rigamov.compare((const TRigamov&)righe_mov[i-1]) != 0)
|
||||||
{
|
{
|
||||||
|
//crea una nuova riga per metterci il fondo;in questo momento la riga e' aggiunta ma va riempita!!
|
||||||
TRectype& riga_fondo = pn.nuova_riga();
|
TRectype& riga_fondo = pn.nuova_riga();
|
||||||
TImporto fondo;
|
|
||||||
for (int j = first_row; j < i; j++)
|
//Inverte la sezione del fondo calcolato per il bilancamento
|
||||||
{
|
fondo.swap_section(); //inverte la sezione
|
||||||
TImporto imp_riga(pn.cg(j).get_char(RMV_SEZIONE), pn.cg(j).get_real(RMV_IMPORTO));
|
fondo.normalize(); //normalizza il segno
|
||||||
fondo += imp_riga;
|
riga_fondo.put(RMV_SEZIONE, fondo.sezione()); //inserisce nella riga fondo le sezione..
|
||||||
}
|
riga_fondo.put(RMV_IMPORTO, fondo.valore()); //..ed il valore
|
||||||
fondo.swap_section();
|
|
||||||
fondo.normalize();
|
|
||||||
riga_fondo.put(RMV_SEZIONE, fondo.sezione());
|
|
||||||
riga_fondo.put(RMV_IMPORTO, fondo.valore());
|
|
||||||
|
|
||||||
//ci vogliono gr/co/sot che stanno nella categoria in CCC
|
//Deve mettere nella riga fondo gr/co/sot che stanno nella categoria in CCC
|
||||||
//Serve la categoria precedente, perche' in questo momento l'ha cambiata! Quindi [i-1]
|
//Serve la categoria precedente, perche' in questo momento l'ha cambiata! Quindi [i-1]
|
||||||
const TRigamov& prev_riga_mov = (const TRigamov&)righe_mov[i-1];
|
const TRigamov& prev_riga_mov = (const TRigamov&)righe_mov[i-1];
|
||||||
const TString& stringone = prev_riga_mov.categoria().get("S1");
|
const TString& stringone = prev_riga_mov.categoria().get("S1");
|
||||||
riga_fondo.put(RMV_GRUPPO, stringone.mid(13,3));
|
riga_fondo.put(RMV_GRUPPO, stringone.mid(12,3));
|
||||||
riga_fondo.put(RMV_CONTO, stringone.mid(16,3));
|
riga_fondo.put(RMV_CONTO, stringone.mid(15,3));
|
||||||
riga_fondo.put(RMV_SOTTOCONTO, stringone.mid(19,6));
|
riga_fondo.put(RMV_SOTTOCONTO, stringone.mid(18,6));
|
||||||
|
|
||||||
//se il movimento supera le 95 righe va salvato sul file MOV, poi distrutto per poter costruirne uno nuovo..
|
//se il movimento supera le 95 righe va salvato sul file MOV, poi distrutto per poter costruirne uno nuovo..
|
||||||
//..con le righe di righe_mov che sono rimaste
|
//..con le righe di righe_mov che sono rimaste
|
||||||
if (pn.cg_items() > 95 || i == righe_mov.last())
|
if (pn.cg_items() > 95 || i == righe_mov.last())
|
||||||
{
|
{
|
||||||
pn.write();
|
pn.write(); //scrive il movimento sul file
|
||||||
pn.destroy_rows(++numreg);
|
pn.destroy_rows(++numreg); //ne elimina le righe per poter ricominciare
|
||||||
}
|
}
|
||||||
|
|
||||||
first_row = pn.cg_items();
|
//azzera il valore del fondo in modo da ricominciare a calcolarlo con la nuova categoria
|
||||||
}
|
fondo.set(' ',0.0);
|
||||||
|
} //if i>0&&rigamov.compare...
|
||||||
|
|
||||||
|
//Se la categoria non e' cambiata crea normalmente la nuova riga
|
||||||
|
//Aggiorna l'importo del fondo che e' pari alla somma di tutte le righe della stessa categoria
|
||||||
|
TImporto imp_riga(rigamov.get_char(RMV_SEZIONE), rigamov.get_real(RMV_IMPORTO));
|
||||||
|
fondo += imp_riga;
|
||||||
pn.nuova_riga(rigamov);
|
pn.nuova_riga(rigamov);
|
||||||
}
|
} //for(inti=0;...
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//metodo per la generazione di movimenti con righe per cespite raggruppate e pareggiate per categoria (chiamata se movdett>0)
|
//metodo per la generazione di movimenti con righe per cespite raggruppate e pareggiate per categoria (chiamata se movdett>0)
|
||||||
|
@ -63,7 +63,7 @@ Item_02 = "Localizzazioni", "ce0 -0 loc", ""
|
|||||||
Item_03 = "Impianti", "ce0 -0 cim" , ""
|
Item_03 = "Impianti", "ce0 -0 cim" , ""
|
||||||
Item_04 = "Esercizi", "ce0 -0 cce", "F"
|
Item_04 = "Esercizi", "ce0 -0 cce", "F"
|
||||||
Item_05 = "Esercizi contabili", "cg0 -5 esc", "F"
|
Item_05 = "Esercizi contabili", "cg0 -5 esc", "F"
|
||||||
Item_06 = "Collegamento contabilita'", "ce0 -0 ccc", "F"
|
Item_06 = "Categorie Collegamento Contabilita'", "ce0 -0 ccc", "F"
|
||||||
|
|
||||||
[CEMENU_007]
|
[CEMENU_007]
|
||||||
Caption = "Stampa tabelle ditta"
|
Caption = "Stampa tabelle ditta"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user