Patch level : 10.0 NO PATCH

Files correlati     : pd6342
Ricompilazione Demo : [ ]
Commento            :
Corretta la formattazione del centro di costo: adesso tiene conto della configurazione dell'analitica


git-svn-id: svn://10.65.10.50/branches/R_10_00@20948 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2010-10-05 10:00:35 +00:00
parent 312e8d958b
commit b635bf8305

View File

@ -212,10 +212,74 @@ void TImporta_da_BCS_app::genera_movana(const TFilename& file)
TString80 descrizione;
descrizione << cod << '-' << recset.get("DESPRES").as_string();
TString80 codcosto = recset.get("CODCOSTO").as_string();
//il codcosto va formattato in base alla configurazione dell'analitica
const TMultilevel_code_info& cdcinfo = ca_multilevel_code_info(LF_CDC);
const TMultilevel_code_info& cominfo = ca_multilevel_code_info(LF_COMMESSE);
const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
int par_level;
int from = 0;
int len = 0;
//centro di costo
switch(cdcinfo.parent())
{
case LF_COMMESSE: par_level = cominfo.levels(); break;
case LF_FASI : par_level = fasinfo.levels(); break;
default : par_level = 0; break;
}
const int livcdc = cdcinfo.levels() - par_level;
if(livcdc > 0)
{
for(int i = 0; i < livcdc; i++)
len += cdcinfo.len(i);
riga.put(RMOVANA_CODCCOSTO, codcosto.mid(from, len));
}
from += len;
len = 0;
//commesse
switch(cominfo.parent())
{
case LF_CDC : par_level = cdcinfo.levels(); break;
case LF_FASI : par_level = fasinfo.levels(); break;
default : par_level = 0; break;
}
const int livcom = cominfo.levels() - par_level;
if(livcom > 0)
{
for(int i = 0; i < livcom; i++)
len += cominfo.len(i);
riga.put(RMOVANA_CODCMS, codcosto.mid(from, len));
}
from += len;
len = 0;
//fasi
switch(fasinfo.parent())
{
case LF_CDC : par_level = cdcinfo.levels(); break;
case LF_COMMESSE : par_level = cominfo.levels(); break;
default : par_level = 0; break;
}
const int livfas = fasinfo.levels() - par_level;
if(livfas > 0)
{
for(int i = 0; i < livfas; i++)
len += fasinfo.len(i);
riga.put(RMOVANA_CODFASE, codcosto.mid(from, len));
}
from += len;
len = 0;
riga.put(RMOVANA_ANNOES, anno);
riga.put(RMOVANA_SEZIONE, importo.sezione());
riga.put(RMOVANA_DATACOMP, data);
riga.put(RMOVANA_CODCCOSTO, recset.get("CODCOSTO").as_string());
riga.put(RMOVANA_CODCONTO, recset.get("PCONTI").as_string());
riga.put(RMOVANA_DESCR, descrizione);
riga.put(RMOVANA_IMPORTO, importo.valore());