From 312f9d883bc5a45bf5c7bacfa568fbdd4c7e0443 Mon Sep 17 00:00:00 2001 From: luca Date: Wed, 11 May 2005 17:29:14 +0000 Subject: [PATCH] Patch level :2.2 nopatch Files correlati : Ricompilazione Demo : [ ] Commento :primissima stesura stampa mastrini anali (non stampa ancora nulla!) git-svn-id: svn://10.65.10.50/trunk@13077 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ca/ca1.h | 2 +- ca/ca2.h | 5 ++ ca/ca3.cpp | 15 +++++ ca/ca3.h | 7 +++ ca/ca3200.cpp | 166 +++++++++++++++++++++++++++++++++++++++++++++++++ ca/ca3200a.h | 31 +++++++++ ca/ca3200a.uml | 151 ++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 376 insertions(+), 1 deletion(-) create mode 100755 ca/ca3.cpp create mode 100755 ca/ca3.h create mode 100755 ca/ca3200.cpp create mode 100755 ca/ca3200a.h create mode 100755 ca/ca3200a.uml diff --git a/ca/ca1.h b/ca/ca1.h index 0bf1f63c6..cb700ce72 100755 --- a/ca/ca1.h +++ b/ca/ca1.h @@ -7,4 +7,4 @@ int ca1500(int argc, char* argv[]); int ca1600(int argc, char* argv[]); int ca1700(int argc, char* argv[]); -#endif // __CA0_H +#endif // __CA1_H diff --git a/ca/ca2.h b/ca/ca2.h index 0b7316dc2..6e8488cf0 100755 --- a/ca/ca2.h +++ b/ca/ca2.h @@ -1,3 +1,8 @@ +#ifndef __CA2_H +#define __CA2_H + int ca2100(int argc, char* argv[]); int ca2200(int argc, char* argv[]); int ca2300(int argc, char* argv[]); + +#endif // __CA2_H diff --git a/ca/ca3.cpp b/ca/ca3.cpp new file mode 100755 index 000000000..d1c511f1f --- /dev/null +++ b/ca/ca3.cpp @@ -0,0 +1,15 @@ +#include + +#include "ca3.h" + +int main(int argc, char** argv) +{ + const int r = (argc > 1) ? argv[1][1] - '0' : 0; + switch (r) + { + case 1: ca3200(argc,argv); break; // stampa mastrini + default: ca3200(argc,argv); break; // stampa movimenti + } + exit(0); + return 0; +} diff --git a/ca/ca3.h b/ca/ca3.h new file mode 100755 index 000000000..8f5794772 --- /dev/null +++ b/ca/ca3.h @@ -0,0 +1,7 @@ +#ifndef __CA3_H +#define __CA3_H + +//int ca3100(int argc, char* argv[]); +int ca3200(int argc, char* argv[]); + +#endif // __CA3_H diff --git a/ca/ca3200.cpp b/ca/ca3200.cpp new file mode 100755 index 000000000..597bc2b95 --- /dev/null +++ b/ca/ca3200.cpp @@ -0,0 +1,166 @@ +#include +#include +#include + +#include "ca3.h" +#include "ca3200a.h" +#include "calib01.h" +#include "calib02.h" + +//////////////////////////////////////////////////////// +// MASCHERA +//////////////////////////////////////////////////////// +class TPrint_mastrini_ca_mask : public TAutomask +{ +protected: + bool on_field_event(TOperable_field& o, TField_event e, long jolly) {return true;} + void create_page2(); + int create_page2_fields(int lf, int& y, short& dlg, bool required); +public: + TPrint_mastrini_ca_mask(); + virtual ~TPrint_mastrini_ca_mask() {} +}; + + +int TPrint_mastrini_ca_mask::create_page2_fields(int lf, int& y, short& dlg, bool required) +{ + const int cdc_des_offset = F_DES1_INI - F_CDC1_INI; + const int ini_fin_offset = F_CDC1_FIN - F_CDC1_INI; + + const int h = ca_create_fields(*this, 1, lf, 1, y, dlg, dlg+cdc_des_offset); + ca_create_fields(*this, 1, lf, 1, y+12, dlg+ini_fin_offset , dlg+cdc_des_offset+ini_fin_offset); + + for (int i = 0; i < h; i++) + { + TEdit_field& fld = efield(dlg+i); + int logic = lf; + if (logic == LF_FASI) + { + const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI); + if (fasinfo.parent() != 0) + { + const TMultilevel_code_info& parinfo = ca_multilevel_code_info(fasinfo.parent()); + if (i < parinfo.levels()) + logic = fasinfo.parent(); + } + } + + TMask_field& da = field(dlg + i); + da.set_group(1); + TMask_field& a = field(dlg + i + ini_fin_offset); + a.set_group(2); + } + + y += h; + dlg += h; + + return h; +} + +void TPrint_mastrini_ca_mask::create_page2() +{ + const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI); + + TConfig_anal ini; + const bool fsc_req = ini.get_bool("FscRequired"); + + int y = 1; + short dlg = F_CDC1_INI + 100; // id del primo campo da generare + + for (int i = 0; i < 2; i++) + { + const TString& level = ini.get("Level", NULL, i+1); // Legge il livello 1 o 2 + if (level == "CDC") // Crea centro di costo + { + if (fasinfo.parent() == LF_CDC) + create_page2_fields(LF_FASI, y, dlg, fsc_req); + else + { + const bool cdc_req = ini.get_bool("CdcRequired"); + create_page2_fields(LF_CDC, y, dlg, cdc_req); + } + } else + if (level == "CMS") // Crea commessa + { + if (fasinfo.parent() == LF_COMMESSE) + create_page2_fields(LF_FASI, y, dlg, fsc_req); + else + { + const bool cms_req = ini.get_bool("CmsRequired"); + create_page2_fields(LF_COMMESSE, y, dlg, cms_req); + } + } + } + + if (fasinfo.levels() > 0 && fasinfo.parent() <= 0) + create_page2_fields(LF_FASI, y, dlg, fsc_req); +} + + +TPrint_mastrini_ca_mask::TPrint_mastrini_ca_mask() + :TAutomask("ca3200a") +{ + TConfig_anal cfg; + const bool use_pdcc = cfg.get_bool("UsePdcc"); + + const int logicnum = use_pdcc ? LF_PCON : LF_PCONANA; + const int nfields = ca_create_fields(*this, 0, logicnum, 2, 5, F_CDC1_INI, F_DES1_INI, 0x0, "#DACONTO"); + ca_create_fields(*this, 0, logicnum, 2, 5+nfields+2, F_CDC1_FIN, F_DES1_FIN, 0x0, "#ACONTO"); + + for (int i = 0; i < nfields; i++) + { + TMask_field& daconto = field(F_CDC1_INI + i); + daconto.set_group(1); + daconto.check_type(CHECK_NORMAL); + TMask_field& aconto = field(F_CDC1_FIN + i); + aconto.set_group(2); + aconto.check_type(CHECK_NORMAL); + } + // creazione dei campi della seconda pagina della maschera + create_page2(); +} + + +//////////////////////////////////////////////////////// +// APPLICAZIONE +//////////////////////////////////////////////////////// +class TPrint_mastrini_ca : public TSkeleton_application +{ + TPrint_mastrini_ca_mask * _mask; + +protected: + bool create(); + bool destroy(); + +public: + virtual void main_loop(); +}; + +bool TPrint_mastrini_ca::create() +{ + _mask = new TPrint_mastrini_ca_mask; + return TSkeleton_application::create(); +} + +bool TPrint_mastrini_ca::destroy() +{ + delete _mask; + return TSkeleton_application::destroy(); +} + +void TPrint_mastrini_ca::main_loop() +{ + while (_mask->run() == K_ENTER) + { + //costruzione del ciclo di scansione principale in base ai parametri della maschera + + const int anno = _mask->get_int(F_ANNO); + } +} + +int ca3200(int argc, char* argv[]) +{ + TPrint_mastrini_ca a; + a.run(argc, argv, TR("Stampa mastrini")); + return 0; +} \ No newline at end of file diff --git a/ca/ca3200a.h b/ca/ca3200a.h new file mode 100755 index 000000000..da8e31a4c --- /dev/null +++ b/ca/ca3200a.h @@ -0,0 +1,31 @@ +#ifndef __CA3200_H +#define __CA3200_H + +//pag. stampa mastrini +#define F_CODDITTA 101 +#define F_RAGSOC 102 +#define F_DATASTAMPA 103 +#define F_ANNO 104 + +//campi generati dal pdc +#define F_CDC1_INI 106 +#define F_CDC12_INI 121 +#define F_CDC1_FIN 126 +#define F_CDC12_FIN 141 +#define F_DES1_INI 146 +#define F_DES12_INI 161 +#define F_DES1_FIN 166 +#define F_DES12_FIN 181 + +//campi sulla maschera +#define F_DATAINI 200 +#define F_DATAFINE 201 +#define F_STAMPA_PROG_ATT 202 +#define F_STAMPA_SALDI_PROG 203 +#define F_STAMPA_SALDI_SCAL 204 +#define F_SELEZ_STAMPA 205 + +#define F_MEMORIZZA 300 + +#endif // __CA3200_H + diff --git a/ca/ca3200a.uml b/ca/ca3200a.uml new file mode 100755 index 000000000..b2d8d2a38 --- /dev/null +++ b/ca/ca3200a.uml @@ -0,0 +1,151 @@ +#include "ca3200a.h" + +TOOLBAR "" 0 -2 0 2 + +BUTTON DLG_PRINT 18 2 +BEGIN + PROMPT -13 -11 "~Stampa" + MESSAGE EXIT,K_ENTER +END + +BUTTON F_MEMORIZZA 18 2 +BEGIN + PROMPT -23 -11 "~Memorizza scelte" +END + +BUTTON DLG_QUIT 18 2 +BEGIN + PROMPT -33 -11 "" +END + +ENDPAGE + +PAGE "Pagina 1" -1 -1 78 20 + +NUMBER F_CODDITTA 5 +BEGIN + PROMPT 1 1 "Ditta " + FLAGS "FRD" + USE LF_NDITTE KEY 1 + CHECKTYPE REQUIRED + INPUT CODDITTA F_CODDITTA + DISPLAY "Codice" CODDITTA + DISPLAY "Ragione sociale @50" RAGSOC + OUTPUT F_CODDITTA CODDITTA + OUTPUT F_RAGSOC RAGSOC +END + +STRING F_RAGSOC 50 +BEGIN + PROMPT 15 1 "" + FLAGS "D" +END + +DATE F_DATASTAMPA +BEGIN + PROMPT 1 2 "Data di stampa " + FLAGS "A" +END + +NUMBER F_ANNO 4 +BEGIN + PROMPT 49 2 "Esercizio " + USE ESC + INPUT CODTAB F_ANNO + DISPLAY "Codice Esercizio" CODTAB + DISPLAY "Data inizio esercizio" D0 + DISPLAY "Data fine esercizio " D1 + OUTPUT F_ANNO CODTAB + CHECKTYPE NORMAL + CHECKTYPE NORMAL + MESSAGE HIDE,98|HIDE,99|SHOW,96|SHOW,97 + MESSAGE EMPTY HIDE,96|HIDE,97|SHOW,98|SHOW,99 + FLAGS "RZ" + ADD NONE +END + +GROUPBOX DLG_NULL 76 6 +BEGIN + PROMPT 1 4 "@bDa:" +END + +GROUPBOX DLG_NULL 76 6 +BEGIN + PROMPT 1 10 "@bA:" +END + +GROUPBOX DLG_NULL 76 7 +BEGIN + PROMPT 1 16 "@bOpzioni stampa" +END + +TEXT 96 +BEGIN + PROMPT 2 17 "Dalla data competenza" +END + +TEXT 97 +BEGIN + PROMPT 40 17 "Alla data competenza " +END + +TEXT 98 +BEGIN + PROMPT 2 17 "Dalla data operazione " +END + +TEXT 99 +BEGIN + PROMPT 40 17 "Alla data operazione " +END + +DATE F_DATAINI +BEGIN + PROMPT 26 17 "" +END + +DATE F_DATAFINE +BEGIN + PROMPT 62 17 "" +END + +BOOLEAN F_STAMPA_PROG_ATT +BEGIN + PROMPT 2 18 "Stampa progressivi attuali" +END + +BOOLEAN F_STAMPA_SALDI_PROG +BEGIN + PROMPT 2 19 "Stampa saldi progressivi" +END + +BOOLEAN F_STAMPA_SALDI_SCAL +BEGIN + PROMPT 2 20 "Stampa saldo scalare" +END + +LIST F_SELEZ_STAMPA 34 +BEGIN + PROMPT 2 21 "Selezione mastrini " + ITEM "1|Movimentati nel periodo" + ITEM "2|Con saldo diverso da 0" + ITEM "3|Tutti" +END + +ENDPAGE + +PAGE "Pagina 2" -1 -1 78 20 + +GROUPBOX DLG_NULL 76 12 +BEGIN + PROMPT 0 0 "@bDa:" +END + +GROUPBOX DLG_NULL 76 12 +BEGIN + PROMPT 0 12 "@bA:" +END + +ENDPAGE + +ENDMASK