Patch level : 12.0 562
Files correlati : cg4.exe Modificata la liquidazione delle fatture in ritardo Aggiunta la gestione dell'uscita dal regime di cassa git-svn-id: svn://10.65.10.50/branches/R_10_00@24464 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8151b3b8f1
commit
0cbe5ff7b6
@ -1087,8 +1087,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
}
|
||||
|
||||
data_rif_cassa.set_end_month();
|
||||
todate.set_end_month();
|
||||
fine.set_end_month();
|
||||
todate.set_end_month();
|
||||
fine.set_end_month();
|
||||
|
||||
from.put(MOV_REG, fromreg);
|
||||
to.put(MOV_REG, toreg);
|
||||
@ -1114,7 +1114,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
|
||||
_cur->setfilter(filter);
|
||||
const long items = _cur->items();
|
||||
_cur->freeze();
|
||||
|
||||
_cur->freeze();
|
||||
|
||||
*_cur = 0;
|
||||
|
||||
@ -1235,7 +1236,10 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
#ifdef DBG
|
||||
nr = _mov->get_long(MOV_NUMREG);
|
||||
|
||||
if (nr == 27891)
|
||||
if (nr == 25722 ||
|
||||
nr == 25863 ||
|
||||
nr == 27888 ||
|
||||
nr == 28033)
|
||||
int i = 1;
|
||||
#endif
|
||||
|
||||
@ -1295,7 +1299,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
}
|
||||
}
|
||||
}
|
||||
if (iva_diff || sarebbe_maturata(_mov->curr(), inizio+1L, fine) || end_cassa)
|
||||
if (iva_diff || sarebbe_maturata(_mov->curr(), inizio+1L, fine) || (iva_cass && end_cassa))
|
||||
{
|
||||
TPointer_array pagscaold;
|
||||
TImporto pg_tot, nc_tot;
|
||||
@ -1362,7 +1366,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
else
|
||||
{
|
||||
// Fattura più vecchia di un anno a ente NON pubblico
|
||||
if (sarebbe_maturata(_mov->curr(), inizio+1L, fine) || end_cassa)
|
||||
if (sarebbe_maturata(_mov->curr(), inizio+1L, fine) || (iva_cass && end_cassa))
|
||||
tot_da_incassare = _mov->get_real(MOV_TOTDOC);
|
||||
}
|
||||
}
|
||||
@ -1372,11 +1376,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
tot_incassato = tot_da_incassare;
|
||||
|
||||
datainc = data_maturazione_IVA_diff(_mov->curr());
|
||||
if (end_cassa)
|
||||
{
|
||||
if (!datainc.ok() || datainc > data_end_cassa)
|
||||
datainc = data_end_cassa;
|
||||
}
|
||||
if (iva_cass && end_cassa)
|
||||
datainc = data_end_cassa;
|
||||
_mov->put(MOV_DATAINC, datainc);
|
||||
if (datainc < date)
|
||||
datainc = date;
|
||||
@ -1523,10 +1524,13 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
const int tp = clifo.get_int(CLI_ALLEG);
|
||||
|
||||
#ifdef DBG
|
||||
const long nr = _mov->get_long(MOV_NUMREG);
|
||||
nr = _mov->get_long(MOV_NUMREG);
|
||||
|
||||
if (nr == 214882)
|
||||
int i = 1 ;
|
||||
if (nr == 25722 ||
|
||||
nr == 25863 ||
|
||||
nr == 27888 ||
|
||||
nr == 28033)
|
||||
int i = 1;
|
||||
#endif
|
||||
|
||||
if ((soloiva &&
|
||||
@ -1558,8 +1562,10 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
long numreg = _rmoviva->get_long(RMI_NUMREG);
|
||||
const TDate datareg = _mov->get_date(MOV_DATAREG);
|
||||
int mesereg = datareg.month();
|
||||
const bool ok = is_month_ok(mesereg, month) && (atoi(_year) == datareg.year());
|
||||
bool ok = is_month_ok(mesereg, month) && (atoi(_year) == datareg.year());
|
||||
|
||||
if (!ok && (iva_cass && end_cassa && month < 13))
|
||||
ok = (datareg.year() < atoi(_year)) || (mesereg <= month);
|
||||
if (!ok || is_detr_diff == 1 || civa.tipo() == "NS")
|
||||
continue;
|
||||
if (bIsMovDiff && tm == tm_fattura)
|
||||
@ -1721,19 +1727,36 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
bool pag_found = false;
|
||||
|
||||
int err = rid.read(_isgteq);
|
||||
|
||||
#ifdef DBG
|
||||
if (nr == 29283)
|
||||
int i = 1;
|
||||
#endif
|
||||
TDate orizzonte = fine; // caso tradizionale
|
||||
|
||||
if (iva_cass)
|
||||
{
|
||||
const TDate data_rif = data_maturazione_IVA_diff(_mov->curr());
|
||||
if (data_rif < fine)
|
||||
orizzonte = data_rif;
|
||||
}
|
||||
|
||||
for (; err == NOERR && rid.get_long(RMI_NUMREG) == numreg && rid.get_int(RMI_NUMRIG) == numrig; err = rid.next())
|
||||
{
|
||||
const int ridnumpro = rid.get_int(ID_NUMPRO);
|
||||
const tipo_movimento ridtipopag = (tipo_movimento) rid.get_int(PART_TIPOMOV);
|
||||
|
||||
if (ridtipopag != tm_fattura && ridtipopag != tm_nessuno &&ridnumpro != numpro)
|
||||
|
||||
if (ridtipopag != tm_fattura && ridtipopag != tm_nessuno && ridnumpro != numpro)
|
||||
{
|
||||
pag_found = true;
|
||||
if (sezfat != sezpag)
|
||||
val_iva -= rid.get_real(RMI_IMPOSTA);
|
||||
else
|
||||
val_iva += rid.get_real(RMI_IMPOSTA);
|
||||
const TDate datapag = rid.get_date(ID_DATAREGP);
|
||||
|
||||
if (datapag <= orizzonte)
|
||||
{
|
||||
pag_found = true;
|
||||
if (sezfat != sezpag)
|
||||
val_iva -= rid.get_real(RMI_IMPOSTA);
|
||||
else
|
||||
val_iva += rid.get_real(RMI_IMPOSTA);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!pag_found)
|
||||
@ -1756,14 +1779,14 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
if (iva_cass)
|
||||
_imposta_inc_cassa_ven += val_iva;
|
||||
else
|
||||
_imposta_inc_diff_ven+= val_iva;
|
||||
_imposta_inc_diff_ven += val_iva;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (iva_cass)
|
||||
_imposta_inc_cassa_acq+= val_iva;
|
||||
_imposta_inc_cassa_acq += val_iva;
|
||||
else
|
||||
_imposta_inc_diff_acq+= val_iva;
|
||||
_imposta_inc_diff_acq += val_iva;
|
||||
}
|
||||
incdiff_imp += val_imp;
|
||||
incdiff_iva += val_iva;
|
||||
@ -2686,8 +2709,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
else
|
||||
{
|
||||
// fatture acquisto a liquidazione differita
|
||||
tab->curr().add("R30", incdiff_imp);
|
||||
tab->curr().add("R31", incdiff_iva);
|
||||
tab->curr().add("R30", diff_imp);
|
||||
tab->curr().add("R31", diff_iva);
|
||||
tab->curr().add("R32", incdiff_imp);
|
||||
tab->curr().add("R33", incdiff_iva);
|
||||
fdiff_imp_acq += diff_imp;
|
||||
|
@ -1620,9 +1620,9 @@ int TLiquidazione_app::print_acc_diff_xcassa(const _DescrItem& d)
|
||||
set_row(i++,FR("@11gIVA a liquidazione differita pagata@64g%r"), &ivadiff_pag);
|
||||
|
||||
if (ivadiff_inc > ZERO)
|
||||
set_row(i++,FR("@11gIVA per cassa incassata@75g%r"), &ivadiff_inc);
|
||||
set_row(i++,FR("@11gIVA per cassa incassata@75g%r"), &ivaxcas_inc);
|
||||
if (ivadiff_pag > ZERO)
|
||||
set_row(i++,FR("@11gIVA per cassa pagata@64g%r"), &ivadiff_pag);
|
||||
set_row(i++,FR("@11gIVA per cassa pagata@64g%r"), &ivaxcas_pag);
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user