campo-sirio/src/cg/cg7800.cpp

153 lines
7.6 KiB
C++
Raw Normal View History

// Programma per la stampa del quadro VE
#include <recarray.h>
#include <tabutil.h>
#include <utility.h>
#include "cg7401.h"
#include "cgpim.h"
#include "cg7400a.h"
#include "rmoviva.h"
#define REP_QUADRO 1
enum tipo_sospensione { nessuna, sospensione_normale, vol_affari, liquidazione };
class TQuadro_VJ_recordset : public TQuadro_IVA_recordset
{
TQuadro_IVA_mask * _mask;
protected:
virtual void load();
public:
TQuadro_VJ_recordset(TQuadro_IVA_mask * mask, const char* use, const int year) : TQuadro_IVA_recordset(mask, use, year) { load(); }
virtual ~TQuadro_VJ_recordset() {}
};
void TQuadro_VJ_recordset::load()
{
clear();
TISAM_recordset * recset = app().mask()->get_recset(REP_QUADRO);
recset->set_var("#ANNO", format("%d", year()));
for (recset->move_first(); !recset->eof(); recset->move_next())
{
const int regspiva = recset->get("26.REGSPIVA").as_int();
const real imp = recset->get(RMI_IMPONIBILE).as_real();
const real iva = recset->get(RMI_IMPOSTA).as_real();
switch (regspiva)
{
case 1:
add_value("VJ01.1", imp); // VJ1.1 Acquisti di beni provenienti dallo Stato Citt<74> del Vaticano e dalla Repubblica di San Marino <20> art. 71, comma 2 <20> (inclusi acquisti di oro industriale,argento puro e beni di cui all<6C>art. 74, commi 7 e 8)
add_value("VJ01.2", iva); // VJ1.2 Acquisti di beni provenienti dallo Stato Citt<74> del Vaticano e dalla Repubblica di San Marino <20> art. 71, comma 2 <20> (inclusi acquisti di oro industriale,argento puro e beni di cui all<6C>art. 74, commi 7 e 8)
break;
case 2:
add_value("VJ02.1", imp); // VJ2.1 Estrazione di beni da depositi IVA (art. 50-bis, comma 6, d.l. n. 331/1993)
add_value("VJ02.2", iva); // VJ2.2 Estrazione di beni da depositi IVA (art. 50-bis, comma 6, d.l. n. 331/1993)
break;
case 3:
add_value("VJ03.1", imp); // VJ3.1 Acquisti di beni e servizi da soggettIi non residenti ai sensi dell<6C>art. 17, comma 2
add_value("VJ03.2", iva); // VJ3.2 Acquisti di beni e servizi da soggettIi non residenti ai sensi dell<6C>art. 17, comma 2
break;
case 4:
add_value("VJ04.1", imp); // VJ4.1 Operazioni di cui all<6C>art. 74, comma 1, lett. e)
add_value("VJ04.2", iva); // VJ4.2 Operazioni di cui all<6C>art. 74, comma 1, lett. e)
break;
case 5:
add_value("VJ05.1", imp); // VJ5.1 Provvigioni corrisposte dalle agenzie di viaggio ai loro intermediari
add_value("VJ05.2", iva); // VJ5.1 Provvigioni corrisposte dalle agenzie di viaggio ai loro intermediari
break;
case 6:
add_value("VJ06.1", imp); // VJ6.1 Acquisti all<6C>interno di beni di cui all<6C>art. 74, commi 7 e 8
add_value("VJ6.2", iva); // VJ6.2 Acquisti all<6C>interno di beni di cui all<6C>art. 74, commi 7 e 8
case 7:
add_value("VJ07.1", imp); // VJ7.1 Acquisti all<6C>interno di oro industriale e argento puro (art. 17, comma 5)
add_value("VJ07.2", iva); // VJ7.2 Acquisti all<6C>interno di oro industriale e argento puro (art. 17, comma 5)
break;
case 8:
add_value("VJ08.1", imp); // VJ8.1 Acquisti di oro da investimento imponibile per opzione (art. 17, comma 5)
add_value("VJ08.2", iva); // VJ8.1 Acquisti di oro da investimento imponibile per opzione (art. 17, comma 5)
break;
case 9:
add_value("VJ09.1", imp); // VJ9.1 Acquisti intracomunitari di beni (inclusi acquisti di oro industriale, argento puro e beni di cui all<6C>art. 74, commi 7 e 8)
add_value("VJ09.2", iva); // VJ9.2 Acquisti intracomunitari di beni (inclusi acquisti di oro industriale, argento puro e beni di cui all<6C>art. 74, commi 7 e 8)
break;
case 10:
add_value("VJ10.1", imp); // VJ10.1 Importazioni di beni di cui all<6C>art. 74, commi 7 e 8 senza pagamento dell<6C>IVA in dogana (art. 70, comma 6)
add_value("VJ10.2", iva); // VJ10.2 Importazioni di beni di cui all<6C>art. 74, commi 7 e 8 senza pagamento dell<6C>IVA in dogana (art. 70, comma 6)
add_value("VJ09.1", imp); // VJ9.1 Acquisti intracomunitari di beni (inclusi acquisti di oro industriale, argento puro e beni di cui all<6C>art. 74, commi 7 e 8)
add_value("VJ09.2", iva); // VJ9.2 Acquisti intracomunitari di beni (inclusi acquisti di oro industriale, argento puro e beni di cui all<6C>art. 74, commi 7 e 8)
break;
case 12:
// add_value("VJ12.1", imp); // VJ12.1 Acquisti di tartufi da rivenditori dilettanti ed occasionali non muniti di partita IVA (art. 1, comma 109, legge n. 311/2004) non esiste pi<70> il campo
// add_value("VJ12.2", iva); // VJ12.2 Acquisti di tartufi da rivenditori dilettanti ed occasionali non muniti di partita IVA (art. 1, comma 109, legge n. 311/2004)
break;
case 13:
add_value("VJ12.1", imp); // VJ13.1 Acquisti di servizi resi da subappaltatori nel settore edile (art. 17, comma 6, lett. a)
add_value("VJ12.2", iva); // VJ13.2 Acquisti di servizi resi da subappaltatori nel settore edile (art. 17, comma 6, lett. a)
break;
case 14:
add_value("VJ13.1", imp); // VJ14.1 Acquisti di fabbricati (art. 17, comma 6, lett. a-bis)
add_value("VJ13.2", iva); // VJ14.2 Acquisti di fabbricati (art. 17, comma 6, lett. a-bis)
break;
case 15:
add_value("VJ14.1", imp); // VJ15.1 Acquisti di telefoni cellulari (art. 17, comma 6, lett. b)
add_value("VJ14.2", iva); // VJ15 2 Acquisti di telefoni cellulari (art. 17, comma 6, lett. b)
break;
case 16:
add_value("VJ15.1", imp); // VJ16.1 Acquisti di prodotti elettronici (art. 17, comma 6, lett. c)
add_value("VJ15.2", iva); // VJ16.2 Acquisti di prodotti elettronici (art. 17, comma 6, lett. c)
break;
case 17:
add_value("VJ16.1", imp); // VJ17.1 Acquisti di servizi del comparto edile e settori connessi (art. 17, comma 6, lett. a-ter)
add_value("VJ16.2", iva); // VJ17.2 Acquisti di servizi del comparto edile e settori connessi (art. 17, comma 6, lett. a-ter)
break;
case 18:
add_value("VJ17.1", imp); // VJ18.1 Acquisti di beni e servizi del settore energetico (art. 17, comma 6, lett. d-bis, d-ter e d-quater)
add_value("VJ17.2", iva); // VJ18.2 Acquisti di beni e servizi del settore energetico (art. 17, comma 6, lett. d-bis, d-ter e d-quater)
break;
case 19:
add_value("VJ18.1", imp); // VJ11.1 intracomunitari di beni di oro diverso dall<6C>oro da investimento (c.d. oro industriale) e di argento puro
add_value("VJ18.2", iva); // VJ11.2 intracomunitari di beni di oro diverso dall<6C>oro da investimento (c.d. oro industriale) e di argento puro
break;
case 50:
add_value("VJ11.1", imp); // VJ11.1 intracomunitari di beni di oro diverso dall<6C>oro da investimento (c.d. oro industriale) e di argento puro
add_value("VJ11.2", iva); // VJ11.2 intracomunitari di beni di oro diverso dall<6C>oro da investimento (c.d. oro industriale) e di argento puro
add_value("VJ09.1", imp); // VJ09.1 Acquisti intracomunitari di beni (inclusi acquisti di oro industriale, argento puro e beni di cui all<6C>art. 74, commi 7 e 8)
add_value("VJ09.2", iva); // VJ09.2 Acquisti intracomunitari di beni (inclusi acquisti di oro industriale, argento puro e beni di cui all<6C>art. 74, commi 7 e 8)
break;
default:
break;
}
}
}
class TQuadro_VJ_app : public TQuadro_IVA_app
{
protected:
virtual void load_sheet(TSheet_field & sf);
public:
virtual TQuadro_IVA_recordset * app_recordset(const char* use, const int year) { return new TQuadro_VJ_recordset(mask(), use, year); }
TQuadro_VJ_app() : TQuadro_IVA_app("Stampa Quadro VJ", "cg7800a") {}
virtual ~TQuadro_VJ_app() {}
};
void TQuadro_VJ_app::load_sheet(TSheet_field & sf)
{
TToken_string & row1 = sf.row(sf.items()); row1.add("|1|Quadro VJ - VJ1 - VJ16|cg7800b");
}
int cg7800(int argc, char* argv[])
{
TQuadro_VJ_app a;
a.run(argc, argv, TR("Quadro VJ"));
return 0;
}