Patch level : 12.0 374

Files correlati     : cg4.exe

Corretta l'esposizione dell' iva per cassa e differita nel caso di pro-rata (rif. Bellegotti)

git-svn-id: svn://10.65.10.50/branches/R_10_00@23730 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
bonazzi 2017-04-10 13:37:40 +00:00
parent eadf511ccb
commit 3de31a3aff
4 changed files with 32 additions and 5 deletions

View File

@ -589,7 +589,7 @@ public:
void set_pim_head(_DescrItem& d);
// void set_liqacc_1999(_DescrItem& d);
int calc_inc_diff(int tipoiva, real& imponibile_diff, real& imposta_diff, real& imponibile_xcas, real& imposta_xcas) const;
int calc_inc_diff(int tipoiva, real& imponibile_diff, real& imposta_diff, real& imponibile_xcas, real& imposta_xcas);
int print_acc_diff_xcassa(const _DescrItem& d);
void set_liqacc_2000(_DescrItem& d);

View File

@ -2776,8 +2776,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
acquisti_iva += agr_detIA;
}
_plm->put("R12", _prorata.percentuale(_year)); // per comodita' in stampa
_plm->put("R4", percentuale1);
_plm->put("R12", _prorata.percentuale(_year));
_plm->put("R4", percentuale1);
_plm->put("R16", percentuale2);
_plm->put("R0", vendite_iva);
_plm->put("R1", acquisti_iva);

View File

@ -1638,7 +1638,7 @@ void TLiquidazione_app::set_liqacc_1999(_DescrItem& d)
}
*/
int TLiquidazione_app::calc_inc_diff(int tipoiva, real& imponibile_diff, real& imposta_diff, real& imponibile_xcas, real& imposta_xcas) const
int TLiquidazione_app::calc_inc_diff(int tipoiva, real& imponibile_diff, real& imposta_diff, real& imponibile_xcas, real& imposta_xcas)
{
CHECKD(tipoiva == 1 || tipoiva == 2, "Bad tipo iva:", tipoiva);
int flag = 0;
@ -1670,6 +1670,33 @@ int TLiquidazione_app::calc_inc_diff(int tipoiva, real& imponibile_diff, real& i
}
}
if (tipoiva == 2)
{
real perc_prorata;
query = "USE PLM";
query << "\nFROM CODTAB=" << _year << "\nTO CODTAB=" << _year;
TISAM_recordset ip(query);
const TRectype& recp = ip.cursor()->curr();
for (bool ok = ip.move_first(); ok && perc_prorata == ZERO; ok = ip.move_next())
{
int m = atoi(ip.get("CODTAB").as_string().mid(10));
real p = ip.get("R12").as_real();
if (m == _month && p != ZERO)
perc_prorata = p;
}
if (perc_prorata > ZERO)
{
real ind = imposta_diff * perc_prorata / CENTO;
ind.round(TCurrency::get_firm_dec());
imposta_diff -= ind;
ind = imposta_xcas * perc_prorata / CENTO;
ind.round(TCurrency::get_firm_dec());
imposta_xcas -= ind;
}
}
return flag;
}

View File

@ -1984,7 +1984,7 @@ bool TStampa_registri_app::print_IVAxCassa(int da_month, int a_month)
TString query;
// query = "USE IVADIFF SELECT (BETWEEN(DATAREGP,#DAL,#AL))&&(MOV.REG=#REG)&&(STR((MESELIQ<13)&&(TIPOMOV>2)&&(MOV.TOTDOC>0)))";
query = "USE IVADIFF SELECT (BETWEEN(DATAREGP,#DAL,#AL))&&(MOV.REG=#REG)&&(STR((MESELIQ<13)&&(TIPOMOV>2)&&(MOV.TOTDOC!=0)))"; // 17-11-2015 trasformato in MOV.TOTDOC!=0
query = "USE IVADIFF SELECT (BETWEEN(DATAREGP,#DAL,#AL))&&(MOV.REG=#REG)&&(STR((MESELIQ<13)&&(TIPOMOV>2)&&(MOV.TOTDOC!=0)&&(IMPOSTA!=0)&&NUM(INDETR!='X')))"; // 17-11-2015 trasformato in MOV.TOTDOC!=0
query << "\nBY DATAREGP DATAREG NUMPRO";
query << "\nJOIN MOV INTO NUMREG==NUMREG";
query << "\nJOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF";