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:
parent
312e8d958b
commit
b635bf8305
@ -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());
|
||||
|
Loading…
x
Reference in New Issue
Block a user