// Programma per la stampa del quadro VE #include #include #include #include "cg7401.h" #include "cgpim.h" #include "cg7400a.h" #include "rmoviva.h" #define REP_QUADRO 1 enum tipo_sospensione { nessuna, 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à del Vaticano e dalla Repubblica di San Marino – art. 71, comma 2 – (inclusi acquisti di oro industriale,argento puro e beni di cui all’art. 74, commi 7 e 8) add_value("VJ01.2", iva); // VJ1.2 Acquisti di beni provenienti dallo Stato Città del Vaticano e dalla Repubblica di San Marino – art. 71, comma 2 – (inclusi acquisti di oro industriale,argento puro e beni di cui all’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’art. 17, comma 2 add_value("VJ03.2", iva); // VJ3.2 Acquisti di beni e servizi da soggettIi non residenti ai sensi dell’art. 17, comma 2 break; case 4: add_value("VJ04.1", imp); // VJ4.1 Operazioni di cui all’art. 74, comma 1, lett. e) add_value("VJ04.2", iva); // VJ4.2 Operazioni di cui all’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’interno di beni di cui all’art. 74, commi 7 e 8 add_value("VJ6.2", iva); // VJ6.2 Acquisti all’interno di beni di cui all’art. 74, commi 7 e 8 case 7: add_value("VJ07.1", imp); // VJ7.1 Acquisti all’interno di oro industriale e argento puro (art. 17, comma 5) add_value("VJ07.2", iva); // VJ7.2 Acquisti all’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’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’art. 74, commi 7 e 8) break; case 10: add_value("VJ10.1", imp); // VJ10.1 Importazioni di beni di cui all’art. 74, commi 7 e 8 senza pagamento dell’IVA in dogana (art. 70, comma 6) add_value("VJ10.2", iva); // VJ10.2 Importazioni di beni di cui all’art. 74, commi 7 e 8 senza pagamento dell’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’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’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ù 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’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’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’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’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’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’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; }