Patch level : 10.0 1178
Files correlati : ve2.exe Ricompilazione Demo : [ ] Commento : Potenziato collegamento esterno a contratti (Hardy) git-svn-id: svn://10.65.10.50/branches/R_10_00@22516 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									541c0236eb
								
							
						
					
					
						commit
						542d857cdd
					
				| @ -6,6 +6,7 @@ | |||||||
| 
 | 
 | ||||||
| #include <defmask.h> | #include <defmask.h> | ||||||
| #include <modaut.h> | #include <modaut.h> | ||||||
|  | #include <tabutil.h> | ||||||
| 
 | 
 | ||||||
| //---------------------------------------------------
 | //---------------------------------------------------
 | ||||||
| // MASCHERA ANAGRAFICA MAGAZZINO
 | // MASCHERA ANAGRAFICA MAGAZZINO
 | ||||||
|  | |||||||
| @ -1,5 +1,4 @@ | |||||||
| #include <automask.h> | #include <automask.h> | ||||||
| #include <defmask.h> |  | ||||||
| #include <dongle.h> | #include <dongle.h> | ||||||
| #include <progind.h> | #include <progind.h> | ||||||
| #include <recarray.h> | #include <recarray.h> | ||||||
| @ -15,7 +14,6 @@ | |||||||
| #include "ve2500a.h" | #include "ve2500a.h" | ||||||
| #include "ve2500b.h" | #include "ve2500b.h" | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| const TString& build_query(const char tipo) | const TString& build_query(const char tipo) | ||||||
| { | { | ||||||
|   TString& query = get_tmp_string(); |   TString& query = get_tmp_string(); | ||||||
| @ -43,12 +41,13 @@ const TString& build_query(const char tipo) | |||||||
|   } |   } | ||||||
|   return query; |   return query; | ||||||
| } | } | ||||||
|  | 
 | ||||||
| ////////////////////////////////////////////////////////////////////
 | ////////////////////////////////////////////////////////////////////
 | ||||||
| //  MASCHERA SECONDARIA DI GENERAZIONE LISTINO 
 | //  MASCHERA SECONDARIA DI GENERAZIONE LISTINO 
 | ||||||
| ////////////////////////////////////////////////////////////////////
 | ////////////////////////////////////////////////////////////////////
 | ||||||
|  | 
 | ||||||
| class TGestione_listini_semplice_mask_genera: public TAutomask | class TGestione_listini_semplice_mask_genera: public TAutomask | ||||||
| { | { | ||||||
| 
 |  | ||||||
|   TMask* _main_mask;  //puntatore maschera principale
 |   TMask* _main_mask;  //puntatore maschera principale
 | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| @ -62,11 +61,8 @@ public: | |||||||
|   TGestione_listini_semplice_mask_genera(TMask* main_mask, const TString& mask_name); |   TGestione_listini_semplice_mask_genera(TMask* main_mask, const TString& mask_name); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| bool TGestione_listini_semplice_mask_genera::on_field_event(TOperable_field& o, TField_event e, long jolly) | bool TGestione_listini_semplice_mask_genera::on_field_event(TOperable_field& o, TField_event e, long jolly) | ||||||
| { | { return true; } | ||||||
|   return true; |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| TGestione_listini_semplice_mask_genera::TGestione_listini_semplice_mask_genera(TMask* main_mask, const TString& mask_name) | TGestione_listini_semplice_mask_genera::TGestione_listini_semplice_mask_genera(TMask* main_mask, const TString& mask_name) | ||||||
|                                       : TAutomask(mask_name), _main_mask(main_mask) |                                       : TAutomask(mask_name), _main_mask(main_mask) | ||||||
| @ -393,7 +389,6 @@ public: | |||||||
| 
 | 
 | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| TGestione_listini_semplice_mask::TGestione_listini_semplice_mask(const TString& mask_name) : TAutomask(mask_name) | TGestione_listini_semplice_mask::TGestione_listini_semplice_mask(const TString& mask_name) : TAutomask(mask_name) | ||||||
| { | { | ||||||
|   //assegna le posizioni delle colonne dello sheet
 |   //assegna le posizioni delle colonne dello sheet
 | ||||||
| @ -536,7 +531,6 @@ bool TGestione_listini_semplice_mask::on_field_event(TOperable_field &o, TField_ | |||||||
|       TSheet_field& sf_righe = sfield(FA_RIGHE); |       TSheet_field& sf_righe = sfield(FA_RIGHE); | ||||||
|       const bool gest_um = o.get().full(); |       const bool gest_um = o.get().full(); | ||||||
|       sf_righe.enable_column(S_UM, gest_um); |       sf_righe.enable_column(S_UM, gest_um); | ||||||
| 
 |  | ||||||
|       sf_righe.force_update(); |       sf_righe.force_update(); | ||||||
|     } |     } | ||||||
|     break; |     break; | ||||||
| @ -592,21 +586,15 @@ bool TGestione_listini_semplice_mask::on_field_event(TOperable_field &o, TField_ | |||||||
|         break; |         break; | ||||||
|       case 'G': |       case 'G': | ||||||
|         if (art.full() && get(FA_CODRIGA_G) != art) |         if (art.full() && get(FA_CODRIGA_G) != art) | ||||||
|         { |  | ||||||
|           set(FA_CODRIGA_G, art, 0x2); |           set(FA_CODRIGA_G, art, 0x2); | ||||||
|         } |  | ||||||
|         break; |         break; | ||||||
|       case 'S': |       case 'S': | ||||||
|         if (art.full() && get(FA_CODRIGA_S) != art) |         if (art.full() && get(FA_CODRIGA_S) != art) | ||||||
|         { |  | ||||||
|           set(FA_CODRIGA_S, art, 0x2); |           set(FA_CODRIGA_S, art, 0x2); | ||||||
|         } |  | ||||||
|         break; |         break; | ||||||
|       case 'R': |       case 'R': | ||||||
|         if (art.full() && get(FA_CODRIGA_R) != art) |         if (art.full() && get(FA_CODRIGA_R) != art) | ||||||
|         { |  | ||||||
|           set(FA_CODRIGA_R, art, 0x2); |           set(FA_CODRIGA_R, art, 0x2); | ||||||
|         } |  | ||||||
|         break; |         break; | ||||||
|       default: |       default: | ||||||
|         break; |         break; | ||||||
| @ -629,7 +617,7 @@ bool TGestione_listini_semplice_mask::on_field_event(TOperable_field &o, TField_ | |||||||
|         if (err == NOERR) |         if (err == NOERR) | ||||||
|         { |         { | ||||||
|           TToken_string& row = cs.row(cs.selected()); |           TToken_string& row = cs.row(cs.selected()); | ||||||
|           const TString& grmerc = row.get(0); |           const char* grmerc = row.get(0); | ||||||
|           anamag.put(ANAMAG_GRMERC, grmerc); |           anamag.put(ANAMAG_GRMERC, grmerc); | ||||||
|           anamag.rewrite(); |           anamag.rewrite(); | ||||||
| 
 | 
 | ||||||
| @ -693,13 +681,15 @@ bool TGestione_listini_semplice_mask::on_field_event(TOperable_field &o, TField_ | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| ///////////////////////////////////////////////////////////////
 | ///////////////////////////////////////////////////////////////
 | ||||||
| //  APPLICAZIONE
 | // APPLICAZIONE
 | ||||||
| ///////////////////////////////////////////////////////////////
 | ///////////////////////////////////////////////////////////////
 | ||||||
|  | 
 | ||||||
| class TGestione_listini_semplice : public TRelation_application | class TGestione_listini_semplice : public TRelation_application | ||||||
| { | { | ||||||
|   TGestione_listini_semplice_mask *_mask; |   TGestione_listini_semplice_mask* _mask; | ||||||
|   TRelation* _rel; |   TRelation* _rel; | ||||||
|   char _tipo; |   char _tipo; | ||||||
|  |   long _codice; | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
|   void save_rows(); |   void save_rows(); | ||||||
| @ -731,9 +721,6 @@ public: | |||||||
|   virtual ~TGestione_listini_semplice() {} |   virtual ~TGestione_listini_semplice() {} | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| void TGestione_listini_semplice::save_rows() | void TGestione_listini_semplice::save_rows() | ||||||
| { | { | ||||||
|   TWait_cursor hourglass; |   TWait_cursor hourglass; | ||||||
| @ -1077,12 +1064,36 @@ void TGestione_listini_semplice::mask2ini(const TMask& m, TConfig& ini) | |||||||
|       ini.set(field_name, rec.get(field_name)); |       ini.set(field_name, rec.get(field_name)); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void TGestione_listini_semplice::init_query_mode(TMask& m) | void TGestione_listini_semplice::init_query_mode(TMask& m) | ||||||
| { | { | ||||||
|   m.disable(DLG_CREA); |   m.disable(DLG_CREA); | ||||||
|  | 
 | ||||||
|  |   // Simple transaction like behaviour with command line arguments only
 | ||||||
|  |   if (_tipo == 'C' && _codice > 0L) | ||||||
|  |   { | ||||||
|  |     m.set(FA_C_CODCF, _codice); | ||||||
|  |      | ||||||
|  |     TEdit_field& contr = m.efield(FA_COD); | ||||||
|  |     TBrowse& browse = *contr.browse(); | ||||||
|  |     browse.do_input(true); | ||||||
|  |     TCursor& cur = *browse.cursor(); | ||||||
|  |     const TRecnotype nrecs = cur.items(); | ||||||
|  |     if (nrecs > 0) | ||||||
|  |     { | ||||||
|  |       const TDate oggi(TODAY); | ||||||
|  |       const TRectype& curr = cur.curr(); | ||||||
|  |       for (cur = 0L; cur.pos() < nrecs-1; ++cur) | ||||||
|  |       { | ||||||
|  |         const TDate fine = curr.get(CONDV_VALFIN); | ||||||
|  |         if (!fine.ok() || fine >= oggi) | ||||||
|  |           break; | ||||||
|  |       } | ||||||
|  |       browse.do_output(); | ||||||
|  |       m.send_key(K_AUTO_ENTER, 0); | ||||||
|  |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void TGestione_listini_semplice::init_insert_mode(TMask& m) | void TGestione_listini_semplice::init_insert_mode(TMask& m) | ||||||
| @ -1108,18 +1119,28 @@ bool TGestione_listini_semplice::user_create() | |||||||
| 
 | 
 | ||||||
|   //decide il tipo di condizione di vendita: 'L'istino, 'C'ontratto 'O'fferta
 |   //decide il tipo di condizione di vendita: 'L'istino, 'C'ontratto 'O'fferta
 | ||||||
|   _tipo = 'L'; |   _tipo = 'L'; | ||||||
|  |   _codice = 0L; | ||||||
|   if (argc() > 2) //se la chiamata ha un parametro ulteriore ('ve2 -4 c', ad esempio)..
 |   if (argc() > 2) //se la chiamata ha un parametro ulteriore ('ve2 -4 c', ad esempio)..
 | ||||||
|   { |   { | ||||||
|     TFilename trans = argv(2);  //..prende il parametro ulteriore
 |     TFilename trans = argv(2);  //..prende il parametro ulteriore
 | ||||||
|     if (trans.len() == 1) //se è lungo 1 -> chiamata da menu...
 |     if (trans.len() == 1) //se è lungo 1 -> chiamata da menu...
 | ||||||
|  |     { | ||||||
|       _tipo = trans[0]; |       _tipo = trans[0]; | ||||||
|  |       if (argc() > 3) // Es. Hardy:  ve2 -4 c 210100
 | ||||||
|  |         _codice = max(0, atol(argv(3))); | ||||||
|  |     } | ||||||
|     else |     else | ||||||
|     { |     { | ||||||
|       trans.ltrim(2);   //..sennò chiamata interattiva con file .ini
 |       if (trans.starts_with("-i", true) || trans.starts_with("/i", true)) | ||||||
|       if (trans.exist()) |  | ||||||
|       { |       { | ||||||
|         TConfig ini(trans, "52"); |         trans.ltrim(2);   //..sennò chiamata interattiva con file .ini
 | ||||||
|         _tipo = ini.get_char("TIPO"); |         if (trans.exist()) | ||||||
|  |         { | ||||||
|  |           TConfig ini(trans, "52"); | ||||||
|  |           _tipo = ini.get_char("TIPO"); | ||||||
|  |           if (_tipo == 'C') | ||||||
|  |             _codice = ini.get_char(CONDV_CODCF); | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     _tipo = toupper(_tipo); |     _tipo = toupper(_tipo); | ||||||
| @ -1133,7 +1154,7 @@ bool TGestione_listini_semplice::user_create() | |||||||
|   //super-attenzione! la maschera da caricare viene decisa in base al tipo di condizione di vendita
 |   //super-attenzione! la maschera da caricare viene decisa in base al tipo di condizione di vendita
 | ||||||
|   TString16 mask_name; |   TString16 mask_name; | ||||||
|   mask_name << "ve2500a" << _tipo; |   mask_name << "ve2500a" << _tipo; | ||||||
|   _mask = new  TGestione_listini_semplice_mask(mask_name); |   _mask = new TGestione_listini_semplice_mask(mask_name); | ||||||
|   return true; |   return true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -1147,6 +1168,6 @@ bool TGestione_listini_semplice::user_destroy() | |||||||
| int ve2500(int argc, char* argv[]) | int ve2500(int argc, char* argv[]) | ||||||
| { | { | ||||||
|   TGestione_listini_semplice a;  |   TGestione_listini_semplice a;  | ||||||
|   a.run(argc, argv, "Gestione listini"); |   a.run(argc, argv, TR("Gestione listini")); | ||||||
|   return 0; |   return 0; | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user