Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@21476 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
11c1841b9d
commit
a615fdb3e9
@ -573,6 +573,7 @@ FOR_GRUPPO = 5
|
|||||||
FOR_CONTO = 601
|
FOR_CONTO = 601
|
||||||
GRUPPI_MOV = 3|6|7|8
|
GRUPPI_MOV = 3|6|7|8
|
||||||
IVA_ESENTE = 999
|
IVA_ESENTE = 999
|
||||||
|
CONTO_OMAGGI=8|15|22
|
||||||
|
|
||||||
// parametri generali della maschera (dns user password)
|
// parametri generali della maschera (dns user password)
|
||||||
[Main]
|
[Main]
|
||||||
|
@ -350,7 +350,8 @@ bool THardy_movimenti::scrivi_righe()
|
|||||||
TString paragraph;
|
TString paragraph;
|
||||||
int nrigai = 1; // contatore righe iva
|
int nrigai = 1; // contatore righe iva
|
||||||
TConfig& ini = config();
|
TConfig& ini = config();
|
||||||
TString8 ivaesente = ini.get("IVA_ESENTE", "Parametri");
|
TString8 iva_esente = ini.get("IVA_ESENTE", "Parametri");
|
||||||
|
TToken_string conto_omaggi = ini.get("CONTO_OMAGGI", "Parametri");
|
||||||
TToken_string gruppi_mov = ini.get("GRUPPI_MOV", "Parametri");
|
TToken_string gruppi_mov = ini.get("GRUPPI_MOV", "Parametri");
|
||||||
// se è un movimento iva metto in atto il meccanismo di ricerca per assegnare le aliquote ai conti
|
// se è un movimento iva metto in atto il meccanismo di ricerca per assegnare le aliquote ai conti
|
||||||
if (_righeiva->items()>0)
|
if (_righeiva->items()>0)
|
||||||
@ -369,13 +370,15 @@ bool THardy_movimenti::scrivi_righe()
|
|||||||
for (int i=0;i<_righeiva->items();i++)
|
for (int i=0;i<_righeiva->items();i++)
|
||||||
{
|
{
|
||||||
TRectype& rec_rmoviva = *(TRectype*)_righeiva->objptr(i);
|
TRectype& rec_rmoviva = *(TRectype*)_righeiva->objptr(i);
|
||||||
|
const char* codiva = rec_rmoviva.get(RMI_CODIVA);
|
||||||
|
const bool riga_omaggio = _ivaoma->is_key(codiva);
|
||||||
real imponibile = get_imponibile(rec_rmoviva);
|
real imponibile = get_imponibile(rec_rmoviva);
|
||||||
|
|
||||||
for (int j=0;j<_righecont->items();j++)
|
for (int j=0;j<_righecont->items();j++)
|
||||||
{
|
{
|
||||||
TRectype& rec_rmov = *(TRectype*)_righecont->objptr(j);
|
TRectype& rec_rmov = *(TRectype*)_righecont->objptr(j);
|
||||||
real importo = rec_rmov.get_real(RMV_IMPORTO);
|
real importo = rec_rmov.get_real(RMV_IMPORTO);
|
||||||
if (importo == imponibile)
|
if ((!riga_omaggio) && (importo == imponibile))
|
||||||
{
|
{
|
||||||
rec_rmoviva.put(RMI_TIPOC, rec_rmov.get(RMV_TIPOC));
|
rec_rmoviva.put(RMI_TIPOC, rec_rmov.get(RMV_TIPOC));
|
||||||
rec_rmoviva.put(RMI_GRUPPO, rec_rmov.get(RMV_GRUPPO));
|
rec_rmoviva.put(RMI_GRUPPO, rec_rmov.get(RMV_GRUPPO));
|
||||||
@ -384,19 +387,6 @@ bool THardy_movimenti::scrivi_righe()
|
|||||||
paragraph.format("%d,%d",LF_RMOVIVA, nrigai++);
|
paragraph.format("%d,%d",LF_RMOVIVA, nrigai++);
|
||||||
_conf->set_paragraph(paragraph); // riga iva
|
_conf->set_paragraph(paragraph); // riga iva
|
||||||
rec2ini(rec_rmoviva);
|
rec2ini(rec_rmoviva);
|
||||||
const char* codiva = rec_rmoviva.get(RMI_CODIVA);
|
|
||||||
// se iva utilizzata per gli omaggi, devo fare un'altra riga iva identica ma con importo avere con iva esente
|
|
||||||
if (_ivaoma->is_key(codiva))
|
|
||||||
{
|
|
||||||
paragraph.format("%d,%d",LF_RMOVIVA, nrigai++);
|
|
||||||
_conf->set_paragraph(paragraph); // riga iva
|
|
||||||
rec2ini(rec_rmoviva);
|
|
||||||
// sostituisco codice iva e importo (-)
|
|
||||||
importo = -importo;
|
|
||||||
_conf->set(RMI_CODIVA, ivaesente); // codice iva esente per quadrare il movimento
|
|
||||||
_conf->set(RMI_IMPONIBILE, importo.string(0,2)); // imponibile negativo
|
|
||||||
_conf->set(RMI_IMPOSTA, ""); // imposta zero
|
|
||||||
}
|
|
||||||
_righecont->destroy(j, true);
|
_righecont->destroy(j, true);
|
||||||
j = _righecont->items();
|
j = _righecont->items();
|
||||||
// _righeiva->destroy(i);
|
// _righeiva->destroy(i);
|
||||||
@ -411,6 +401,8 @@ bool THardy_movimenti::scrivi_righe()
|
|||||||
TRectype& rec_rmoviva = *(TRectype*)_righeiva->objptr(i);
|
TRectype& rec_rmoviva = *(TRectype*)_righeiva->objptr(i);
|
||||||
if (!rec_rmoviva.empty())
|
if (!rec_rmoviva.empty())
|
||||||
{
|
{
|
||||||
|
const char* codiva = rec_rmoviva.get(RMI_CODIVA);
|
||||||
|
const bool riga_omaggio = _ivaoma->is_key(codiva);
|
||||||
real imponibile = rec_rmoviva.get_real(RMI_IMPONIBILE);
|
real imponibile = rec_rmoviva.get_real(RMI_IMPONIBILE);
|
||||||
real imposta = rec_rmoviva.get_real(RMI_IMPOSTA);
|
real imposta = rec_rmoviva.get_real(RMI_IMPOSTA);
|
||||||
TGeneric_distrib dimponibile(imponibile, ndec);
|
TGeneric_distrib dimponibile(imponibile, ndec);
|
||||||
@ -437,6 +429,22 @@ bool THardy_movimenti::scrivi_righe()
|
|||||||
_conf->set_paragraph(paragraph); // riga iva
|
_conf->set_paragraph(paragraph); // riga iva
|
||||||
rec2ini(rec_rmoviva);
|
rec2ini(rec_rmoviva);
|
||||||
}
|
}
|
||||||
|
// se iva utilizzata per gli omaggi, devo fare un'altra riga iva identica ma con importo avere con iva esente e gr/co/so letto da configurazione CONTO_OMAGGI
|
||||||
|
if (riga_omaggio)
|
||||||
|
{
|
||||||
|
paragraph.format("%d,%d",LF_RMOVIVA, nrigai++);
|
||||||
|
_conf->set_paragraph(paragraph); // riga iva
|
||||||
|
rec2ini(rec_rmoviva);
|
||||||
|
// sostituisco codice iva e importo (-) e gruppo conto sottoconto
|
||||||
|
imponibile = -imponibile;
|
||||||
|
_conf->set(RMI_CODIVA, iva_esente); // codice iva esente per quadrare il movimento
|
||||||
|
_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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_righecont->destroy();
|
_righecont->destroy();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user