Patch level :4.0 730
Files correlati : Ricompilazione Demo : [ ] Commento :resa funzionante la maschera di calcolo batch ripartizione (che non poteva aver MAI funzionato!!!) Prosegue l'operazione Barbarossa per il mitico Adolfo git-svn-id: svn://10.65.10.50/trunk@15443 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e36f6b6912
commit
58cba61de2
@ -236,8 +236,20 @@ bool TRib_movanal_app::explode_rows(const TRecord_array& input_rows, TRecord_arr
|
||||
{
|
||||
const TRectype& rec = input_rows.row(r);
|
||||
const TAnal_ripartizioni_batch& rrip = _cache_rip.righe(rec.get(RMOVANA_CODCCOSTO), rec.get(RMOVANA_CODCMS), annoes);
|
||||
|
||||
if (rrip.rows() > 0) //ci sono righe di ripartizione
|
||||
//ci sono righe di ripartizione
|
||||
bool ripartisci = rrip.rows() > 0;
|
||||
if (ripartisci)
|
||||
{
|
||||
const int ripartizione_indbil = rrip.indbil();
|
||||
if (ripartizione_indbil > 0) //se l'indicatore di bilancio di destinazione e' definito...
|
||||
{
|
||||
TAnal_bill zio(rec);
|
||||
//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)
|
||||
{
|
||||
// Importo totale da distribuire arrotondato ai decimali della valuta di conto
|
||||
TGeneric_distrib distrib(rec.get_real(RMOVANA_IMPORTO), TCurrency::get_firm_dec());
|
||||
@ -388,9 +400,9 @@ void TRib_movanal_app::main_loop()
|
||||
TRelation rel_movana(LF_MOVANA);
|
||||
TRectype darec(LF_MOVANA), arec(LF_MOVANA);
|
||||
const TDate & dal = mask.get_date(F_DATAINI);
|
||||
darec.put(MOVANA_DATAREG, dal);
|
||||
darec.put(MOVANA_DATACOMP, dal);
|
||||
const TDate & al = mask.get_date(F_DATAFIN);
|
||||
arec.put(MOVANA_DATAREG, al);
|
||||
arec.put(MOVANA_DATACOMP, al);
|
||||
_cache_rip.set_esercizio(mask.get_int(F_ANNO));
|
||||
|
||||
TCursor cur_movana(&rel_movana, "BLOCCATO!=\"X\"", 2, &darec, &arec);
|
||||
@ -405,10 +417,11 @@ void TRib_movanal_app::main_loop()
|
||||
// Riempie la lista della causali dei movimenti da pareggiare
|
||||
_caus_cms.destroy();
|
||||
TSheet_field& sf = mask.sfield(F_RIGHE);
|
||||
const int pos_codcaus = sf.cid2index(F_CODCAUS);
|
||||
FOR_EACH_SHEET_ROW(sf, i, row)
|
||||
{
|
||||
const TString4 codcaus = row->get(0);
|
||||
if (!codcaus.blank())
|
||||
const TString4 codcaus = row->get(pos_codcaus);
|
||||
if (codcaus.full())
|
||||
{
|
||||
TAnal_bill* bill = new TAnal_bill;
|
||||
if (mask.get_row_bill(sf, i, *bill) != 0)
|
||||
|
@ -5,6 +5,7 @@
|
||||
#define F_DEFINITIVO 203
|
||||
#define F_ANNO 204
|
||||
#define F_RIGHE 300
|
||||
|
||||
//Devono valere un numero piu' alto di S_CDC12 (che attualmente e' 112) senno' non nascono in fila nello..
|
||||
//..sheet
|
||||
#define F_CODCAUS 113
|
||||
#define F_DESCAUS 114
|
||||
|
@ -78,7 +78,7 @@ BEGIN
|
||||
ITEM "Cms 10"
|
||||
ITEM "Cms 11"
|
||||
ITEM "Cms 12"
|
||||
ITEM "Causale "
|
||||
ITEM "Causale"
|
||||
ITEM "Descrizione@50"
|
||||
END
|
||||
|
||||
|
@ -1456,6 +1456,10 @@ int TAnal_ripartizioni_batch::read (const char* codcosto, const char* commessa,
|
||||
int err = rip.read();
|
||||
if (err != NOERR && annoes != 0)
|
||||
{
|
||||
//va rifatta la put perche' potrebbe essersi spostato al record successivo
|
||||
rip.put(RIP_TIPO, "B"); //solo tipi batch!
|
||||
rip.put(RIP_CODCOSTO, codcosto);
|
||||
rip.put(RIP_CODCMS, commessa);
|
||||
rip.put(RIP_ANNOES, 0);
|
||||
err = rip.read();
|
||||
}
|
||||
@ -1477,6 +1481,11 @@ int TAnal_ripartizioni_batch::read (const int gr, const int co, const long sot,
|
||||
int err = rip.read();
|
||||
if (err != NOERR && annoes != 0)
|
||||
{
|
||||
//va rifatta la put perche' potrebbe essersi spostato al record successivo
|
||||
rip.put(RIP_TIPO, "B"); //solo tipi batch!
|
||||
rip.put(RIP_GRUPPO, gr);
|
||||
rip.put(RIP_CONTO, co);
|
||||
rip.put(RIP_SOTTOCONTO, sot);
|
||||
rip.put(RIP_ANNOES, 0);
|
||||
err = rip.read();
|
||||
}
|
||||
@ -1511,8 +1520,8 @@ TObject* TCache_ripartizioni::key2obj(const char* key)
|
||||
}
|
||||
else //chiave 4
|
||||
{
|
||||
const TString codcosto = parametro.get(1);
|
||||
const TString commessa = parametro.get(2);
|
||||
const TString80 codcosto = parametro.get(1);
|
||||
const TString80 commessa = parametro.get(2);
|
||||
const int anno = parametro.get_int(3);
|
||||
|
||||
rip->read(codcosto, commessa, anno);
|
||||
|
Loading…
x
Reference in New Issue
Block a user