diff --git a/src/cg/cg7.cpp b/src/cg/cg7.cpp index 158265fb1..d318a0d64 100755 --- a/src/cg/cg7.cpp +++ b/src/cg/cg7.cpp @@ -12,7 +12,7 @@ int main(int argc,char** argv) case 0: cg7100(argc, argv); break; // gestore stampe generico modulo FE (stampe particolari CG) case 1: cg7200(argc, argv); break; // lista fatture per imponibile case 2: cg7300(argc, argv); break; // gestore tabelle di modulo CG - case 3: cg7400(argc,argv); break; // Quadro VC + case 3: cg7400(argc,argv); break; // Quadro VA- VB case 5: cg7600(argc,argv); break; // Quadro VE case 6: cg7700(argc,argv); break; // Quadro VF case 7: cg7800(argc,argv); break; // Quadro VJ diff --git a/src/cg/cg7400.cpp b/src/cg/cg7400.cpp index cc1830363..e5de46233 100644 --- a/src/cg/cg7400.cpp +++ b/src/cg/cg7400.cpp @@ -1,52 +1,121 @@ // Programma per la stampa del quadro VC #include +#include + +#include +#include +#include +#include +#include #include "cg7401.h" #include "cg7400a.h" -class TQuadro_VC_recordset : public TQuadro_IVA_recordset +class TQuadro_VIAB_recordset : public TQuadro_IVA_recordset { protected: virtual void load(); public: - TQuadro_VC_recordset(TQuadro_IVA_mask * mask, const char* use, const int year) : TQuadro_IVA_recordset(mask, use, year) { load(); } - virtual ~TQuadro_VC_recordset() {} + TQuadro_VIAB_recordset(TQuadro_IVA_mask * mask, const char* use, const int year) : TQuadro_IVA_recordset(mask, use, year) { load(); } + virtual ~TQuadro_VIAB_recordset() {} }; -void TQuadro_VC_recordset::load() +void TQuadro_VIAB_recordset::load() { - TArray _aliquote; - TArray _codiva; + const TRectype & ditta = cache().get(LF_NDITTE, app().get_firm()); + const TString4 tipoa(ditta.get(NDT_TIPOA)); + const long codanagr = ditta.get_long(NDT_CODANAGR); + TToken_string key(tipoa); key.add(codanagr); + const TRectype & anagr = cache().get(LF_ANAG, key); - TTable pem("PEM"); - TString16 key; + set_bool("VI1.1", mask().get(F_TIPODICH) == "I"); + set_bool("VI1.2", mask().get(F_TIPODICH) == "C"); - key.format("%04d00", year()); - pem.put("CODTAB", key); - int err = pem.read(); - + set("VI2", anagr.get(ANA_PAIV)); + set_bool("VI2.1", ditta.get_bool(NDT_ARTIG)); + // set_bool("VI2.2", ditta.get_bool(NDT_CONC)); aggiungere + set("VI2.3", ditta.get(NDT_MAIL)); + set("VI2.4", ditta.get(NDT_PTEL)); + set("VI2.5", ditta.get(NDT_TEL)); + set("VI2.6", ditta.get(NDT_PFAX)); + set("VI2.7", ditta.get(NDT_FAX)); - if (err == NOERR) - { - } - else - warning_box(FR("Risultati liquidazione non presenti o da ricalcolare per l'anno %d."), year()); -} + if (tipoa == "F") + { + const TRectype & anafis = cache().get(LF_ANAGFIS, codanagr); + const TString16 datanasc = anafis.get(ANF_DATANASC); + const TRectype & comuni = cache().get(LF_COMUNI, anafis.get(ANF_COMNASC)); + + set("VI3.1", anagr.get(ANA_RAGSOC).left(30)); + set("VI3.2", anagr.get(ANA_RAGSOC).mid(30)); + set_bool("VI3.3",anafis.get(ANF_SESSO) == "M"); + set_bool("VI3.4", anafis.get(ANF_SESSO) == "F"); + set("VI3.5", datanasc.left(2)); + set("VI3.6", datanasc.mid(3)); + set("VI3.7", datanasc.right(4)); + set("VI3.8", comuni.get(COM_DENCOM)); + set("VI3.9", comuni.get(COM_PROVCOM)); + } + else + { + const TRectype & anagiu = cache().get(LF_ANAGGIU, codanagr); + set("VI3.10", anagr.get(ANA_RAGSOC)); + set("VI3.11", anagiu.get(ANG_NATGIU)); + } -class TQuadro_VC_app : public TQuadro_IVA_app + if (ditta.get(NDT_DICHP).full()) + { + const TRectype & anaint = cache().get(LF_ANAG, ditta.get(NDT_FIRMAT)); + const TRectype & anafis = cache().get(LF_ANAGFIS, ditta.get(NDT_FIRMAT)); + const TString16 datanasc = anafis.get(ANF_DATANASC); + const TString16 dataint = ditta.get(NDT_DECCARINT); + const TRectype & comuni = cache().get(LF_COMUNI, anafis.get(ANF_COMNASC)); + + set("VI4.1", anaint.get(ANA_COFI)); + // set("VI4.2", ditta.get(NDT_CARINT)); aggiungere carica intermediario + set("VI4.3", anagr.get(ANA_PAIV)); + set("VI4.4", anaint.get(ANA_RAGSOC).left(30)); + set("VI4.5", anaint.get(ANA_RAGSOC).mid(30)); + set_bool("VI4.6", anaint.get(ANF_SESSO) == "M"); + set_bool("VI4.7", anaint.get(ANF_SESSO) == "F"); + set("VI4.8", datanasc.left(2)); + set("VI4.9", datanasc.mid(3)); + set("VI4.10", datanasc.right(4)); + set("VI4.11", comuni.get(COM_DENCOM)); + set("VI4.12", comuni.get(COM_PROVCOM)); + set("VI8.1", anaint.get(ANA_COFI)); + set("VI8.1", anaint.get(ANA_COFI)); + set("VI8.5", dataint.left(2)); + set("VI8.6", dataint.mid(3)); + set("VI8.7", dataint.right(4)); + } + + set("VA2.1", ditta.get(NDT_CODATTPREV)); + set("VA10.1", anagr.get(ANA_EVECC)); + } + +class TQuadro_VIAB_app : public TQuadro_IVA_app { + virtual char last_quadro_report() const { return 'c'; } + public: - virtual TQuadro_IVA_recordset * app_recordset(const char* use, const int year) { return new TQuadro_VC_recordset(mask(), use, year); } - TQuadro_VC_app() : TQuadro_IVA_app("Stampa Quadro VC", "cg7400a") {} - virtual ~TQuadro_VC_app() {} + virtual TQuadro_IVA_recordset * app_recordset(const char* use, const int year) { return new TQuadro_VIAB_recordset(mask(), use, year); } + void load_sheet(TSheet_field & sf); + + TQuadro_VIAB_app() : TQuadro_IVA_app("Stampa Quadro VC", "cg7400a") {} + virtual ~TQuadro_VIAB_app() {} }; +void TQuadro_VIAB_app::load_sheet(TSheet_field & sf) +{ +} + int cg7400(int argc, char* argv[]) { - TQuadro_VC_app a; + TQuadro_VIAB_app a; a.run(argc, argv, TR("Quadro VC")); return 0; } \ No newline at end of file diff --git a/src/cg/cg7400a.h b/src/cg/cg7400a.h index 3f737dae5..3c3026333 100644 --- a/src/cg/cg7400a.h +++ b/src/cg/cg7400a.h @@ -1,6 +1,8 @@ #define F_YEAR 201 -#define F_DITTE 202 -#define F_REPORTS 203 +#define F_TIPODICH 202 +#define F_DITTE 203 +#define F_REPORTS 204 + #define DLG_ALLFIRMS 251 #define DLG_ALLREPORTS 252 diff --git a/src/cg/cg7400a.uml b/src/cg/cg7400a.uml index 7b98f0836..6effa84a4 100644 --- a/src/cg/cg7400a.uml +++ b/src/cg/cg7400a.uml @@ -1,12 +1,18 @@ #include "cg7400a.h" - + TOOLBAR "Toolbar" 0 0 0 2 -#include +BUTTON DLG_ALLFIRMS 2 2 +BEGIN + PROMPT 2 1 "Tutte le ditte" + PICTURE TOOL_CHECK +END -ENDPAGE - -PAGE "Quadro VC" 0 0 0 0 +BUTTON DLG_ALLREPORTS 2 2 +BEGIN + PROMPT 2 1 "Tutte le stampe" + PICTURE TOOL_SETPRINT +END #include @@ -19,30 +25,32 @@ BEGIN PROMPT 3 2 "Anno " FLAGS "A-" END - -SPREADSHEET F_DITTE 66 8 + +LIST F_TIPODICH 1 22 BEGIN - PROMPT 7 4 " " + PROMPT 3 4 "Tipo di dichiarazione" + ITEM " |Normale" + ITEM "I|Integrativa" + ITEM "C|Correttiva nei termini" +END + +SPREADSHEET F_DITTE 66 7 +BEGIN + PROMPT 7 6 " " ITEM "" ITEM "Codice" ITEM "Ragione Sociale@50" END -SPREADSHEET F_REPORTS 83 10 +SPREADSHEET F_REPORTS 83 9 BEGIN - PROMPT 1 14 "" + PROMPT 1 15 "" ITEM "" ITEM "Codice" ITEM "Descrizione@60" ITEM "Nome@6" END -STRING F_DESREPORT 70 -BEGIN - PROMPT 8 11 "" - FLAGS "D" -END - ENDPAGE ENDMASK @@ -54,13 +62,16 @@ BEGIN PROMPT 3 2 "Selezionata" END -NUMBER S_CODDITTA +NUMBER S_CODDITTA 5 +BEGIN PROMPT 3 4 "Ditta " + FLAGS "D" END STRING S_RAGSOC 50 BEGIN PROMPT 20 4 "" + FLAGS "D" END ENDPAGE @@ -78,6 +89,9 @@ BEGIN END ENDPAGE + +ENDMASK + PAGE "Reports" -1 -1 78 6 BOOLEAN S_CHKREPORT @@ -88,12 +102,13 @@ END STRING S_CODEREPORT 2 BEGIN PROMPT 3 4 "Codice " - + FLAGS "D" END STRING S_NAMEREPORT 7 BEGIN PROMPT 3 6 "Report " + FLAGS "D" END STRING S_DESCREPORT 60 diff --git a/src/cg/cg7400c.png b/src/cg/cg7400c.png index b28af7f3e..5f1b87673 100644 Binary files a/src/cg/cg7400c.png and b/src/cg/cg7400c.png differ diff --git a/src/cg/cg7401.cpp b/src/cg/cg7401.cpp index 92d291e11..3f999cf6e 100644 --- a/src/cg/cg7401.cpp +++ b/src/cg/cg7401.cpp @@ -205,22 +205,22 @@ const TVariant& TQuadro_IVA_recordset::get(const char* column_name) const TObject * obj = _values.objptr(name); TVariant & var = get_tmp_var(); var == NULL_VARIANT; - if (obj != NULL) - { - TObject * typeobj = _types.objptr(name); + if (obj != nullptr) + { + TObject * typeobj = _types.objptr(name); - if (typeobj != NULL && ((TString &) *typeobj) == "real") - { - real * value = (real *) obj; - - value->round(0); - var = *value; - } - else - var = (TString &) *obj; - } - else - var = ZERO; + if (typeobj != nullptr && ((TString &)*typeobj) == "real") + { + real * value = (real *)obj; + + value->round(0); + var = *value; + } + else + var = (TString &)*obj; + } + else + var = EMPTY_STRING; return var; } @@ -231,7 +231,7 @@ void TQuadro_IVA_recordset::add_value(const char *s, real value) { real * val = (real *)_values.objptr(s); - if (val == NULL) + if (val == nullptr) { const TString8 key(s); _values.add(key, val = new real); @@ -244,7 +244,7 @@ void TQuadro_IVA_recordset::set_bool(const char *s, bool on) { TString * val = (TString *)_values.objptr(s); - if (val == NULL) + if (val == nullptr) { const TString8 key(s); _values.add(key, val = new TString4); @@ -252,6 +252,17 @@ void TQuadro_IVA_recordset::set_bool(const char *s, bool on) *val = on ? "X" : ""; } +void TQuadro_IVA_recordset::set(const char *s, const char * value) +{ + TString * val = (TString *)_values.objptr(s); + + if (val == nullptr) + { + const TString8 key(s); + _values.add(key, val = new TString); + } + *val = value; +} TQuadro_IVA_report::TQuadro_IVA_report(const char * report_name) { load(report_name); diff --git a/src/cg/cg7401.h b/src/cg/cg7401.h index 49fc463d2..c81b67c59 100644 --- a/src/cg/cg7401.h +++ b/src/cg/cg7401.h @@ -42,8 +42,10 @@ class TQuadro_IVA_recordset : public TISAM_recordset int _year; protected: + const TMask & mask() { return *_mask; } void add_value(const char *s, real value); void set_bool(const char *s, bool on = false); + void set(const char *s,const char * value); virtual void load() pure; virtual const TVariant& get(const char* column_name) const; void clear() { _values.destroy(); _types.destroy(); } diff --git a/src/cg/cg7600.cpp b/src/cg/cg7600.cpp index a9e65fcbd..517230d90 100644 --- a/src/cg/cg7600.cpp +++ b/src/cg/cg7600.cpp @@ -22,8 +22,6 @@ #define REP_TERREM 10 #define REP_PAART17 11 -enum tipo_sospensione { nessuna, sospenzione_normale, vol_affari, liquidazione }; - class TQuadro_VE_recordset : public TQuadro_IVA_recordset { protected: @@ -45,26 +43,28 @@ void TQuadro_VE_recordset::load() imponibile_agricolo.add("2.00", TString8("VE01.1")); imposta_agricola.add("2.00", TString8("VE01.2")); - imponibile_agricolo.add("4,00", TString8("VE02.2")); - imposta_agricola.add("4,00", TString8("VE02.2")); - imponibile_agricolo.add("7.30", TString8("V03.1")); - imposta_agricola.add("7.30", TString8("VE03.2")); - imponibile_agricolo.add("7.50", TString8("VE04.1")); - imposta_agricola.add("7.50", TString8("VE04.2")); - imponibile_agricolo.add("7.65", TString8("VE05.1")); - imposta_agricola.add("7.65", TString8("VE05.2")); - imponibile_agricolo.add("7.95", TString8("VE06.1")); + imponibile_agricolo.add("4.00", TString8("VE02.2")); + imposta_agricola.add("4.00", TString8("VE02.2")); + imponibile_agricolo.add("6.00", TString8("V03.1")); + imposta_agricola.add("6.00", TString8("VE03.2")); + imponibile_agricolo.add("7.30", TString8("V04.1")); + imposta_agricola.add("7.30", TString8("VE04.2")); + imponibile_agricolo.add("7.50", TString8("VE05.1")); + imposta_agricola.add("7.50", TString8("VE05.2")); + imponibile_agricolo.add("7.65", TString8("VE06.1")); imposta_agricola.add("7.65", TString8("VE06.2")); - imponibile_agricolo.add("8.30", TString8("VE07.1")); - imposta_agricola.add("8.30", TString8("VE07.2")); - imponibile_agricolo.add("8,50", TString8("VE08.1")); - imposta_agricola.add("8,50", TString8("VE08.2")); - imponibile_agricolo.add("8.80", TString8("VE09.1")); - imposta_agricola.add("8.80", TString8("VE09.2")); - imponibile_agricolo.add("10.00", TString8("VE10.1")); - imposta_agricola.add("10.00", TString8("VE10.2")); - imponibile_agricolo.add("12.30", TString8("VE11.1")); - imposta_agricola.add("12.30", TString8("VE11.2")); + imponibile_agricolo.add("7.95", TString8("VE07.1")); + imposta_agricola.add("7.65", TString8("VE07.2")); + imponibile_agricolo.add("8.30", TString8("VE08.1")); + imposta_agricola.add("8.30", TString8("VE08.2")); + imponibile_agricolo.add("8,50", TString8("VE09.1")); + imposta_agricola.add("8,50", TString8("VE09.2")); + imponibile_agricolo.add("8.80", TString8("VE10.1")); + imposta_agricola.add("8.80", TString8("VE10.2")); + imponibile_agricolo.add("10.00", TString8("VE11.1")); + imposta_agricola.add("10.00", TString8("VE11.2")); + imponibile_agricolo.add("12.30", TString8("VE12.1")); + imposta_agricola.add("12.30", TString8("VE12.2")); imponibile.add("4.00", TString8("VE20.1")); imposta.add("4.00", TString8("VE20.2")); diff --git a/src/cg/cg7600a.rep b/src/cg/cg7600a.rep index 66a30fea1..979c8001c 100644 --- a/src/cg/cg7600a.rep +++ b/src/cg/cg7600a.rep @@ -1,209 +1,215 @@ - + Stampa quadro VE -
-
-
- +