Patch level :2.2 nopatch
Files correlati : Ricompilazione Demo : [ ] Commento :aggiunto scheletro stampa bilancio. Non funziona ancora lo sheet nella pagina 2 (problema nella ca_create_fields() della create_page2_sheet() git-svn-id: svn://10.65.10.50/trunk@13079 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									312f9d883b
								
							
						
					
					
						commit
						8af42db24f
					
				| @ -8,6 +8,7 @@ int main(int argc, char** argv) | ||||
|   switch (r) | ||||
|   { | ||||
| 		case 1: ca3200(argc, argv); break;	// stampa mastrini
 | ||||
| 		case 2: ca3300(argc, argv); break;	// stampa bilancio
 | ||||
| 		default: ca3200(argc, argv); break; // stampa movimenti
 | ||||
|   } | ||||
|   exit(0); | ||||
|  | ||||
							
								
								
									
										1
									
								
								ca/ca3.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								ca/ca3.h
									
									
									
									
									
								
							| @ -3,5 +3,6 @@ | ||||
| 
 | ||||
| //int ca3100(int argc, char* argv[]);
 | ||||
| int ca3200(int argc, char* argv[]); | ||||
| int ca3300(int argc, char* argv[]); | ||||
| 
 | ||||
| #endif // __CA3_H
 | ||||
|  | ||||
| @ -2,6 +2,8 @@ | ||||
| #include <execp.h> | ||||
| #include <reprint.h> | ||||
| 
 | ||||
| #include "rmovana.h" | ||||
| 
 | ||||
| #include "ca3.h" | ||||
| #include "ca3200a.h" | ||||
| #include "calib01.h" | ||||
| @ -15,20 +17,19 @@ 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); | ||||
| 	int create_page2_sheet(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) | ||||
| int TPrint_mastrini_ca_mask::create_page2_sheet(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; | ||||
| 	TSheet_field& sf = sfield(F_RIGHE); | ||||
|   TMask& sm = sf.sheet_mask(); | ||||
| 
 | ||||
|   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); | ||||
|   const int h = ca_create_fields(sm, 1, lf, 1, y, dlg, dlg+50); | ||||
| //	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++) | ||||
|   { | ||||
| @ -45,13 +46,30 @@ int TPrint_mastrini_ca_mask::create_page2_fields(int lf, int& y, short& dlg, boo | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     const char* fieldname = NULL; | ||||
|     switch(logic) | ||||
|     { | ||||
|     case LF_CDC     : fieldname = RMOVANA_CODCCOSTO; break; | ||||
|     case LF_COMMESSE: fieldname = RMOVANA_CODCMS;   break; | ||||
|     case LF_FASI    : fieldname = RMOVANA_CODFASE;  break; | ||||
|     default         : fieldname = RMOVANA_CODCONTO; break; | ||||
|     } | ||||
|     TFieldref* f = (TFieldref*)fld.field(); | ||||
|     f->set_name(fieldname); | ||||
|      | ||||
|     fld.check_type(required ? CHECK_REQUIRED : CHECK_NORMAL); | ||||
| 
 | ||||
|     TEdit_field& dfld = efield(dlg+50+i); | ||||
|     dfld.set_field(EMPTY_STRING); // Toglie campi che fan saltare gli output!
 | ||||
| 
 | ||||
| 		//settaggio dei gruppi
 | ||||
| 		TMask_field& da = field(dlg + i); | ||||
| 		da.set_group(1); | ||||
| 		TMask_field& a = field(dlg + i + ini_fin_offset); | ||||
| 		TMask_field& a = field(dlg + i + 50); | ||||
| 		a.set_group(2); | ||||
|   } | ||||
| 
 | ||||
|   y += h; | ||||
|   y += h+1; | ||||
|   dlg += h; | ||||
| 
 | ||||
|   return h; | ||||
| @ -59,13 +77,17 @@ int TPrint_mastrini_ca_mask::create_page2_fields(int lf, int& y, short& dlg, boo | ||||
| 
 | ||||
| void TPrint_mastrini_ca_mask::create_page2() | ||||
| { | ||||
| 	TSheet_field& sf = sfield(F_RIGHE); | ||||
|   TMask& sm = sf.sheet_mask(); | ||||
|   sm.hide(-1); | ||||
| 
 | ||||
|   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
 | ||||
|   int y = 3; | ||||
|   short dlg = S_CDC1 + 100; // id del primo campo da generare
 | ||||
| 
 | ||||
|   for (int i = 0; i < 2; i++) | ||||
|   { | ||||
| @ -73,27 +95,47 @@ void TPrint_mastrini_ca_mask::create_page2() | ||||
|     if (level == "CDC")                                  // Crea centro di costo 
 | ||||
|     { | ||||
|       if (fasinfo.parent() == LF_CDC) | ||||
|         create_page2_fields(LF_FASI, y, dlg, fsc_req); | ||||
|         create_page2_sheet(LF_FASI, y, dlg, fsc_req); | ||||
|       else | ||||
|       { | ||||
|         const bool cdc_req = ini.get_bool("CdcRequired"); | ||||
|         create_page2_fields(LF_CDC, y, dlg, cdc_req); | ||||
|         create_page2_sheet(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); | ||||
|         create_page2_sheet(LF_FASI, y, dlg, fsc_req); | ||||
|       else | ||||
|       { | ||||
|         const bool cms_req = ini.get_bool("CmsRequired"); | ||||
|         create_page2_fields(LF_COMMESSE, y, dlg, cms_req); | ||||
|         create_page2_sheet(LF_COMMESSE, y, dlg, cms_req); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   if (fasinfo.levels() > 0 && fasinfo.parent() <= 0) | ||||
|     create_page2_fields(LF_FASI, y, dlg, fsc_req); | ||||
|     create_page2_sheet(LF_FASI, y, dlg, fsc_req); | ||||
| 
 | ||||
| //ordinatore delle colonne	  
 | ||||
| /*  for (short id = S_CON4+100; id >= S_CDC1+100; id--)
 | ||||
|   { | ||||
|     const int pos = sm.id2pos(id); | ||||
|     if (pos >= 0) | ||||
|     { | ||||
|       TMask_field& f = sm.fld(pos); | ||||
|       const int size = f.size(); | ||||
|       const TString& prompt = f.prompt(); | ||||
|       sf.set_column_header(id, prompt); | ||||
|       sf.set_column_justify(id, f.is_kind_of(CLASS_REAL_FIELD)); | ||||
|       sf.set_column_width(id, (max(3+size, prompt.len()+1)) * CHARX); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|       sf.delete_column(id); | ||||
|     } | ||||
|   }*/ | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| @ -153,8 +195,6 @@ 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); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										64
									
								
								ca/ca3200a.h
									
									
									
									
									
								
							
							
						
						
									
										64
									
								
								ca/ca3200a.h
									
									
									
									
									
								
							| @ -1,31 +1,51 @@ | ||||
| #ifndef __CA3200_H | ||||
| #define __CA3200_H | ||||
| #ifndef __CA3200A_H | ||||
| #define __CA3200A_H | ||||
| 
 | ||||
| //pag. stampa mastrini
 | ||||
| #define F_CODDITTA						101 | ||||
| #define F_RAGSOC							102             | ||||
| #define F_DATASTAMPA					103 | ||||
| #define F_ANNO								104 | ||||
| #define F_CODDITTA						301 | ||||
| #define F_RAGSOC							302             | ||||
| #define F_DATASTAMPA					303 | ||||
| #define F_ANNO								304 | ||||
| 
 | ||||
| //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 | ||||
| #define	F_CDC1_INI						306 | ||||
| #define F_CDC12_INI						321 | ||||
| #define	F_CDC1_FIN						326 | ||||
| #define F_CDC12_FIN						341 | ||||
| #define	F_DES1_INI						346 | ||||
| #define F_DES12_INI						361 | ||||
| #define	F_DES1_FIN						366 | ||||
| #define F_DES12_FIN						381 | ||||
| 
 | ||||
| //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_DATAINI							390 | ||||
| #define F_DATAFINE						391 | ||||
| #define F_STAMPA_PROG_ATT			392 | ||||
| #define F_STAMPA_SALDI_PROG		393 | ||||
| #define F_STAMPA_SALDI_SCAL		394 | ||||
| #define F_SELEZ_STAMPA				395 | ||||
| 
 | ||||
| #define F_MEMORIZZA						300 | ||||
| #define F_MEMORIZZA						396 | ||||
| 
 | ||||
| #endif  // __CA3200_H
 | ||||
| //sheet di pagina 2
 | ||||
| #define F_RIGHE								400 | ||||
| 
 | ||||
| #define S_CDC1      101 | ||||
| #define S_CDC2      102 | ||||
| #define S_CDC3      103 | ||||
| #define S_CDC4      104 | ||||
| #define S_CMS1      105 | ||||
| #define S_CMS2      106 | ||||
| #define S_CMS3      107 | ||||
| #define S_CMS4      108 | ||||
| #define S_FAS1      109 | ||||
| #define S_FAS2      110 | ||||
| #define S_FAS3      111 | ||||
| #define S_FAS4      112 | ||||
| #define S_CON1      113 | ||||
| #define S_CON2      114 | ||||
| #define S_CON3      115 | ||||
| #define S_CON4      116 | ||||
| 
 | ||||
| #endif  // __CA3200A_H
 | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										177
									
								
								ca/ca3200a.uml
									
									
									
									
									
								
							
							
						
						
									
										177
									
								
								ca/ca3200a.uml
									
									
									
									
									
								
							| @ -20,7 +20,7 @@ END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| PAGE "Pagina 1" -1 -1 78 20 | ||||
| PAGE "Parametri stampa" -1 -1 78 20 | ||||
| 
 | ||||
| NUMBER F_CODDITTA 5 | ||||
| BEGIN | ||||
| @ -134,16 +134,181 @@ END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| PAGE "Pagina 2" -1 -1 78 20 | ||||
| PAGE "CdC/Cms/Fas" -1 -1 78 20 | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 76 12 | ||||
| GROUPBOX DLG_NULL 76 20 | ||||
| BEGIN | ||||
|   PROMPT 0 0 "@bDa:" | ||||
|   PROMPT 0 0 "@bSelezione CdC / Commesse /Fasi" | ||||
| END | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 76 12 | ||||
| SPREADSHEET F_RIGHE -1 -2 | ||||
| BEGIN | ||||
|   PROMPT 0 12 "@bA:" | ||||
|   PROMPT 0 5 "" | ||||
|   ITEM "Cdc 1" | ||||
|   ITEM "Cdc 2" | ||||
|   ITEM "Cdc 3" | ||||
|   ITEM "Cdc 4" | ||||
|   ITEM "Cms 1" | ||||
|   ITEM "Cms 2" | ||||
|   ITEM "Cms 3" | ||||
|   ITEM "Cms 4" | ||||
|   ITEM "Fas 1" | ||||
|   ITEM "Fas 2" | ||||
|   ITEM "Fas 3" | ||||
|   ITEM "Fas 4" | ||||
|   ITEM "Con 1" | ||||
|   ITEM "Con 2" | ||||
|   ITEM "Con 3" | ||||
|   ITEM "Con 4" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| ENDMASK | ||||
| 
 | ||||
| PAGE "Riga" -1 -1 78 19 | ||||
| 
 | ||||
| STRING S_CDC1 20 | ||||
| BEGIN | ||||
|   PROMPT 1 2 "Cdc 1" | ||||
|   USE LF_CDC | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CDC2 20 | ||||
| BEGIN | ||||
|   PROMPT 21 2 "Cdc 2" | ||||
|   COPY USE S_CDC1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CDC3 20 | ||||
| BEGIN | ||||
|   PROMPT 41 2 "Cdc 3" | ||||
|   COPY USE S_CDC1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CDC4 20 | ||||
| BEGIN | ||||
|   PROMPT 61 2 "Cdc 4" | ||||
|   COPY USE S_CDC1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CMS1 20 | ||||
| BEGIN | ||||
|   PROMPT 1 3 "Cms 1" | ||||
|   USE LF_COMMESSE | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CMS2 20 | ||||
| BEGIN | ||||
|   PROMPT 21 3 "Cms 2" | ||||
|   COPY USE S_CMS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CMS3 20 | ||||
| BEGIN | ||||
|   PROMPT 41 3 "Cms 3" | ||||
|   COPY USE S_CMS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CMS4 20 | ||||
| BEGIN | ||||
|   PROMPT 61 3 "Cms 4" | ||||
|   COPY USE S_CMS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_FAS1 20 | ||||
| BEGIN | ||||
|   PROMPT 1 4 "Fas 1" | ||||
|   USE LF_FASI | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_FAS2 20 | ||||
| BEGIN | ||||
|   PROMPT 21 4 "Fas 2" | ||||
|   COPY USE S_FAS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_FAS3 20 | ||||
| BEGIN | ||||
|   PROMPT 41 4 "Fas 3" | ||||
|   COPY USE S_FAS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_FAS4 20 | ||||
| BEGIN | ||||
|   PROMPT 61 4 "Fas 4" | ||||
|   COPY USE S_FAS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CON1 20 | ||||
| BEGIN | ||||
|   PROMPT 1 5 "Con 1" | ||||
|   USE LF_PCON | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CON2 20 | ||||
| BEGIN | ||||
|   PROMPT 21 5 "Con 2" | ||||
|   COPY USE S_CON1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CON3 20 | ||||
| BEGIN | ||||
|   PROMPT 41 5 "Con 3" | ||||
|   COPY USE S_CON1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CON4 20 | ||||
| BEGIN | ||||
|   PROMPT 61 5 "Con 4" | ||||
|   COPY USE S_CON1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_OK 10 2 | ||||
| BEGIN | ||||
|   PROMPT -13 -1 "" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_DELREC 10 2 | ||||
| BEGIN | ||||
|   PROMPT -23 -1 "" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_CANCEL 10 2 | ||||
| BEGIN | ||||
|   PROMPT -33 -1 "" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE  | ||||
|  | ||||
							
								
								
									
										207
									
								
								ca/ca3300.cpp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										207
									
								
								ca/ca3300.cpp
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,207 @@ | ||||
| #include <applicat.h> | ||||
| #include <execp.h> | ||||
| #include <reprint.h> | ||||
| 
 | ||||
| #include "rmovana.h" | ||||
| 
 | ||||
| #include "ca3.h" | ||||
| #include "ca3300a.h" | ||||
| #include "calib01.h" | ||||
| #include "calib02.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////
 | ||||
| //	MASCHERA
 | ||||
| ////////////////////////////////////////////////////////
 | ||||
| class TPrint_bilancio_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_sheet(int lf, int& y, short& dlg, bool required); | ||||
| public: | ||||
|   TPrint_bilancio_ca_mask(); | ||||
|   virtual ~TPrint_bilancio_ca_mask() {} | ||||
| }; | ||||
| 
 | ||||
| int TPrint_bilancio_ca_mask::create_page2_sheet(int lf, int& y, short& dlg, bool required) | ||||
| { | ||||
| 	TSheet_field& sf = sfield(F_RIGHE); | ||||
|   TMask& sm = sf.sheet_mask(); | ||||
| 
 | ||||
|   const int h = ca_create_fields(sm, 1, lf, 1, y, dlg, dlg+50); | ||||
| 
 | ||||
|   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(); | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     const char* fieldname = NULL; | ||||
|     switch(logic) | ||||
|     { | ||||
|     case LF_CDC     : fieldname = RMOVANA_CODCCOSTO; break; | ||||
|     case LF_COMMESSE: fieldname = RMOVANA_CODCMS;   break; | ||||
|     case LF_FASI    : fieldname = RMOVANA_CODFASE;  break; | ||||
|     default         : fieldname = RMOVANA_CODCONTO; break; | ||||
|     } | ||||
|     TFieldref* f = (TFieldref*)fld.field(); | ||||
|     f->set_name(fieldname); | ||||
|      | ||||
|     fld.check_type(required ? CHECK_REQUIRED : CHECK_NORMAL); | ||||
| 
 | ||||
|     TEdit_field& dfld = efield(dlg+50+i); | ||||
|     dfld.set_field(EMPTY_STRING); // Toglie campi che fan saltare gli output!
 | ||||
| 
 | ||||
| 		//settaggio dei gruppi
 | ||||
| 		TMask_field& da = field(dlg + i); | ||||
| 		da.set_group(1); | ||||
| 		TMask_field& a = field(dlg + i + 50); | ||||
| 		a.set_group(2); | ||||
|   } | ||||
| 
 | ||||
|   y += h+1; | ||||
|   dlg += h; | ||||
| 
 | ||||
|   return h; | ||||
| } | ||||
| 
 | ||||
| void TPrint_bilancio_ca_mask::create_page2() | ||||
| { | ||||
| 	TSheet_field& sf = sfield(F_RIGHE); | ||||
|   TMask& sm = sf.sheet_mask(); | ||||
|   sm.hide(-1); | ||||
| 
 | ||||
|   const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI); | ||||
| 
 | ||||
|   TConfig_anal ini; | ||||
|   const bool fsc_req = ini.get_bool("FscRequired"); | ||||
| 
 | ||||
|   int y = 13; | ||||
|   short dlg = S_CDC1 + 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_sheet(LF_FASI, y, dlg, fsc_req); | ||||
|       else | ||||
|       { | ||||
|         const bool cdc_req = ini.get_bool("CdcRequired"); | ||||
|         create_page2_sheet(LF_CDC, y, dlg, cdc_req); | ||||
|       } | ||||
|     } else | ||||
|     if (level == "CMS")                                   // Crea commessa
 | ||||
|     { | ||||
|       if (fasinfo.parent() == LF_COMMESSE) | ||||
|         create_page2_sheet(LF_FASI, y, dlg, fsc_req); | ||||
|       else | ||||
|       { | ||||
|         const bool cms_req = ini.get_bool("CmsRequired"); | ||||
|         create_page2_sheet(LF_COMMESSE, y, dlg, cms_req); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   if (fasinfo.levels() > 0 && fasinfo.parent() <= 0) | ||||
|     create_page2_sheet(LF_FASI, y, dlg, fsc_req); | ||||
| 
 | ||||
| //ordina i campi sheet	  
 | ||||
| /*  for (short id = S_CON4+100; id >= S_CDC1+100; id--)
 | ||||
|   { | ||||
|     const int pos = sm.id2pos(id); | ||||
|     if (pos >= 0) | ||||
|     { | ||||
|       TMask_field& f = sm.fld(pos); | ||||
|       const int size = f.size(); | ||||
|       const TString& prompt = f.prompt(); | ||||
|       sf.set_column_header(id, prompt); | ||||
|       sf.set_column_justify(id, f.is_kind_of(CLASS_REAL_FIELD)); | ||||
|       sf.set_column_width(id, (max(3+size, prompt.len()+1)) * CHARX); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|       sf.delete_column(id); | ||||
|     } | ||||
|   }*/ | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| TPrint_bilancio_ca_mask::TPrint_bilancio_ca_mask() | ||||
| 								:TAutomask("ca3300a") | ||||
| { | ||||
| 	TConfig_anal cfg; | ||||
| 	const bool use_pdcc = cfg.get_bool("UsePdcc"); | ||||
| 
 | ||||
| 	const int logicnum = use_pdcc ? LF_PCON : LF_PCONANA; | ||||
| 	const int y = 1; | ||||
| 
 | ||||
| 	const int nfields = ca_create_fields(*this, 1, logicnum, 2, y, F_CDC1_INI, F_DES1_INI, 0x0, "#DACONTO"); | ||||
| 	ca_create_fields(*this, 1, logicnum, 2, y+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_bilancio_ca : public TSkeleton_application | ||||
| { | ||||
| 	TPrint_bilancio_ca_mask * _mask; | ||||
| 
 | ||||
| protected: | ||||
| 	bool create(); | ||||
| 	bool destroy(); | ||||
| 
 | ||||
| public: | ||||
|   virtual void main_loop(); | ||||
| }; | ||||
| 
 | ||||
| bool TPrint_bilancio_ca::create() | ||||
| { | ||||
|   _mask = new TPrint_bilancio_ca_mask;   | ||||
|   return TSkeleton_application::create(); | ||||
| } | ||||
| 
 | ||||
| bool TPrint_bilancio_ca::destroy() | ||||
| { | ||||
|   delete _mask; | ||||
|   return TSkeleton_application::destroy(); | ||||
| } | ||||
| 
 | ||||
| void TPrint_bilancio_ca::main_loop() | ||||
| { | ||||
|   while (_mask->run() == K_ENTER) | ||||
|   { | ||||
| 		//costruzione del ciclo di scansione principale in base ai parametri della maschera
 | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| int ca3300(int argc, char* argv[]) | ||||
| { | ||||
|   TPrint_bilancio_ca a; | ||||
|   a.run(argc, argv, TR("Stampa bilancio")); | ||||
|   return 0; | ||||
| } | ||||
							
								
								
									
										68
									
								
								ca/ca3300a.h
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										68
									
								
								ca/ca3300a.h
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,68 @@ | ||||
| #ifndef __CA3300A_H | ||||
| #define __CA3300A_H   | ||||
| 
 | ||||
| //pag. stampa bilancio
 | ||||
| #define F_CODDITTA      301 | ||||
| #define F_RAGSOC        302 | ||||
| #define F_DATASTAMPA    303 | ||||
| #define F_ANNO          304 | ||||
| #define F_BILANCIO      105 | ||||
| #define F_STAMPA        107 | ||||
| #define F_DATALIM       308 | ||||
| #define F_CODICI        309 | ||||
| #define F_SALDO         310 | ||||
| #define F_STAMPAV       311 | ||||
| #define F_DATADA        312 | ||||
| #define F_DATAA         313 | ||||
| #define F_STAMPAMPROV   314   | ||||
| 
 | ||||
| //campi generati dal pdc
 | ||||
| #define	F_CDC1_INI			316 | ||||
| #define F_CDC12_INI			331 | ||||
| #define	F_CDC1_FIN			336 | ||||
| #define F_CDC12_FIN			351 | ||||
| #define	F_DES1_INI			356 | ||||
| #define F_DES12_INI			371 | ||||
| #define	F_DES1_FIN			376 | ||||
| #define F_DES12_FIN			391 | ||||
| 
 | ||||
| //sheet&friends
 | ||||
| //sheet di pagina 2
 | ||||
| #define F_RIGHE					400 | ||||
| 
 | ||||
| #define S_CDC1      101 | ||||
| #define S_CDC2      102 | ||||
| #define S_CDC3      103 | ||||
| #define S_CDC4      104 | ||||
| #define S_CMS1      105 | ||||
| #define S_CMS2      106 | ||||
| #define S_CMS3      107 | ||||
| #define S_CMS4      108 | ||||
| #define S_FAS1      109 | ||||
| #define S_FAS2      110 | ||||
| #define S_FAS3      111 | ||||
| #define S_FAS4      112 | ||||
| #define S_CON1      113 | ||||
| #define S_CON2      114 | ||||
| #define S_CON3      115 | ||||
| #define S_CON4      116 | ||||
| 
 | ||||
| 
 | ||||
| //
 | ||||
| #endif  // __CA3300A_H
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
							
								
								
									
										346
									
								
								ca/ca3300a.uml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										346
									
								
								ca/ca3300a.uml
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,346 @@ | ||||
| #include "ca3300a.h" | ||||
| 
 | ||||
| TOOLBAR "" 0 -3 0 3 | ||||
| 
 | ||||
| BUTTON DLG_OK 10 2 | ||||
| BEGIN | ||||
|   PROMPT -12 -11 "" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_QUIT 10 2 | ||||
| BEGIN | ||||
|     PROMPT -22 -11 "" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| PAGE "Stampa bilancio" -1 -1 76 16 | ||||
| 
 | ||||
| NUMBER F_CODDITTA 5 | ||||
| BEGIN | ||||
|   PROMPT 2 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 2 2 "Ragione sociale   " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| DATE F_DATASTAMPA | ||||
| BEGIN | ||||
|   PROMPT 48 1 "Data stampa " | ||||
|   HELP "Data che verra' stampata sul bilancio" | ||||
|   FLAGS "A" | ||||
| END | ||||
| 
 | ||||
| NUMBER F_ANNO 4 | ||||
| BEGIN | ||||
|   PROMPT 2 3 "Codice esercizio  " | ||||
|   HELP "Esercizio di cui si vuole ottenere il bilancio" | ||||
|   USE ESC | ||||
|   INPUT CODTAB F_ANNO | ||||
|   DISPLAY "Codice" CODTAB | ||||
|   DISPLAY "Data inizio esercizio" D0 | ||||
|   DISPLAY "Data fine esercizio" D1 | ||||
|   OUTPUT F_ANNO CODTAB | ||||
|   FLAGS "Z" | ||||
|   CHECKTYPE NORMAL | ||||
|   WARNING "L'esercizio non esiste" | ||||
|   ADD RUN cg0 -5 esc | ||||
| END | ||||
| 
 | ||||
| RADIOBUTTON F_BILANCIO 37 | ||||
| BEGIN | ||||
|   PROMPT 2 5 "@bTipo bilancio" | ||||
|   HELP "Indicare il tipo di bilancio da stampare" | ||||
|   ITEM "1|Bilancio a sezioni contrapposte" | ||||
|   MESSAGE HIDE,F_STAMPAV|RESET,F_STAMPAV|HIDE,F_DATADA|RESET,F_DATADA | ||||
|   MESSAGE HIDE,F_DATAA|RESET,F_DATAA | ||||
|   MESSAGE HIDE,96|HIDE,97|HIDE,98|HIDE,99 | ||||
|   MESSAGE SHOW,F_STAMPA|K_SPACE,F_STAMPA | ||||
|   ITEM "2|Bilancio di verifica" | ||||
|   MESSAGE HIDE,F_STAMPA|RESET,F_STAMPA | ||||
|   MESSAGE HIDE,F_DATALIM|RESET,F_DATALIM | ||||
|   MESSAGE HIDE,F_CODICI|RESET,F_CODICI|HIDE,F_SALDO|RESET,F_SALDO | ||||
|   MESSAGE HIDE,F_STAMPAV|RESET,F_STAMPAV | ||||
|   MESSAGE SHOW,F_VERIFICA|K_SPACE,F_VERIFICA | ||||
|   MESSAGE SHOW,96|SHOW,97|SHOW,98|SHOW,99 | ||||
| END | ||||
| 
 | ||||
| RADIOBUTTON F_STAMPA 28 | ||||
| BEGIN | ||||
|   PROMPT 41 5 "@bTipo stampa" | ||||
|   HELP "Indicare il tipo di stampa" | ||||
|   ITEM "1|Per date limite" | ||||
|   MESSAGE SHOW,F_DATALIM|SHOW,F_CODICI|SHOW,F_SALDO | ||||
|   ITEM "2|All'ultima immissione" | ||||
|   MESSAGE HIDE,F_DATALIM|RESET,F_DATALIM | ||||
|   MESSAGE SHOW,F_CODICI|SHOW,F_SALDO | ||||
| END | ||||
| 
 | ||||
| DATE F_DATALIM | ||||
| BEGIN | ||||
|   PROMPT 2 9 "Data limite      " | ||||
|   HELP "Data fino alla quale si vuole la stampa" | ||||
| END | ||||
| 
 | ||||
| BOOLEAN F_CODICI | ||||
| BEGIN | ||||
|   PROMPT 2 10 "Non stampare codici conti " | ||||
|   HELP "Indicare se non si devono stampare i codici dei conti" | ||||
| END | ||||
| 
 | ||||
| BOOLEAN F_SALDO | ||||
| BEGIN | ||||
|   PROMPT 33 10 "Non stampare movimenti con saldo a zero " | ||||
|   HELP "Indicare se non si devono stampare i movimenti con saldo nullo" | ||||
| END | ||||
| 
 | ||||
| TEXT 96 | ||||
| BEGIN | ||||
|   PROMPT 2 10 "Dalla data competenza " | ||||
| END | ||||
| 
 | ||||
| TEXT 97 | ||||
| BEGIN | ||||
|   PROMPT 38 10 "Alla data competenza " | ||||
| END | ||||
| 
 | ||||
| TEXT 98 | ||||
| BEGIN | ||||
|   PROMPT 2 10 "Dalla data operazione " | ||||
| END | ||||
| 
 | ||||
| TEXT 99 | ||||
| BEGIN | ||||
|   PROMPT 38 10 "Alla data operazione " | ||||
| END | ||||
| 
 | ||||
| DATE F_DATADA | ||||
| BEGIN | ||||
|   PROMPT 24 10 "" | ||||
|   HELP "Data dalla quale iniziare la stampa" | ||||
| END | ||||
| 
 | ||||
| DATE F_DATAA | ||||
| BEGIN | ||||
|   PROMPT 60 10 "" | ||||
| END | ||||
| 
 | ||||
| LIST F_STAMPAMPROV 15 | ||||
| BEGIN | ||||
|   PROMPT 2 11 "Bilancio " | ||||
|   ITEM "1|Preventivo" | ||||
|   ITEM "2|Consuntivo" | ||||
|   ITEM "3|Raffronto" | ||||
| END | ||||
| 
 | ||||
| RADIOBUTTON F_STAMPAV 36 | ||||
| BEGIN | ||||
|   PROMPT 2 12 "@bTipo stampa per bilancio provvisorio" | ||||
|   ITEM "1|Conti movimentati" | ||||
|   ITEM "2|Conti con saldo diverso da zero" | ||||
|   ITEM "3|Tutti i conti" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| PAGE "Parametri" -1 -1 74 20 | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 76 6 | ||||
| BEGIN | ||||
|   PROMPT 0 0 "@bDa:" | ||||
| END | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 76 6 | ||||
| BEGIN | ||||
|   PROMPT 0 6 "@bA:" | ||||
| END | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 76 11 | ||||
| BEGIN | ||||
|   PROMPT 0 12 "@bSelezione CdC / Commesse / Fasi" | ||||
| END | ||||
| 
 | ||||
| SPREADSHEET F_RIGHE -1 -2 | ||||
| BEGIN | ||||
|   PROMPT 0 5 "" | ||||
|   ITEM "Cdc 1" | ||||
|   ITEM "Cdc 2" | ||||
|   ITEM "Cdc 3" | ||||
|   ITEM "Cdc 4" | ||||
|   ITEM "Cms 1" | ||||
|   ITEM "Cms 2" | ||||
|   ITEM "Cms 3" | ||||
|   ITEM "Cms 4" | ||||
|   ITEM "Fas 1" | ||||
|   ITEM "Fas 2" | ||||
|   ITEM "Fas 3" | ||||
|   ITEM "Fas 4" | ||||
|   ITEM "Con 1" | ||||
|   ITEM "Con 2" | ||||
|   ITEM "Con 3" | ||||
|   ITEM "Con 4" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| ENDMASK | ||||
| 
 | ||||
| PAGE "Riga" -1 -1 78 19 | ||||
| 
 | ||||
| STRING S_CDC1 20 | ||||
| BEGIN | ||||
|   PROMPT 1 2 "Cdc 1" | ||||
|   USE LF_CDC | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CDC2 20 | ||||
| BEGIN | ||||
|   PROMPT 21 2 "Cdc 2" | ||||
|   COPY USE S_CDC1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CDC3 20 | ||||
| BEGIN | ||||
|   PROMPT 41 2 "Cdc 3" | ||||
|   COPY USE S_CDC1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CDC4 20 | ||||
| BEGIN | ||||
|   PROMPT 61 2 "Cdc 4" | ||||
|   COPY USE S_CDC1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CMS1 20 | ||||
| BEGIN | ||||
|   PROMPT 1 3 "Cms 1" | ||||
|   USE LF_COMMESSE | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CMS2 20 | ||||
| BEGIN | ||||
|   PROMPT 21 3 "Cms 2" | ||||
|   COPY USE S_CMS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CMS3 20 | ||||
| BEGIN | ||||
|   PROMPT 41 3 "Cms 3" | ||||
|   COPY USE S_CMS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CMS4 20 | ||||
| BEGIN | ||||
|   PROMPT 61 3 "Cms 4" | ||||
|   COPY USE S_CMS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_FAS1 20 | ||||
| BEGIN | ||||
|   PROMPT 1 4 "Fas 1" | ||||
|   USE LF_FASI | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_FAS2 20 | ||||
| BEGIN | ||||
|   PROMPT 21 4 "Fas 2" | ||||
|   COPY USE S_FAS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_FAS3 20 | ||||
| BEGIN | ||||
|   PROMPT 41 4 "Fas 3" | ||||
|   COPY USE S_FAS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_FAS4 20 | ||||
| BEGIN | ||||
|   PROMPT 61 4 "Fas 4" | ||||
|   COPY USE S_FAS1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CON1 20 | ||||
| BEGIN | ||||
|   PROMPT 1 5 "Con 1" | ||||
|   USE LF_PCON | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CON2 20 | ||||
| BEGIN | ||||
|   PROMPT 21 5 "Con 2" | ||||
|   COPY USE S_CON1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CON3 20 | ||||
| BEGIN | ||||
|   PROMPT 41 5 "Con 3" | ||||
|   COPY USE S_CON1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| STRING S_CON4 20 | ||||
| BEGIN | ||||
|   PROMPT 61 5 "Con 4" | ||||
|   COPY USE S_CON1 | ||||
|   CHECKTYPE NORMAL | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_OK 10 2 | ||||
| BEGIN | ||||
|   PROMPT -13 -1 "" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_DELREC 10 2 | ||||
| BEGIN | ||||
|   PROMPT -23 -1 "" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_CANCEL 10 2 | ||||
| BEGIN | ||||
|   PROMPT -33 -1 "" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE  | ||||
| 
 | ||||
| ENDMASK | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user