Patch level : 12.00 1258
Files correlati : cg7.exe cg7l00a.png cg7400a.png cg7400b.png cg7400c.png cg7500a.png cg7600a.png cg7600a.rep cg7700a.png cg7700a.rep cg7700b.png cg7700b.rep cg7800a.png cg7900a.png cg7900b.png cg7a00a.png cg7b00a.png cg7c00a.png cg7d00a.png cg7d00b.png cg7e00a.png cg7f00a.png cg7f00b.png cg7g00a.png cg7g00b.png cg7h00a.png Commento : Quadri dichiarazione IVA
This commit is contained in:
parent
fa68cfe0e4
commit
d0656ff8d4
@ -351,13 +351,11 @@ void TQuadro_VE_recordset::load(const char repid)
|
|||||||
const TDate da_datareg(1, 1, year());
|
const TDate da_datareg(1, 1, year());
|
||||||
const TDate a_datareg(31, 12,year());
|
const TDate a_datareg(31, 12,year());
|
||||||
|
|
||||||
// query << "USE IVADIFF KEY 2 SELECT BETWEEN(DATAREG,#DAL,#AL)";
|
query << "USE IVADIFF KEY 4 SELECT (" << ID_TIPOIVA << "==1)"; // Vendite
|
||||||
query << "USE IVADIFF KEY 4";
|
|
||||||
if (!end_cassa)
|
if (!end_cassa)
|
||||||
query << "\nFROM DATAREG=" << da_datareg;
|
query << "\nFROM " << ID_DATAREG << "=" << da_datareg;
|
||||||
query << "\nTO DATAREG=" << a_datareg;
|
query << "\nTO " << ID_DATAREG << "=" << a_datareg;
|
||||||
|
|
||||||
|
|
||||||
TISAM_recordset id(query);
|
TISAM_recordset id(query);
|
||||||
TString8 cod;
|
TString8 cod;
|
||||||
TImporto imp371, imp372;
|
TImporto imp371, imp372;
|
||||||
@ -371,6 +369,7 @@ void TQuadro_VE_recordset::load(const char repid)
|
|||||||
{
|
{
|
||||||
const int tipodiff = id.get_int(ID_TIPODIFF);
|
const int tipodiff = id.get_int(ID_TIPODIFF);
|
||||||
const TRectype & mov = cache().get(LF_MOV, numreg);
|
const TRectype & mov = cache().get(LF_MOV, numreg);
|
||||||
|
const int annoreg = mov.get_date(MOV_DATAREG).year();
|
||||||
const char sezione = id.get_string(ID_SEZIONE)[0];
|
const char sezione = id.get_string(ID_SEZIONE)[0];
|
||||||
const int tipomov = id.get_int(ID_TIPOMOV);
|
const int tipomov = id.get_int(ID_TIPOMOV);
|
||||||
const TImporto imp(sezione, id.get_real(RMI_IMPONIBILE));
|
const TImporto imp(sezione, id.get_real(RMI_IMPONIBILE));
|
||||||
@ -384,11 +383,14 @@ void TQuadro_VE_recordset::load(const char repid)
|
|||||||
|
|
||||||
const TCodiceIVA & codiva = cached_codIVA(cod);
|
const TCodiceIVA & codiva = cached_codIVA(cod);
|
||||||
|
|
||||||
if (codiva.iva_imponibile() && datapag <= a_datareg)
|
if (codiva.iva_imponibile() && annoreg == year())
|
||||||
{
|
{
|
||||||
imp371 += imp;
|
if ((tipomov == 3 && between(datapag, da_datareg, a_datareg)) || (tipomov < 3))
|
||||||
if (tipodiff == 2)
|
{
|
||||||
imp372 += imp;
|
imp371 += imp;
|
||||||
|
if (tipodiff == 2)
|
||||||
|
imp372 += imp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -399,9 +401,13 @@ void TQuadro_VE_recordset::load(const char repid)
|
|||||||
|
|
||||||
query.zap();
|
query.zap();
|
||||||
|
|
||||||
query << "USE IVADIFF KEY 3";
|
query << "USE IVADIFF KEY 4 SELECT (BETWEEN(" << ID_DATAREGP << ",\"" << da_datareg.date2ansi() << "\",\"" << a_datareg.date2ansi() << "\")&&(" << ID_TIPOIVA << "==1)&&(" << ID_TIPOMOV << "==3)";
|
||||||
query << "\nFROM DATAREGP=" << da_datareg;
|
query << "&&(" << ID_NUMPRO << ">0))"; // Vendite
|
||||||
query << "\nTO DATAREGP=" << a_datareg;
|
|
||||||
|
TDate end_prec = da_datareg;
|
||||||
|
|
||||||
|
--end_prec;
|
||||||
|
query << "\nTO " << ID_DATAREG << "=" << end_prec;
|
||||||
|
|
||||||
TISAM_recordset idp(query);
|
TISAM_recordset idp(query);
|
||||||
TImporto imp391;
|
TImporto imp391;
|
||||||
@ -411,15 +417,11 @@ void TQuadro_VE_recordset::load(const char repid)
|
|||||||
const long numreg = idp.get_long(RMI_NUMREG);
|
const long numreg = idp.get_long(RMI_NUMREG);
|
||||||
const int tipoiva = idp.get_int(ID_TIPOIVA);
|
const int tipoiva = idp.get_int(ID_TIPOIVA);
|
||||||
|
|
||||||
if (tipoiva == 1) // Vendite
|
|
||||||
{
|
|
||||||
const int tipodiff = idp.get_int(ID_TIPODIFF);
|
const int tipodiff = idp.get_int(ID_TIPODIFF);
|
||||||
const TRectype & mov = cache().get(LF_MOV, numreg);
|
const TRectype & mov = cache().get(LF_MOV, numreg);
|
||||||
const char sezione = idp.get_string(ID_SEZIONE)[0];
|
const char sezione = idp.get_string(ID_SEZIONE)[0];
|
||||||
const int tipomov = idp.get_int(ID_TIPOMOV);
|
const int tipomov = idp.get_int(ID_TIPOMOV);
|
||||||
const TImporto imp(sezione, idp.get_real(RMI_IMPONIBILE));
|
const TImporto imp(sezione, idp.get_real(RMI_IMPONIBILE));
|
||||||
const int annoliq = idp.get_date(ID_DATAREG).year();
|
|
||||||
const int annopag = idp.get_date(ID_DATAREGP).year();
|
|
||||||
|
|
||||||
key.cut(0);
|
key.cut(0);
|
||||||
key.add(numreg);
|
key.add(numreg);
|
||||||
@ -427,9 +429,8 @@ void TQuadro_VE_recordset::load(const char repid)
|
|||||||
cod = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
|
cod = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
|
||||||
const TCodiceIVA & codiva = cached_codIVA(cod);
|
const TCodiceIVA & codiva = cached_codIVA(cod);
|
||||||
|
|
||||||
if (annoliq < year() && tipomov == 3 && codiva.iva_imponibile())
|
if (codiva.iva_imponibile())
|
||||||
imp391 += imp;
|
imp391 += imp;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
imp391.normalize('A');
|
imp391.normalize('A');
|
||||||
add_value("VE39.1", imp391.valore()); // VE39.1 iva differita incassi di anni precedenti
|
add_value("VE39.1", imp391.valore()); // VE39.1 iva differita incassi di anni precedenti
|
||||||
|
@ -333,16 +333,15 @@ void TQuadro_VF_recordset::load(char repid)
|
|||||||
const TDate da_datareg(1, 1, year());
|
const TDate da_datareg(1, 1, year());
|
||||||
const TDate a_datareg(31, 12, year());
|
const TDate a_datareg(31, 12, year());
|
||||||
|
|
||||||
// query << "USE IVADIFF KEY 2 SELECT BETWEEN(DATAREG,#DAL,#AL)";
|
query << "USE IVADIFF KEY 4 SELECT (" << ID_TIPOIVA << "==2)"; // Acquisti
|
||||||
query << "USE IVADIFF KEY 4";
|
|
||||||
if (!end_cassa)
|
if (!end_cassa)
|
||||||
query << "\nFROM DATAREG=" << da_datareg;
|
query << "\nFROM DATAREG=" << da_datareg;
|
||||||
query << "\nTO DATAREG=" << a_datareg;
|
query << "\nTO DATAREG=" << a_datareg;
|
||||||
|
|
||||||
|
|
||||||
TISAM_recordset id(query);
|
TISAM_recordset id(query);
|
||||||
TString8 tipo_aliquota, codiva;
|
TString8 cod;
|
||||||
TImporto imp211, imp212;
|
TImporto imp231, imp232;
|
||||||
|
|
||||||
for (bool ok = id.move_first(); ok; ok = id.move_next())
|
for (bool ok = id.move_first(); ok; ok = id.move_next())
|
||||||
{
|
{
|
||||||
@ -350,67 +349,67 @@ void TQuadro_VF_recordset::load(char repid)
|
|||||||
const int tipoiva = id.get(ID_TIPOIVA).as_int();
|
const int tipoiva = id.get(ID_TIPOIVA).as_int();
|
||||||
const int tipodiff = id.get(ID_TIPODIFF).as_int();
|
const int tipodiff = id.get(ID_TIPODIFF).as_int();
|
||||||
const TRectype & mov = cache().get(LF_MOV, numreg);
|
const TRectype & mov = cache().get(LF_MOV, numreg);
|
||||||
|
const int annoreg = mov.get_date(MOV_DATAREG).year();
|
||||||
const char sezione = id.get(ID_SEZIONE).as_string()[0];
|
const char sezione = id.get(ID_SEZIONE).as_string()[0];
|
||||||
const int tipomov = id.get(ID_TIPOMOV).as_int();
|
const int tipomov = id.get(ID_TIPOMOV).as_int();
|
||||||
const TImporto imp(sezione, id.get(RMI_IMPONIBILE).as_real());
|
const TImporto imp(sezione, id.get(RMI_IMPONIBILE).as_real());
|
||||||
const int annoliq = id.get(ID_ANNOLIQ).as_int();
|
// const int annoliq = id.get(ID_ANNOLIQ).as_int();
|
||||||
const TDate datapag = id.get(ID_DATAREGP).as_date();
|
const TDate datapag = id.get(ID_DATAREGP).as_date();
|
||||||
|
|
||||||
key.cut(0);
|
key.cut(0);
|
||||||
key.add(numreg);
|
key.add(numreg);
|
||||||
key.add(id.get(ID_NUMRIG).as_string());
|
key.add(id.get(ID_NUMRIG).as_string());
|
||||||
codiva = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
|
cod = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
|
||||||
key = codiva;
|
|
||||||
tipo_aliquota = cache().get("%IVA", key, "S1");
|
|
||||||
|
|
||||||
if (tipo_aliquota.blank() && datapag <= a_datareg && tipoiva == 2) // Acquisti
|
const TCodiceIVA & codiva = cached_codIVA(cod);
|
||||||
|
|
||||||
|
if (codiva.iva_imponibile() && annoreg == year())
|
||||||
{
|
{
|
||||||
imp211 += imp;
|
if ((tipomov == 3 && between(datapag, da_datareg, a_datareg)) || (tipomov < 3))
|
||||||
if (tipodiff == 2)
|
{
|
||||||
imp212 += imp;
|
imp231 += imp;
|
||||||
|
if (tipodiff == 2)
|
||||||
|
imp232 += imp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
imp211.normalize('A');
|
imp231.normalize('A');
|
||||||
add_value("VF23.1", imp211.valore());
|
add_value("VF23.1", imp231.valore());
|
||||||
add_value("VF37.1", imp211.valore()); // VF37.1 2 iva sospensione da pagare
|
add_value("VF37.1", imp231.valore()); // VF37.1 2 iva sospensione da pagare
|
||||||
imp212.normalize('A');
|
imp232.normalize('A');
|
||||||
add_value("VF23.2", imp212.valore());
|
add_value("VF23.2", imp232.valore());
|
||||||
|
|
||||||
query.zap();
|
query.zap();
|
||||||
|
|
||||||
query << "USE IVADIFF KEY 3";
|
query << "USE IVADIFF KEY 4 SELECT (BETWEEN(" << ID_DATAREGP << ",\"" << da_datareg.date2ansi() << "\",\"" << a_datareg.date2ansi() << "\")&&(" << ID_TIPOIVA << "==2)&&(" << ID_TIPOMOV << "==3)";
|
||||||
query << "\nFROM DATAREGP=" << da_datareg;
|
query << "&&(" << ID_NUMPRO <<">0))"; // Acquisti
|
||||||
query << "\nTO DATAREGP=" << a_datareg;
|
|
||||||
|
TDate end_prec = da_datareg;
|
||||||
|
|
||||||
|
--end_prec;
|
||||||
|
query << "\nTO " << ID_DATAREG << "=" << end_prec;
|
||||||
|
|
||||||
TISAM_recordset idp(query);
|
TISAM_recordset idp(query);
|
||||||
TImporto imp221;
|
TImporto imp241;
|
||||||
|
|
||||||
for (bool ok = idp.move_first(); ok; ok = idp.move_next())
|
for (bool ok = idp.move_first(); ok; ok = idp.move_next())
|
||||||
{
|
{
|
||||||
const long numreg = idp.get(RMI_NUMREG).as_int();
|
const long numreg = idp.get_long(RMI_NUMREG);
|
||||||
const int tipoiva = idp.get(ID_TIPOIVA).as_int();
|
|
||||||
const TRectype & mov = cache().get(LF_MOV, numreg);
|
const TRectype & mov = cache().get(LF_MOV, numreg);
|
||||||
const char sezione = idp.get(ID_SEZIONE).as_string()[0];
|
const char sezione = idp.get_string(ID_SEZIONE)[0];
|
||||||
const int tipomov = idp.get(ID_TIPOMOV).as_int();
|
|
||||||
const TImporto imp(sezione, idp.get(RMI_IMPONIBILE).as_real());
|
const TImporto imp(sezione, idp.get(RMI_IMPONIBILE).as_real());
|
||||||
const int annoliq = idp.get(ID_DATAREG).as_date().year();
|
|
||||||
const int annopag = idp.get(ID_DATAREGP).as_date().year();
|
|
||||||
|
|
||||||
key.cut(0);
|
key.cut(0);
|
||||||
key.add(numreg);
|
key.add(numreg);
|
||||||
key.add(idp.get(ID_NUMRIG).as_string());
|
key.add(idp.get(ID_NUMRIG).as_string());
|
||||||
codiva = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
|
cod = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
|
||||||
key = codiva;
|
const TCodiceIVA & codiva = cached_codIVA(cod);
|
||||||
tipo_aliquota = cache().get("%IVA", key, "S1");
|
|
||||||
|
|
||||||
if (tipo_aliquota.blank() && tipoiva == 2) // Acquisti
|
if (codiva.iva_imponibile())
|
||||||
{
|
imp241 += imp;
|
||||||
if (annoliq < year() && tipomov == 3)
|
|
||||||
imp221 += imp;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
imp221.normalize('D');
|
imp241.normalize('D');
|
||||||
add_value("VF24.1", imp221.valore()); // VE22.1 iva differita pagamenti di anni precedenti
|
add_value("VF24.1", imp241.valore()); // VE22.1 iva differita pagamenti di anni precedenti
|
||||||
|
|
||||||
// V24.2 Variazioni e arrotondamenti d’imposta (indicare con il segno +/–)
|
// V24.2 Variazioni e arrotondamenti d’imposta (indicare con il segno +/–)
|
||||||
// V50.2 Variazioni e arrotondamenti d’imposta (indicare con il segno +/–)
|
// V50.2 Variazioni e arrotondamenti d’imposta (indicare con il segno +/–)
|
||||||
|
@ -213,7 +213,7 @@
|
|||||||
<source>VF71.0</source>
|
<source>VF71.0</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="66" y="60.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="11" codval="" id="7102" pattern="1" hide_zero="" text="###.###.###">
|
<field x="66" y="60.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="11" codval="" id="7102" pattern="1" hide_zero="" text="###.###.###">
|
||||||
<prescript description="B1.7102 PRESCRIPT">MON #7100 @
|
<prescript description="B1.7102 PRESCRIPT">#7100 @
|
||||||
#5502 @
|
#5502 @
|
||||||
+
|
+
|
||||||
#7002 @
|
#7002 @
|
||||||
|
@ -19,6 +19,12 @@ void classify_pim_array(const TRectype& pimr, TArray & imponibili, TArray & impo
|
|||||||
imponibili.add(imp, tprec);
|
imponibili.add(imp, tprec);
|
||||||
imposte.add(iva, tprec);
|
imposte.add(iva, tprec);
|
||||||
}
|
}
|
||||||
|
#ifdef DBG
|
||||||
|
if (imponibili.items() == 0)
|
||||||
|
{
|
||||||
|
message_box("PIM scartato %s", (const char *)pimr.get("CODTAB"));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool classify_pim(const TRectype& pimr, real& imp, real& iva, tiporec& t, bool tipost, int & last_tiporec, const bool dich)
|
bool classify_pim(const TRectype& pimr, real& imp, real& iva, tiporec& t, bool tipost, int & last_tiporec, const bool dich)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user