Corretti diversi cazzaroli
git-svn-id: svn://10.65.10.50/trunk@855 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a1a7b2c36a
commit
59acd28d41
@ -282,7 +282,6 @@ public:
|
|||||||
virtual bool user_destroy();
|
virtual bool user_destroy();
|
||||||
virtual bool set_print(int i);
|
virtual bool set_print(int i);
|
||||||
|
|
||||||
|
|
||||||
// cazzatelle per handlers
|
// cazzatelle per handlers
|
||||||
TArray_sheet* get_ditte_sheet() { return _ditte; }
|
TArray_sheet* get_ditte_sheet() { return _ditte; }
|
||||||
TBit_array& get_selected() { return _selected; }
|
TBit_array& get_selected() { return _selected; }
|
||||||
@ -386,6 +385,7 @@ public:
|
|||||||
|
|
||||||
// tutti i controlli del mondo sui mesi da calcolare
|
// tutti i controlli del mondo sui mesi da calcolare
|
||||||
static bool is_trim (int x);
|
static bool is_trim (int x);
|
||||||
|
static bool is_in_trim (int x, int t);
|
||||||
bool is_month_ok (int x, int month = -1);
|
bool is_month_ok (int x, int month = -1);
|
||||||
bool is_date_ok (TDate& d, int month);
|
bool is_date_ok (TDate& d, int month);
|
||||||
bool is_first_month (int m);
|
bool is_first_month (int m);
|
||||||
|
138
cg/cg4301.cpp
138
cg/cg4301.cpp
@ -11,6 +11,9 @@
|
|||||||
|
|
||||||
// -------------------- QUI comincia l'avventura --------------------------
|
// -------------------- QUI comincia l'avventura --------------------------
|
||||||
|
|
||||||
|
// che nel gennaio 1995 non solo non e' finita, ma si fa
|
||||||
|
// ogni giorno piu' odiosa e nevrastenica
|
||||||
|
|
||||||
bool TLiquidazione_app::recalc_all()
|
bool TLiquidazione_app::recalc_all()
|
||||||
{
|
{
|
||||||
_prind = new TProgind(_selected.ones()*2, _printonly ?
|
_prind = new TProgind(_selected.ones()*2, _printonly ?
|
||||||
@ -169,12 +172,10 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
|||||||
_isviaggio = _nditte->curr(LF_ATTIV).get_bool("REG74TER");
|
_isviaggio = _nditte->curr(LF_ATTIV).get_bool("REG74TER");
|
||||||
_isagricolo = _nditte->curr(LF_ATTIV).get_bool("REGAGR");
|
_isagricolo = _nditte->curr(LF_ATTIV).get_bool("REGAGR");
|
||||||
_isbenzinaro = _nditte->curr(LF_ATTIV).get_bool("ART74/4");
|
_isbenzinaro = _nditte->curr(LF_ATTIV).get_bool("ART74/4");
|
||||||
// _freqviva = look_lia() ? _lia->get("S7") : _nditte->curr().get("FREQVIVA");
|
|
||||||
bool mens = _freqviva == "M";
|
bool mens = _freqviva == "M";
|
||||||
_isannual = (_month == 12 && !mens && !_isbenzinaro) ||
|
_isannual = (_month == 12 && !mens && !_isbenzinaro) ||
|
||||||
(_month == 13 && (mens || _isbenzinaro));
|
(_month == 13 && (mens || _isbenzinaro));
|
||||||
_isriepilogo = _month == 13;
|
_isriepilogo = _month == 13;
|
||||||
|
|
||||||
_isvent = FALSE;
|
_isvent = FALSE;
|
||||||
|
|
||||||
for (_reg->first(); !_isvent && _reg->good(); _reg->next())
|
for (_reg->first(); !_isvent && _reg->good(); _reg->next())
|
||||||
@ -212,7 +213,7 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
|||||||
while (_nditte->next_match(LF_ATTIV));
|
while (_nditte->next_match(LF_ATTIV));
|
||||||
|
|
||||||
// se quater stampa riepilogo
|
// se quater stampa riepilogo
|
||||||
if (/* atts.items() > 1*/ quater && month == _month)
|
if (quater && month == _month)
|
||||||
describe_att(month,atts);
|
describe_att(month,atts);
|
||||||
|
|
||||||
// occorre poterla chiamare altre volte con mesi diversi
|
// occorre poterla chiamare altre volte con mesi diversi
|
||||||
@ -403,6 +404,15 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
bool intra = _rmoviva->get_bool("INTRA");
|
bool intra = _rmoviva->get_bool("INTRA");
|
||||||
int tipoatt = _rmoviva->get_int("TIPOATT");
|
int tipoatt = _rmoviva->get_int("TIPOATT");
|
||||||
int rigaimp = _rmoviva->get_int("RIGAIMP");
|
int rigaimp = _rmoviva->get_int("RIGAIMP");
|
||||||
|
// autofatture art. 17 per non residenti, con trattamento
|
||||||
|
// speciale in liquidazione annuale
|
||||||
|
bool autodafe = (tipodoc == "AF" && tipocr == 4);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* puo' capitare per flags prassiani
|
||||||
|
* SENSU Sergio 1995, Guido
|
||||||
|
*/
|
||||||
|
if (tipoatt == 0) tipoatt = 1;
|
||||||
|
|
||||||
if(tipoatt != tipatt) continue;
|
if(tipoatt != tipatt) continue;
|
||||||
|
|
||||||
@ -421,10 +431,13 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
totintra += imposta;
|
totintra += imposta;
|
||||||
|
|
||||||
// Altre cose di cui tener conto
|
// Altre cose di cui tener conto
|
||||||
if (tipomov == acquisto && (tipocr == 1 || tipocr == 5)
|
if (tipomov == acquisto && (tipocr == 1 || tipocr == 5))
|
||||||
&& _isricacq)
|
/*
|
||||||
// Acquisto beni per rivendita (solo se l'apposito parametro ditta
|
* Acquisto beni per rivendita sono comunque sommati, ma
|
||||||
// e' settato)
|
* vengono considerati in ventilazione solo se l'apposito
|
||||||
|
* parametro ditta e' settato, piu' altre condizioni (vedi
|
||||||
|
* recalc_ventilation())
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
acq_riv += imponibile;
|
acq_riv += imponibile;
|
||||||
acq_riv_iva += imposta;
|
acq_riv_iva += imposta;
|
||||||
@ -444,7 +457,9 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
ult_detr += imponibile * real(DETRAZIONE_6PERCENTO);
|
ult_detr += imponibile * real(DETRAZIONE_6PERCENTO);
|
||||||
}
|
}
|
||||||
else if (tipomov == vendita && tipocr == 4)
|
else if (tipomov == vendita && tipocr == 4)
|
||||||
// Vendite strum. art 17 (cess. amm.???)
|
// Vendite strum. art 17 (cess. amm.)
|
||||||
|
// anche autofatture e anche nell'annuale
|
||||||
|
// (Sergio 1995)
|
||||||
{
|
{
|
||||||
cess_amm += imponibile;
|
cess_amm += imponibile;
|
||||||
cess_amm_iva += imposta;
|
cess_amm_iva += imposta;
|
||||||
@ -461,11 +476,24 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
spgen += imponibile;
|
spgen += imponibile;
|
||||||
spgen_iva += imposta;
|
spgen_iva += imposta;
|
||||||
}
|
}
|
||||||
|
|
||||||
// operazioni per calcolo rimborso infracazzuale
|
// operazioni per calcolo rimborso infracazzuale
|
||||||
if ((tipoiva == "ES" || tipoiva == "NI") && ivarimb)
|
if (tipomov == acquisto &&
|
||||||
{
|
(tipoiva == "ES" || tipoiva == "NI") &&
|
||||||
for_rimb += imponibile;
|
ivarimb)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* solo determinati tipi costo (Scudler 1995)
|
||||||
|
*/
|
||||||
|
if (tipocr == 0 || tipocr == 1 || tipocr == 5)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* se agricolo, vale solo se tipoagr == 2
|
||||||
|
* cfr. disegnini Scudler 1995
|
||||||
|
*/
|
||||||
|
if (!_isagricolo || (_isagricolo && tipoagr == 2))
|
||||||
|
for_rimb += imponibile;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// operazioni esenti
|
// operazioni esenti
|
||||||
@ -491,11 +519,12 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// plafond
|
// plafond
|
||||||
if (_isplafond && tipomov == acquisto &&
|
if (_isplafond && tipomov == acquisto && !_isannual &&
|
||||||
tipoiva == "NI" && tipopla != 0)
|
tipoiva == "NI" && tipopla != 0)
|
||||||
{
|
{
|
||||||
add_plafond(month, codatt, tipopla, imponibile, tipodoc == "BD");
|
add_plafond(month, codatt, tipopla, imponibile, tipodoc == "BD");
|
||||||
}
|
}
|
||||||
|
|
||||||
// agenzie viaggio (CHECK imponibili etc.)
|
// agenzie viaggio (CHECK imponibili etc.)
|
||||||
if (_isviaggio)
|
if (_isviaggio)
|
||||||
switch (tipoag)
|
switch (tipoag)
|
||||||
@ -556,22 +585,34 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
|
|
||||||
look_pim(month, codatt, reg, tipocr_s, codiva, tipodet, TRUE);
|
look_pim(month, codatt, reg, tipocr_s, codiva, tipodet, TRUE);
|
||||||
|
|
||||||
// se liq == FALSE gli importi non contano ai fini
|
/*
|
||||||
// del calcolo liquidazione
|
* se liq == FALSE gli importi non contano ai fini
|
||||||
|
* del calcolo liquidazione
|
||||||
|
*/
|
||||||
bool liq = !(tipodet == 1 || tipodet == 3 || tipodet == 9);
|
bool liq = !(tipodet == 1 || tipodet == 3 || tipodet == 9);
|
||||||
|
|
||||||
real imp = _pim_r->get_real("R0"); // imponibile
|
real imp = _pim_r->get_real("R0"); // imponibile
|
||||||
real ivp = _pim_r->get_real("R1"); // IVA su imp.
|
real ivp = _pim_r->get_real("R1"); // IVA su imp.
|
||||||
real lor = _pim_r->get_real("R2"); // lordo
|
real lor = _pim_r->get_real("R2"); // lordo
|
||||||
// le maledette fatture con scontrino sono sul registro dei
|
/*
|
||||||
// corrispettivi, ma vanno riportate nelle vendite in stampa;
|
* le maledette fatture con scontrino sono sul registro dei
|
||||||
// dunque, le sommiamo in R5 e R6 di PIM anche se continuiamo
|
* corrispettivi, ma vanno riportate nelle vendite in stampa;
|
||||||
// a riportare il totale in R0 e R1. La stampa (describe_pim)
|
* dunque, le sommiamo in R5 e R6 di PIM anche se continuiamo
|
||||||
// dovra' scorporare
|
* a riportare il totale in R0 e R1. La stampa (describe_pim)
|
||||||
|
* dovra' scorporare
|
||||||
|
*/
|
||||||
real ifs = _pim_r->get_real("R5"); // imponibile fatture con scontrino
|
real ifs = _pim_r->get_real("R5"); // imponibile fatture con scontrino
|
||||||
real vfs = _pim_r->get_real("R6"); // IVA fatt. con scontrino
|
real vfs = _pim_r->get_real("R6"); // IVA fatt. con scontrino
|
||||||
|
/*
|
||||||
|
* le maledette autofatture non residenti art. 17
|
||||||
|
* vedi al calcolo if (autodafe)
|
||||||
|
*/
|
||||||
|
real adf = _pim_r->get_real("R7");
|
||||||
|
real adi = _pim_r->get_real("R8");
|
||||||
|
|
||||||
if (liq && tipomov == vendita && !corrisp) // i corrispettivi sono gestiti a parte
|
|
||||||
|
if (liq && tipomov == vendita && !corrisp)
|
||||||
|
// i corrispettivi sono gestiti a parte
|
||||||
{
|
{
|
||||||
// totale vendite
|
// totale vendite
|
||||||
vendite += imponibile;
|
vendite += imponibile;
|
||||||
@ -652,12 +693,29 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
ivp += imposta;
|
ivp += imposta;
|
||||||
_pim_r->put("I0",NETTO);
|
_pim_r->put("I0",NETTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (autodafe)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Si devono riportare a parte in annuale
|
||||||
|
* e non comparire nel riepilogo del codice IVA
|
||||||
|
* corrispondente, solo se la liq. e' annuale
|
||||||
|
* Li metto in S0 di pim (imp|iva) e li sommo anche nelle
|
||||||
|
* vendite; la describe_pim() dovra' sommarli su tutti i
|
||||||
|
* pim, scorporarli dalle vendite corrispondenti
|
||||||
|
* e assegnarli al codice IVA A35 in caso di liq. annuale
|
||||||
|
*/
|
||||||
|
adf += imponibile;
|
||||||
|
adi += imposta;
|
||||||
|
}
|
||||||
|
|
||||||
_pim_r->put("R0",imp);
|
_pim_r->put("R0",imp);
|
||||||
_pim_r->put("R1",ivp);
|
_pim_r->put("R1",ivp);
|
||||||
_pim_r->put("R2",lor);
|
_pim_r->put("R2",lor);
|
||||||
_pim_r->put("R5",ifs);
|
_pim_r->put("R5",ifs);
|
||||||
_pim_r->put("R6",vfs);
|
_pim_r->put("R6",vfs);
|
||||||
|
_pim_r->put("R7",adf);
|
||||||
|
_pim_r->put("R8",adi);
|
||||||
_pim->rewrite();
|
_pim->rewrite();
|
||||||
}
|
}
|
||||||
while (_cur->next_match(LF_RMOVIVA));
|
while (_cur->next_match(LF_RMOVIVA));
|
||||||
@ -673,13 +731,15 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
prorata = acquisti_iva * (_prorata / CENTO);
|
prorata = acquisti_iva * (_prorata / CENTO);
|
||||||
prorata.round(ROUND_LIRA);
|
prorata.round(ROUND_LIRA);
|
||||||
}
|
}
|
||||||
look_plm(month, codatt, TRUE);
|
look_plm(month, codatt, TRUE);
|
||||||
|
|
||||||
// ACHTUNG: l'iva sulle vendite e' calcolata sommando anche i
|
/*
|
||||||
// corrispettivi; non tiene conto quindi delle imposte calcolate
|
* ACHTUNG: l'iva sulle vendite e' calcolata sommando anche i
|
||||||
// con la ventilazione (che vanno sottratte) ne' di quelle
|
* corrispettivi; non tiene conto quindi delle imposte calcolate
|
||||||
// calcolate per le agenzie di viaggio (che sembra non vadano
|
* con la ventilazione (che vanno sottratte) ne' di quelle
|
||||||
// sottratte per il calcolo del volume di affari)
|
* calcolate per le agenzie di viaggio (che sembra non vadano
|
||||||
|
* sottratte per il calcolo del volume di affari)
|
||||||
|
*/
|
||||||
|
|
||||||
_plm->put("R2", prorata);
|
_plm->put("R2", prorata);
|
||||||
|
|
||||||
@ -691,16 +751,18 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
_plm->put("R8", acq_noCEE);
|
_plm->put("R8", acq_noCEE);
|
||||||
_plm->put("R9", corr_misCEE);
|
_plm->put("R9", corr_misCEE);
|
||||||
_plm->put("R10",acq_misCEE);
|
_plm->put("R10",acq_misCEE);
|
||||||
_plm->put("R11",acq_misnoCEE);
|
_plm->put("R11",acq_misnoCEE);
|
||||||
// calcola base da base e credito di costo
|
|
||||||
// indi abilmente trova il codiva e calcola l'iva del caso
|
/*
|
||||||
|
* calcola base da base e credito di costo
|
||||||
|
* indi abilmente trova il codiva e calcola l'iva del caso
|
||||||
|
*/
|
||||||
real rip = acq_misCEE / (acq_misCEE + acq_misnoCEE);
|
real rip = acq_misCEE / (acq_misCEE + acq_misnoCEE);
|
||||||
real corr_imp = corr_misCEE * rip; corr_imp.round(ROUND_LIRA);
|
real corr_imp = corr_misCEE * rip; corr_imp.round(ROUND_LIRA);
|
||||||
corr_imp += corr_CEE;
|
corr_imp += corr_CEE;
|
||||||
real cost_detr = acq_misCEE * acq_CEE;
|
real cost_detr = acq_misCEE * acq_CEE;
|
||||||
real base_imp = corr_imp - (cost_detr
|
real base_imp = corr_imp - (cost_detr
|
||||||
+ credito_costo_prec(month, codatt));
|
+ credito_costo_prec(month, codatt));
|
||||||
|
|
||||||
real debito = 0.0;
|
real debito = 0.0;
|
||||||
|
|
||||||
if (base_imp.sign() < 0)
|
if (base_imp.sign() < 0)
|
||||||
@ -735,7 +797,9 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
acquisti_iva -= (agr_acq + leasing_iva + ammort_iva + ammort_6_iva);
|
acquisti_iva -= (agr_acq + leasing_iva + ammort_iva + ammort_6_iva);
|
||||||
vendite_iva -= (agr_ven + agr_conf + agr_acc);
|
vendite_iva -= (agr_ven + agr_conf + agr_acc);
|
||||||
}
|
}
|
||||||
// COSA MI TOCCA FARE
|
|
||||||
|
// COSA MI TOCCA FARE (per campare, of course)
|
||||||
|
// due numeri nello stesso campo
|
||||||
TToken_string s(40);
|
TToken_string s(40);
|
||||||
|
|
||||||
_plm->put("R0", vendite_iva);
|
_plm->put("R0", vendite_iva);
|
||||||
@ -831,7 +895,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// toglie credito precedente decrementato di ev. rimborsi chiesti
|
// toglie credito precedente decrementato di ev. rimborsi chiesti
|
||||||
// e acconto versato e rettifiche a debito
|
// e acconto versato e rettificato come da manuale
|
||||||
risultato -= credito_prec(month);
|
risultato -= credito_prec(month);
|
||||||
ris_cred += credito_prec(month);
|
ris_cred += credito_prec(month);
|
||||||
|
|
||||||
|
@ -13,6 +13,28 @@ bool TLiquidazione_app::is_trim(int x)
|
|||||||
// TRUE se il mese passato e' un trimestre
|
// TRUE se il mese passato e' un trimestre
|
||||||
{ return x == 3 || x == 6 || x == 9 || x == 12; }
|
{ return x == 3 || x == 6 || x == 9 || x == 12; }
|
||||||
|
|
||||||
|
bool TLiquidazione_app::is_in_trim(int x, int t)
|
||||||
|
// TRUE se il mese passato e' nel trimestre t
|
||||||
|
{
|
||||||
|
bool ret = FALSE;
|
||||||
|
switch(t)
|
||||||
|
{
|
||||||
|
case 3:
|
||||||
|
ret = x >= 1 && x <= 3;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
ret = x >= 4 && x <= 6;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
ret = x >= 7 && x <= 9;
|
||||||
|
break;
|
||||||
|
case 12:
|
||||||
|
ret = x >= 10 && x <= 12;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
bool TLiquidazione_app::is_month_ok(int x, int month)
|
bool TLiquidazione_app::is_month_ok(int x, int month)
|
||||||
// TRUE se il mese passato e' compatibile con il regime
|
// TRUE se il mese passato e' compatibile con il regime
|
||||||
// di liquidazione e (opz) non e' maggiore di quello scelto
|
// di liquidazione e (opz) non e' maggiore di quello scelto
|
||||||
@ -386,7 +408,8 @@ real TLiquidazione_app::credito_prec(int month)
|
|||||||
{
|
{
|
||||||
if (_recalc != needed)
|
if (_recalc != needed)
|
||||||
{
|
{
|
||||||
describe_error("Ricalcolo non eseguito: possibili errori credito precedente","ALL");
|
describe_error("Ricalcolo non eseguito: possibili errori "
|
||||||
|
"credito precedente","ALL");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -405,7 +428,8 @@ real TLiquidazione_app::credito_prec(int month)
|
|||||||
}
|
}
|
||||||
look_lim(month);
|
look_lim(month);
|
||||||
|
|
||||||
if (c.sign() < 0) c = abs(c); else c = real(0.0);
|
if (c.sign() < 0) c = abs(c);
|
||||||
|
else c = real(0.0);
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -426,11 +450,12 @@ real TLiquidazione_app::credito_costo_prec(int month, const char* codatt)
|
|||||||
{
|
{
|
||||||
bool ok = look_lim(previous_month(month));
|
bool ok = look_lim(previous_month(month));
|
||||||
if (!ok || !_lim->get_bool("B0"))
|
if (!ok || !_lim->get_bool("B0"))
|
||||||
{
|
{
|
||||||
if (_recalc != needed)
|
if (_recalc != needed)
|
||||||
{
|
{
|
||||||
describe_error("Ricalcolo non eseguito: possibili errori credito di costo","ALL");
|
describe_error("Ricalcolo non eseguito: possibili errori "
|
||||||
}
|
"credito di costo","ALL");
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Super Prassi a questo punto vorrebbe una update_firm
|
// Super Prassi a questo punto vorrebbe una update_firm
|
||||||
|
@ -145,9 +145,12 @@ void TLiquidazione_app::recalc_ventilation(int month, const char* codatt)
|
|||||||
int mese = atoi(*_pim_mese);
|
int mese = atoi(*_pim_mese);
|
||||||
int tipodet = atoi(*_pim_tipodet);
|
int tipodet = atoi(*_pim_tipodet);
|
||||||
|
|
||||||
// se non si e' settato il ricalcolo nei parametri ditta
|
/*
|
||||||
// considera soltanto quelli con detraibilita' == 3
|
* se non si e' settato il ricalcolo nei parametri ditta
|
||||||
// (passaggi interni)
|
* considera soltanto quelli con detraibilita' == 3
|
||||||
|
* (passaggi interni)
|
||||||
|
* sensu Scudler 1994
|
||||||
|
*/
|
||||||
if (!_isricacq && tipodet != 3)
|
if (!_isricacq && tipodet != 3)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -319,7 +319,11 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
|
|||||||
int last = _descr_arr.last();
|
int last = _descr_arr.last();
|
||||||
bool isfirst = TRUE;
|
bool isfirst = TRUE;
|
||||||
real t0, t1, t2, t3, t4, t5;
|
real t0, t1, t2, t3, t4, t5;
|
||||||
|
real autodafe, autodafe_iva;
|
||||||
|
|
||||||
|
// descrittore riga autodafe'
|
||||||
|
_DescrItem* ads = NULL;
|
||||||
|
|
||||||
while ((tmpatt = atts.get()) != NULL)
|
while ((tmpatt = atts.get()) != NULL)
|
||||||
{
|
{
|
||||||
TString att(tmpatt);
|
TString att(tmpatt);
|
||||||
@ -398,11 +402,24 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
|
|||||||
t1 += vfs;
|
t1 += vfs;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
d->_r0 += _pim->get_real("R0");
|
real adf, adi;
|
||||||
d->_r1 += _pim->get_real("R1");
|
|
||||||
t0 += _pim->get_real("R0");
|
// si scorporano solo per l'annuale, altrimenti
|
||||||
t1 += _pim->get_real("R1");
|
// vengono normalmente considerati nelle vendite
|
||||||
|
if (_isannual)
|
||||||
|
{
|
||||||
|
adf = _pim->get_real("R7");
|
||||||
|
adi = _pim->get_real("R8");
|
||||||
|
}
|
||||||
|
|
||||||
|
d->_r0 += _pim->get_real("R0") - adf;
|
||||||
|
d->_r1 += _pim->get_real("R1") - adi;
|
||||||
|
t0 += _pim->get_real("R0") - adf;
|
||||||
|
t1 += _pim->get_real("R1") - adi;
|
||||||
|
|
||||||
|
autodafe += adf;
|
||||||
|
autodafe_iva += adi;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isnew)
|
if (isnew)
|
||||||
@ -420,6 +437,21 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (autodafe.sign() > 0 || autodafe_iva.sign() > 0)
|
||||||
|
{
|
||||||
|
_DescrItem* ads = new _DescrItem(PIM_ROW);
|
||||||
|
ads->_s0 = ref;
|
||||||
|
ads->_s1 = "A35"; // cosi' vollero
|
||||||
|
ads->_r0 = autodafe;
|
||||||
|
ads->_r1 = autodafe_iva;
|
||||||
|
if (isfirst)
|
||||||
|
{
|
||||||
|
isfirst = FALSE;
|
||||||
|
ads->_f0 = TRUE;
|
||||||
|
}
|
||||||
|
_descr_arr.add(ads);
|
||||||
|
}
|
||||||
// prepara una bella riga di totali
|
// prepara una bella riga di totali
|
||||||
if (!isfirst)
|
if (!isfirst)
|
||||||
{
|
{
|
||||||
@ -490,8 +522,9 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
|
|||||||
spgnvp += spgnv; // ...
|
spgnvp += spgnv; // ...
|
||||||
t->_s2 = spgnp.string(); // risbatto ...
|
t->_s2 = spgnp.string(); // risbatto ...
|
||||||
t->_s3 = spgnvp.string(); // ..
|
t->_s3 = spgnvp.string(); // ..
|
||||||
}
|
} // while (attivita')
|
||||||
}
|
} // for (mese ok)
|
||||||
|
|
||||||
// annual follows in _arr
|
// annual follows in _arr
|
||||||
if ((_isannual || _isriepilogo) && ref != "ALL")
|
if ((_isannual || _isriepilogo) && ref != "ALL")
|
||||||
{
|
{
|
||||||
@ -594,10 +627,11 @@ void TLiquidazione_app::describe_liq(int month, const char* codatts,
|
|||||||
look_lia();
|
look_lia();
|
||||||
|
|
||||||
// r8 = acconto dicembre
|
// r8 = acconto dicembre
|
||||||
d->_r8 = _lia->get_real("R4");
|
d->_r8 = _lia->get_real("R4");
|
||||||
|
|
||||||
// r9 = conguaglio prorata
|
// r9 = conguaglio prorata
|
||||||
d->_r9 = conguaglio;
|
d->_r9 = conguaglio;
|
||||||
|
// TBI ci vogliono tutti i versamenti effettuati
|
||||||
|
// presi dalle deleghe
|
||||||
}
|
}
|
||||||
|
|
||||||
// aggiunge eventuale satellite per rimborso infraannuale
|
// aggiunge eventuale satellite per rimborso infraannuale
|
||||||
@ -787,9 +821,15 @@ void TLiquidazione_app::set_plafond(_DescrItem& d)
|
|||||||
|
|
||||||
void TLiquidazione_app::set_pim(_DescrItem& d)
|
void TLiquidazione_app::set_pim(_DescrItem& d)
|
||||||
{
|
{
|
||||||
look_iva(d._s1);
|
if (d._s1 == "A35")
|
||||||
d._s2 = _iva->get("S0");
|
{
|
||||||
|
d._s2 = "Artt.17c3/74c1";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
look_iva(d._s1);
|
||||||
|
d._s2 = _iva->get("S0");
|
||||||
|
}
|
||||||
if (d._f0) // e' il primo
|
if (d._f0) // e' il primo
|
||||||
{
|
{
|
||||||
// intestazioncina
|
// intestazioncina
|
||||||
|
Loading…
x
Reference in New Issue
Block a user