Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/branches/R_10_00@21505 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2011-01-24 15:53:21 +00:00
parent d4fe079489
commit 8c741f3555

View File

@ -371,8 +371,12 @@ bool THardy_movimenti::scrivi_righe()
int nrigai = 1; // contatore righe iva
TConfig& ini = config();
TString8 iva_esente = ini.get("IVA_ESENTE", "Parametri");
TToken_string conto_omaggi = ini.get("CONTO_OMAGGI", "Parametri");
TToken_string sconto_omaggi = ini.get("CONTO_OMAGGI", "Parametri");
const TString conti_mov = ini.get("CONTI_MOV", "Parametri");
const int gruppo_omaggi = sconto_omaggi.get_int(0);
const int conto_omaggi = sconto_omaggi.get_int(1);
const long sottoconto_omaggi = sconto_omaggi.get_long(2);
// se è un movimento iva metto in atto il meccanismo di ricerca per assegnare le aliquote ai conti
if (_righeiva->items()>0)
{
@ -389,24 +393,31 @@ bool THardy_movimenti::scrivi_righe()
key.add(conto);
const int tipoconto = atoi(cache().get(LF_PCON, key, PCN_INDBIL));
bool found = (tipoconto == 3) || (tipoconto == 4) ||
(gruppo == conto_omaggi.get_int(0)) && (conto == conto_omaggi.get_int(1)) && (sottoconto == conto_omaggi.get_long(2));
if (!found)
{
TToken_string cod("", ',');
cod.add(gruppo);
cod.add(conto);
cod.add(sottoconto);
const bool riga_omaggio = (gruppo == gruppo_omaggi) && (conto == conto_omaggi) && (sottoconto == sottoconto_omaggi);
// Provo il sottoconto ma se non riesco provo con conto e poi anche gruppo (formato -> 3,1,2 o 3,1,0 o 3,0,0)
for (int c = 2; !found && c >= 0; c--)
{
found = (conti_mov.find(cod)) >= 0;
cod.add(0, c);
}
if (!found)
_righecont->destroy(i);
}
if (riga_omaggio)
_righecont->destroy(i);
else
{
bool found = (tipoconto == 3) || (tipoconto == 4);
if (!found)
{
TToken_string cod("", ',');
cod.add(gruppo);
cod.add(conto);
cod.add(sottoconto);
// Provo il sottoconto ma se non riesco provo con conto e poi anche gruppo (formato -> 3,1,2 o 3,1,0 o 3,0,0)
for (int c = 2; !found && c >= 0; c--)
{
found = (conti_mov.find(cod)) >= 0;
cod.add(0, c);
}
if (!found)
_righecont->destroy(i);
}
}
}
_righecont->pack();
// secondo passo: per ogni riga iva cerco importo uguale in righe contabili,
@ -502,9 +513,9 @@ bool THardy_movimenti::scrivi_righe()
_conf->set(RMI_IMPONIBILE, imponibile.string(0,2)); // imponibile negativo
_conf->set(RMI_IMPOSTA, ""); // imposta zero
_conf->set(RMI_TIPOC, "");
_conf->set(RMI_GRUPPO, conto_omaggi.get(0));
_conf->set(RMI_CONTO, conto_omaggi.get(1));
_conf->set(RMI_SOTTOCONTO, conto_omaggi.get(2));
_conf->set(RMI_GRUPPO, sconto_omaggi.get(0));
_conf->set(RMI_CONTO, sconto_omaggi.get(1));
_conf->set(RMI_SOTTOCONTO, sconto_omaggi.get(2));
}
}
}