Aggiunta funzione recalc_viaggio() per ricalcolare il debito mensile.
Corretti errori MI6304 relativo al trasferimento campo EC113 nel caso di fatture in sospensione; MI6305 relativo alle ditte agricole trimestrali e MI2383 relativo alle agenzie di viaggio trimestrali. git-svn-id: svn://10.65.10.50/trunk@5634 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e1ca540385
commit
715eba14e2
@ -478,6 +478,9 @@ public:
|
||||
|
||||
// ventilasiun
|
||||
void recalc_ventilation (int month, const char* codatt);
|
||||
|
||||
// ag. viaggio
|
||||
void recalc_viaggio (int month, const char* codatt);
|
||||
|
||||
// plafond
|
||||
void zero_plafond (int month, const char* codatt);
|
||||
|
@ -396,11 +396,14 @@ bool TLiquidazione_app::update_att(int month, const char* codatt,
|
||||
{
|
||||
zero_att(month,codatt);
|
||||
recalc_att(month,codatt);
|
||||
// Ricalcolo ventilazione:
|
||||
// Ricalcolo ventilazione e ag. viaggio:
|
||||
// - tutti i mesi se e' mensile
|
||||
// - nei mesi 3,6,9,12 se trimestrale
|
||||
// - nei mesi 3,6,9,12,13 se trimestrale
|
||||
if (_freqviva == "M" || (_freqviva == "T" && (is_trim(month) || month == 13)))
|
||||
{
|
||||
recalc_ventilation(month, codatt);
|
||||
recalc_viaggio(month, codatt);
|
||||
}
|
||||
recalc_corrispettivi(month, codatt);
|
||||
}
|
||||
|
||||
@ -732,7 +735,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
case acquisto: // ACQUISTO (per chi non l'avesse capito)
|
||||
// Per le anguille delle antille e le saracche delle molucche...
|
||||
// Gli acquisti con tipocr 1,2,3,5,8 vanno totalizzati se e solo se
|
||||
// il tipo iva e' diverso da NON SOGGETTO
|
||||
// il tipo iva e' diverso da NON SOGGETTO,
|
||||
if (tipoiva != "NS")
|
||||
{
|
||||
if (tipocr == 1 || tipocr ==5)
|
||||
@ -1344,7 +1347,6 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
|
||||
if (_isviaggio)
|
||||
{
|
||||
real deb_mens = 0.0;
|
||||
_plm->put("R5", corr_CEE);
|
||||
_plm->put("R6", corr_noCEE);
|
||||
_plm->put("R7", acq_CEE);
|
||||
@ -1356,27 +1358,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
// ---- NOTA BENE ------------------------
|
||||
// l'iva vendite nei plm non comprende
|
||||
// l'iva agenzie di viaggio, calcolata
|
||||
// in liquidazione (mensile o trimestrale)
|
||||
// ---------------------------------------
|
||||
// Mod 7/7/95: calcolo effettuato anche qui, in modo da
|
||||
// avere l'IVA dovuta per riportarla nei progressivi
|
||||
// Dato che il resto funziona non tocco nulla, ovvero
|
||||
// duplico il calcolo di write_liq, nella remota ipotesi
|
||||
// che ci siano due o piu' attivita' e siano tutte
|
||||
// agenzie di viaggio
|
||||
real perc_r = (acq_misCEE * CENTO)/(acq_misCEE + acq_misnoCEE); perc_r.round(2);
|
||||
real ivm = (corr_misCEE * perc_r)/CENTO; ivm.round(ROUND_LIRA);
|
||||
real tc = (corr_CEE + ivm);
|
||||
real ta = (acq_CEE + acq_misCEE);
|
||||
real bi = tc - ta - credito_costo_prec(month);
|
||||
|
||||
if (bi.sign() > 0)
|
||||
{
|
||||
deb_mens = (bi /((CENTO + aliquota_agvia())/CENTO)) *
|
||||
(aliquota_agvia()/CENTO);
|
||||
deb_mens.ceil(ROUND_LIRA); // ceil voluto MI3074
|
||||
}
|
||||
_pom->put("R13", deb_mens);
|
||||
// in liquidazione (mensile o trimestrale): recalc_viaggio()
|
||||
}
|
||||
else if (_isagricolo)
|
||||
{
|
||||
@ -1679,7 +1661,7 @@ void TLiquidazione_app::iva11_set_arr(const TString& codatt)
|
||||
array.add(imponibile,TAB11_R9,LF_TAB1100B);
|
||||
|
||||
|
||||
if (tipocr == 4 && tipodoc != "AF")
|
||||
if (tipocr == 4 && tipodoc != "AF" && !sosp_imp)
|
||||
array.add(imponibile,TAB11_EC113);
|
||||
}
|
||||
|
||||
|
@ -268,6 +268,52 @@ void TLiquidazione_app::recalc_ventilation(int month, const char* codatt)
|
||||
_pam->rewrite();
|
||||
}
|
||||
|
||||
// ricalcolo iva dovuta agenzie viaggio
|
||||
void TLiquidazione_app::recalc_viaggio(int month, const char* codatt)
|
||||
{
|
||||
if (!_isviaggio)
|
||||
return;
|
||||
|
||||
real c_CEE, c_mCEE, c_fCEE, a_CEE, a_mCEE, a_fCEE, a_mfCEE;
|
||||
|
||||
for (int mese = month == 13 ? 13 : 1; mese <= month; mese++)
|
||||
{
|
||||
if (!is_month_ok(mese,month) || !look_plm(mese, codatt))
|
||||
continue;
|
||||
|
||||
c_CEE += _plm->get_real("R5"); // corrispettivi CEE
|
||||
c_mCEE += _plm->get_real("R9"); // corrispettivi misti CEE
|
||||
c_fCEE += _plm->get_real("R6"); // corrispettivi fuori CEE
|
||||
a_CEE += _plm->get_real("R7"); // acquisti CEE
|
||||
a_mCEE += _plm->get_real("R10"); // acquisti misti parte CEE
|
||||
a_fCEE += _plm->get_real("R8"); // acquisti fuori CEE
|
||||
a_mfCEE += _plm->get_real("R11"); // acquisti misti parte fuori CEE
|
||||
}
|
||||
// calcolo debito mensile da aggiornare su tabella POM
|
||||
real perc_r = (a_mCEE * CENTO)/(a_mCEE + a_mfCEE); perc_r.round(2);
|
||||
real ivm = (c_mCEE * perc_r)/CENTO; ivm.round(ROUND_LIRA);
|
||||
real tc = (c_CEE + ivm);
|
||||
real ta = (a_CEE + a_mCEE);
|
||||
real bi = tc - ta - credito_costo_prec(month);
|
||||
|
||||
real deb_mens;
|
||||
|
||||
if (bi.sign() > 0)
|
||||
{
|
||||
deb_mens = (bi /((CENTO + aliquota_agvia())/CENTO)) *
|
||||
(aliquota_agvia()/CENTO);
|
||||
if (month == 13)
|
||||
round_mille_lire(deb_mens);
|
||||
else
|
||||
deb_mens.ceil(ROUND_LIRA);
|
||||
}
|
||||
if (look_plm(month,codatt))
|
||||
{
|
||||
_pom->put("R13", deb_mens); // Scrive il valore corretto (mensile/trimestrale/annuale)
|
||||
_pom->rewrite();
|
||||
}
|
||||
}
|
||||
|
||||
_DescrItem* TLiquidazione_app::recalc_rimborso(int month, const char* codatts,
|
||||
bool stliq)
|
||||
{
|
||||
|
@ -353,18 +353,25 @@ void TLiquidazione_app::describe_agricolo(int month, const char* codatt)
|
||||
}
|
||||
}
|
||||
|
||||
look_plm(month,codatt);
|
||||
for (int mese = month == 13 ? 13 : 1; mese <= month; mese++)
|
||||
{
|
||||
if (!is_month_ok(mese,month))
|
||||
continue;
|
||||
|
||||
if (!look_plm(mese, codatt))
|
||||
continue;
|
||||
|
||||
d->_r0 += _plm->get_real("R5");
|
||||
d->_r1 += _plm->get_real("R6");
|
||||
d->_r2 += _plm->get_real("R7");
|
||||
d->_r3 += _plm->get_real("R8");
|
||||
d->_r4 += _plm->get_real("R9");
|
||||
d->_r5 += _plm->get_real("R10");
|
||||
d->_r6 += _plm->get_real("R11");
|
||||
d->_r7 += _pum->get_real("R10");
|
||||
d->_r8 += _pum->get_real("R11");
|
||||
d->_r11 += _plm->get_real("R13");
|
||||
d->_r0 += _plm->get_real("R5");
|
||||
d->_r1 += _plm->get_real("R6");
|
||||
d->_r2 += _plm->get_real("R7");
|
||||
d->_r3 += _plm->get_real("R8");
|
||||
d->_r4 += _plm->get_real("R9");
|
||||
d->_r5 += _plm->get_real("R10");
|
||||
d->_r6 += _plm->get_real("R11");
|
||||
d->_r7 += _pum->get_real("R10");
|
||||
d->_r8 += _pum->get_real("R11");
|
||||
d->_r11 += _plm->get_real("R13");
|
||||
}
|
||||
// Aggiungo anche questi per comodita' futura.
|
||||
// in caso di ditta a regime agricolo
|
||||
// alias:
|
||||
@ -385,17 +392,22 @@ void TLiquidazione_app::describe_viaggio(int month, const char* codatt)
|
||||
if (!look_lim(month)) return;
|
||||
|
||||
_DescrItem* d = new _DescrItem(REGVIA);
|
||||
|
||||
look_plm(month, codatt);
|
||||
|
||||
d->_r0 += _plm->get_real("R5"); // corrispettivi CEE
|
||||
d->_r1 += _plm->get_real("R9"); // corrispettivi misti CEE
|
||||
d->_r2 += _plm->get_real("R6"); // corrispettivi fuori CE
|
||||
d->_r3 += _plm->get_real("R7"); // acquisti CEE
|
||||
d->_r4 += _plm->get_real("R10"); // acquisti misti parte CEE
|
||||
d->_r5 += _plm->get_real("R8"); // acquisti fuori CEE
|
||||
d->_r6 += _plm->get_real("R11"); // acquisti misti parte fuori CEE
|
||||
|
||||
|
||||
for (int mese = month == 13 ? 13 : 1; mese <= month; mese++)
|
||||
{
|
||||
if (!is_month_ok(mese,month) || !look_plm(mese, codatt))
|
||||
continue;
|
||||
|
||||
d->_r0 += _plm->get_real("R5"); // corrispettivi CEE
|
||||
d->_r1 += _plm->get_real("R9"); // corrispettivi misti CEE
|
||||
d->_r2 += _plm->get_real("R6"); // corrispettivi fuori CE
|
||||
d->_r3 += _plm->get_real("R7"); // acquisti CEE
|
||||
d->_r4 += _plm->get_real("R10"); // acquisti misti parte CEE
|
||||
d->_r5 += _plm->get_real("R8"); // acquisti fuori CEE
|
||||
d->_r6 += _plm->get_real("R11"); // acquisti misti parte fuori CEE
|
||||
}
|
||||
|
||||
// credito di costo precedente (CHECK annuale)
|
||||
d->_r8 = credito_costo_prec(month);
|
||||
|
||||
@ -431,13 +443,6 @@ void TLiquidazione_app::describe_viaggio(int month, const char* codatt)
|
||||
round_mille_lire(d->_r11);
|
||||
else d->_r11.ceil(ROUND_LIRA);
|
||||
}
|
||||
if (month == 13)
|
||||
{
|
||||
look_plm(month,codatt); // Scrive l'iva dovuta, visto che la describe_pims() viene chiamata successivamente.
|
||||
_pom->put("R13",d->_r11);
|
||||
_pom->rewrite();
|
||||
}
|
||||
|
||||
_descr_arr.add(d);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user