Patch level :4.0 730
Files correlati : Ricompilazione Demo : [ ] Commento :allineata la cacnv (semmai qualcuno la usera' ancora) in modo da comprendere l'anno d'esercizio nelle ripartizioni (queste non le usera' nessuno) git-svn-id: svn://10.65.10.50/trunk@15446 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
4881978605
commit
3bb185d781
48
ca/cacnv.cpp
48
ca/cacnv.cpp
@ -1,16 +1,6 @@
|
||||
#include <applicat.h>
|
||||
#include <assoc.h>
|
||||
#include <confapp.h>
|
||||
#include <execp.h>
|
||||
#include <progind.h>
|
||||
#include <relation.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <progind.h>
|
||||
|
||||
#include <doc.h>
|
||||
#include <mov.h>
|
||||
#include <rmov.h>
|
||||
#include <rmoviva.h>
|
||||
#include <pconti.h>
|
||||
|
||||
#include "../cg/cg2101.h"
|
||||
@ -477,23 +467,37 @@ void TConversione_cm2ca::create_new_movana(long numreg_cg, bool definitiva, TAss
|
||||
const long sottoconto = chiave.get_long();
|
||||
//controlla se il gr/co/stc del movimento deve essere ripartito;in caso affermativo procede..
|
||||
//..alla ripartizione delle righe del movimento
|
||||
//Per prima cosa crea l'array delle righe di ripartizione con questo gr/co/stc
|
||||
const TRecord_array& righe_ripartizione = _cache_rip.righe(gruppo, conto, sottoconto);
|
||||
//Per prima cosa crea l'array delle righe di ripartizione con questo gr/co/stc/annoes
|
||||
const int annoes = mov_head.get_int(MOV_ANNOES);
|
||||
const TAnal_ripartizioni_batch& rrip = _cache_rip.righe(gruppo, conto, sottoconto, annoes);
|
||||
|
||||
if (righe_ripartizione.rows() > 0) //ci sono righe ripartizione: da 1 riga mov CG a N righe mov CA
|
||||
const int righe_ripartizione = rrip.rows();
|
||||
bool ripartisci = righe_ripartizione > 0;
|
||||
if (ripartisci)
|
||||
{
|
||||
const int ripartizione_indbil = rrip.indbil();
|
||||
if (ripartizione_indbil > 0) //se l'indicatore di bilancio di destinazione e' definito...
|
||||
{
|
||||
TBill zio(gruppo, conto, sottoconto);
|
||||
//non puo' ripartire se gli indicatori di bilancio dei conti origine e destinazione sono diversi
|
||||
//esempio:non puo' ripartire costi in ricavi!!!
|
||||
ripartisci = (zio.indicatore_bilancio() == ripartizione_indbil);
|
||||
}
|
||||
}
|
||||
if (ripartisci) //ci sono righe ripartizione: da 1 riga mov CG a N righe mov CA
|
||||
{
|
||||
// Importo totale da distribuire arrotondato ai decimali della valuta di conto
|
||||
TGeneric_distrib distrib(importo.valore(), TCurrency::get_firm_dec());
|
||||
|
||||
// Calcola tutte le percentuali da ripartire
|
||||
int i;
|
||||
for (i = 1; i <= righe_ripartizione.rows(); i++)
|
||||
distrib.add(righe_ripartizione[i].get_real(RRIP_RIPARTO));
|
||||
for (i = 1; i <= rrip.rows(); i++)
|
||||
distrib.add(rrip[i].get_real(RRIP_RIPARTO));
|
||||
|
||||
//Compila le righe del movimento di analitica in base alle righe ripartizione
|
||||
for (i = 1; i <= righe_ripartizione.rows(); i++)
|
||||
for (i = 1; i <= rrip.rows(); i++)
|
||||
{
|
||||
const TRectype& rrip = righe_ripartizione.row(i);
|
||||
const TRectype& riga_rip = rrip.row(i);
|
||||
|
||||
TRectype& analriga = analmov.new_row();
|
||||
const real imp = distrib.get(); // Legge la quota da distribuire
|
||||
@ -505,10 +509,10 @@ void TConversione_cm2ca::create_new_movana(long numreg_cg, bool definitiva, TAss
|
||||
analriga.put(RMOVANA_DATACOMP, analmov.get(MOVANA_DATAREG));
|
||||
|
||||
//parametri da prendere dalle righe ripartizione!!
|
||||
analriga.put(RMOVANA_CODCCOSTO, rrip.get(RRIP_CODCOSTO));
|
||||
analriga.put(RMOVANA_CODCMS, rrip.get(RRIP_CODCMS));
|
||||
analriga.put(RMOVANA_CODFASE, rrip.get(RRIP_CODFASE));
|
||||
analriga.put(RMOVANA_CODCONTO, rrip.get(RRIP_CODCONTO));
|
||||
analriga.put(RMOVANA_CODCCOSTO, riga_rip.get(RRIP_CODCOSTO));
|
||||
analriga.put(RMOVANA_CODCMS, riga_rip.get(RRIP_CODCMS));
|
||||
analriga.put(RMOVANA_CODFASE, riga_rip.get(RRIP_CODFASE));
|
||||
analriga.put(RMOVANA_CODCONTO, riga_rip.get(RRIP_CODCONTO));
|
||||
|
||||
//controlla la coppia fase/(cdc-commessa) e decide se aggiungerla al file delle fasi
|
||||
check_phase(analriga);
|
||||
|
Loading…
x
Reference in New Issue
Block a user