Errore aga032
git-svn-id: svn://10.65.10.50/trunk@4359 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									1c07c0b7b7
								
							
						
					
					
						commit
						be723d6c6c
					
				
							
								
								
									
										157
									
								
								ef/ef0400.cpp
									
									
									
									
									
								
							
							
						
						
									
										157
									
								
								ef/ef0400.cpp
									
									
									
									
									
								
							| @ -1,4 +1,4 @@ | ||||
| #include <applicat.h>  | ||||
| #include <applicat.h> | ||||
| #include <urldefid.h>//per definizione BAR_ITEM
 | ||||
| #include <msksheet.h> | ||||
| #include <sheet.h> | ||||
| @ -6,7 +6,7 @@ | ||||
| #include <lffiles.h> | ||||
| #include "ef0.h" | ||||
| #include "ef0101.h" | ||||
| #include "ef0400.h"                                                           | ||||
| #include "ef0400.h" | ||||
| 
 | ||||
| /////////////////////////////////////////////////////////////////////////////
 | ||||
| //Classe per l'eliminazione di effetti di effetti con selezione per gruppi //
 | ||||
| @ -14,21 +14,21 @@ | ||||
| class TEliminazione_effetti: public TApplication | ||||
| { | ||||
|   TMask *_msk; | ||||
|   TRelation *_rel;   | ||||
|   TRelation *_rel; | ||||
|   TLocalisamfile *_reff, *_cession; | ||||
|   TRectype *_from, *_to;  | ||||
|   virtual bool create() ;                          | ||||
|   virtual bool destroy() ;                         | ||||
|   virtual bool menu(MENU_TAG);           | ||||
| protected:                             | ||||
|   TRectype *_from, *_to; | ||||
|   virtual bool create() ; | ||||
|   virtual bool destroy() ; | ||||
|   virtual bool menu(MENU_TAG); | ||||
| protected: | ||||
|   static bool from_numero_handler(TMask_field& f, KEY k); | ||||
|   static bool to_numero_handler(TMask_field& f, KEY k); | ||||
|   static bool from_data_handler(TMask_field& f, KEY k); | ||||
|   static bool to_data_handler(TMask_field& f, KEY k);   | ||||
|   static bool conferma_handler(TMask_field& f, KEY k);  | ||||
|   static bool annulla_handler(TMask_field& f, KEY k);  | ||||
|   static bool to_data_handler(TMask_field& f, KEY k); | ||||
|   static bool conferma_handler(TMask_field& f, KEY k); | ||||
|   static bool annulla_handler(TMask_field& f, KEY k); | ||||
|   static void elimina(); | ||||
| public:          | ||||
| public: | ||||
|   TEliminazione_effetti() {}; | ||||
|   virtual ~TEliminazione_effetti() {}; | ||||
| }; | ||||
| @ -39,29 +39,29 @@ inline TEliminazione_effetti& app(){return (TEliminazione_effetti&)main_app();} | ||||
| // crea l'applicazione
 | ||||
| bool TEliminazione_effetti::create() | ||||
| { | ||||
|   _msk = new TMask("ef0400a");   | ||||
|   _rel = new TRelation(LF_EFFETTI);        | ||||
|   _msk = new TMask("ef0400a"); | ||||
|   _rel = new TRelation(LF_EFFETTI); | ||||
|   _reff = new TLocalisamfile(LF_REFFETTI); | ||||
|   _cession = new TLocalisamfile(LF_CESS);  | ||||
|   _rel->first();                    | ||||
|   _cession = new TLocalisamfile(LF_CESS); | ||||
|   _rel->first(); | ||||
|   _from = new TRectype(_rel->lfile().curr()); | ||||
|   _rel->last();  | ||||
|   _rel->last(); | ||||
|   _to = new TRectype(_rel->lfile().curr()); | ||||
|   _msk->set_handler(F_DA_RIBA, from_numero_handler); | ||||
|   _msk->set_handler(F_A_RIBA, to_numero_handler); | ||||
|   _msk->set_handler(F_DA_DATA, from_data_handler); | ||||
|   _msk->set_handler(F_A_DATA, to_data_handler); | ||||
|   _msk->set_handler(DLG_OK, conferma_handler);  | ||||
|   _msk->set_handler(DLG_CANCEL, annulla_handler);  | ||||
|   dispatch_e_menu(BAR_ITEM(1));  | ||||
|   _msk->set_handler(DLG_OK, conferma_handler); | ||||
|   _msk->set_handler(DLG_CANCEL, annulla_handler); | ||||
|   dispatch_e_menu(BAR_ITEM(1)); | ||||
|   return TRUE; | ||||
| } | ||||
| 
 | ||||
| // distrugge l'applicazione
 | ||||
| bool TEliminazione_effetti::destroy() | ||||
| { | ||||
|   delete _msk;   | ||||
|   delete _rel;              | ||||
|   delete _msk; | ||||
|   delete _rel; | ||||
|   delete _reff; | ||||
|   delete _cession; | ||||
|   delete _from; | ||||
| @ -74,77 +74,78 @@ bool TEliminazione_effetti::menu(MENU_TAG) | ||||
| { | ||||
|   KEY key = K_ENTER; | ||||
|   while (key != K_QUIT)//finchè non si chiude la maschera
 | ||||
|   {   | ||||
|     key = _msk->run();  | ||||
|   { | ||||
|     _msk->reset(); | ||||
|     key = _msk->run(); | ||||
|   } | ||||
|   return FALSE; | ||||
| }             | ||||
| } | ||||
| 
 | ||||
| //Handler per la gestione della prima chiave (from) del cursore per numero
 | ||||
| bool TEliminazione_effetti::from_numero_handler(TMask_field& f, KEY k) | ||||
| {  | ||||
|   TMask &m = f.mask();  | ||||
| { | ||||
|   TMask &m = f.mask(); | ||||
|   if (k == K_TAB) | ||||
|   { | ||||
|     if (!f.get().empty())// se il campo non è vuoto
 | ||||
|     {  | ||||
|     { | ||||
|       TRectype* from = app()._from; | ||||
|       long num = m.get_long(F_DA_RIBA);                | ||||
|       long num = m.get_long(F_DA_RIBA); | ||||
|       from->put(EFF_NPROGTR, num); | ||||
|     } | ||||
|   }  | ||||
|   } | ||||
|   return TRUE; | ||||
| } | ||||
| 
 | ||||
| //Handler per la gestione della seconda chiave (to) del cursore per numero 
 | ||||
| //Handler per la gestione della seconda chiave (to) del cursore per numero
 | ||||
| bool TEliminazione_effetti::to_numero_handler(TMask_field& f, KEY k) | ||||
| {  | ||||
|   TMask &m = f.mask();  | ||||
| { | ||||
|   TMask &m = f.mask(); | ||||
|   if (k == K_TAB) | ||||
|   {   | ||||
|   { | ||||
|     if (!f.get().empty())// se il campo non è vuoto
 | ||||
|     {                                 | ||||
|     { | ||||
|       TRectype* to = app()._to; | ||||
|       long num = m.get_long(F_A_RIBA);                   | ||||
|       long num = m.get_long(F_A_RIBA); | ||||
|       to->put(EFF_NPROGTR, num); | ||||
|     } | ||||
|   }  | ||||
|   } | ||||
|   return TRUE; | ||||
| } | ||||
| 
 | ||||
| //Handler per la gestione della prima chiave (from) del cursore per data
 | ||||
| bool TEliminazione_effetti::from_data_handler(TMask_field& f, KEY k) | ||||
| {  | ||||
|   TMask &m = f.mask();  | ||||
| { | ||||
|   TMask &m = f.mask(); | ||||
|   if (k == K_TAB) | ||||
|   {  | ||||
|   { | ||||
|     if (!f.get().empty())// se il campo non è vuoto
 | ||||
|     {         | ||||
|     { | ||||
|       TRectype* from = app()._from; | ||||
|       TDate data = m.get(F_DA_DATA); | ||||
|       long num = m.get_long(F_DA_RIBA);                | ||||
|       from->put(EFF_NPROGTR, num);                | ||||
|       from->put(EFF_DATASCAD, data);              | ||||
|       long num = m.get_long(F_DA_RIBA); | ||||
|       from->put(EFF_NPROGTR, num); | ||||
|       from->put(EFF_DATASCAD, data); | ||||
|     } | ||||
|   }  | ||||
|   } | ||||
|   return TRUE; | ||||
| } | ||||
| 
 | ||||
| //Handler per la gestione della seconda chiave (to) del cursore per numero
 | ||||
| bool TEliminazione_effetti::to_data_handler(TMask_field& f, KEY k) | ||||
| {  | ||||
|   TMask &m = f.mask();  | ||||
| { | ||||
|   TMask &m = f.mask(); | ||||
|   if (k == K_TAB) | ||||
|   {   | ||||
|   { | ||||
|     if (!f.get().empty())// se il campo non è vuoto
 | ||||
|     {                  | ||||
|     { | ||||
|       TRectype* to = app()._to; | ||||
|       TDate data = m.get(F_A_DATA); | ||||
|       long num = m.get_long(F_A_RIBA);                   | ||||
|       to->put(EFF_NPROGTR, num);                | ||||
|       to->put(EFF_DATASCAD, data);       | ||||
|       long num = m.get_long(F_A_RIBA); | ||||
|       to->put(EFF_NPROGTR, num); | ||||
|       to->put(EFF_DATASCAD, data); | ||||
|     } | ||||
|   }  | ||||
|   } | ||||
|   return TRUE; | ||||
| } | ||||
| 
 | ||||
| @ -153,8 +154,8 @@ bool TEliminazione_effetti::to_data_handler(TMask_field& f, KEY k) | ||||
| void TEliminazione_effetti::elimina() | ||||
| { | ||||
|  const TRectype *from = app()._from; | ||||
|  const TRectype *to = app()._to;  | ||||
|  TMask *m = app()._msk;                    | ||||
|  const TRectype *to = app()._to; | ||||
|  TMask *m = app()._msk; | ||||
|  TRelation *rel = app()._rel; | ||||
|  const char* filter; | ||||
|  int key; | ||||
| @ -167,8 +168,8 @@ void TEliminazione_effetti::elimina() | ||||
|         break; | ||||
|    case 'D':  //selezione effetti per data
 | ||||
|         key = 3; | ||||
|         break;  | ||||
|  }                       | ||||
|         break; | ||||
|  } | ||||
|  switch (op2) //scelgo il filtro per il cursore
 | ||||
|  { | ||||
|    case 'S':  //cancello effetti stampati
 | ||||
| @ -176,44 +177,44 @@ void TEliminazione_effetti::elimina() | ||||
|         break; | ||||
|    case 'C':  //cancello effetti contabilizzati
 | ||||
|         filter = "EFFCONT=\"X\""; | ||||
|         break;  | ||||
|         break; | ||||
|    default :  //cancello tutti gli effetti
 | ||||
|         filter = ""; | ||||
|         break; | ||||
|  } | ||||
|  TCursor cur(rel,filter,key,from,to); // istanzio il cursore    
 | ||||
|  TLocalisamfile& delfile = cur.file();// prendo un riferimento al file 
 | ||||
|  long n = cur.items();// prendo il numero di elementi del cursore 
 | ||||
|  cur.freeze();// congelo lo stato del cursore 
 | ||||
|  TCursor cur(rel,filter,key,from,to); // istanzio il cursore
 | ||||
|  TLocalisamfile& delfile = cur.file();// prendo un riferimento al file
 | ||||
|  long n = cur.items();// prendo il numero di elementi del cursore
 | ||||
|  cur.freeze();// congelo lo stato del cursore
 | ||||
|  for (cur=0; cur.pos() < n; ++cur)// scandisco tutti gli elementi del cursore
 | ||||
|  { | ||||
|   TEffetto eff(delfile.curr());// istanzio un effetto
 | ||||
|   eff.remove(delfile);         // e lo cancello
 | ||||
|  }  | ||||
| }     | ||||
|  } | ||||
| } | ||||
| 
 | ||||
| //Handler per gestire la conferma della cancellazione degli effetti    
 | ||||
| //Handler per gestire la conferma della cancellazione degli effetti
 | ||||
| bool TEliminazione_effetti::conferma_handler(TMask_field& f, KEY k) | ||||
| {  | ||||
|   TMask &m = f.mask();  | ||||
| { | ||||
|   TMask &m = f.mask(); | ||||
|   if (k == K_SPACE) | ||||
|   {   | ||||
|   { | ||||
|     if (yesno_box("Vuoi veramete eliminare gli effetti selezionati")) | ||||
|        elimina();  | ||||
|   }        | ||||
|        elimina(); | ||||
|   } | ||||
|   return TRUE; | ||||
| } | ||||
| 
 | ||||
| // Handler per gestire la conferma dell'annullamento dei dati 
 | ||||
| // inseriti nella maschera       
 | ||||
| // Handler per gestire la conferma dell'annullamento dei dati
 | ||||
| // inseriti nella maschera
 | ||||
| bool TEliminazione_effetti::annulla_handler(TMask_field& f, KEY k) | ||||
| {  | ||||
|   TMask &m = f.mask();  | ||||
| { | ||||
|   TMask &m = f.mask(); | ||||
|   if (k == K_SPACE) | ||||
|   {   | ||||
|   { | ||||
|     if (yesno_box("Vuoi veramete annullare i dati inseriti")) | ||||
|        m.reset();  | ||||
|   }        | ||||
|        m.reset(); | ||||
|   } | ||||
|   return TRUE; | ||||
| } | ||||
| 
 | ||||
| @ -222,4 +223,4 @@ int ef0400(int argc, char* argv[]) | ||||
|   TEliminazione_effetti a ; | ||||
|   a.run(argc, argv, "Eliminazione Effetti"); | ||||
|   return 0; | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -4,21 +4,21 @@ | ||||
| PAGE "Eliminazione Effetti" -1 -1 57 14 | ||||
| 
 | ||||
| LIST F_TIPOSEL 24 | ||||
| BEGIN         | ||||
| BEGIN | ||||
|   PROMPT 2 1 "Tipo Selezione     " | ||||
|   ITEM "N|Numero progressivo" | ||||
|   MESSAGE DISABLE,2@ | ||||
|   MESSAGE ENABLE,1@ | ||||
|   ITEM "D|Data scadenza" | ||||
|   MESSAGE DISABLE,1@ | ||||
|   MESSAGE ENABLE,2@  | ||||
| END                          | ||||
|   MESSAGE ENABLE,2@ | ||||
| END | ||||
| 
 | ||||
| LIST F_TIPOCANC 24 | ||||
| BEGIN         | ||||
| BEGIN | ||||
|   PROMPT 2 3 "Tipo Cancellazione " | ||||
|   ITEM "T|Tutti" | ||||
|   ITEM "S|Quelli stampati"   | ||||
|   ITEM "S|Quelli stampati" | ||||
|   ITEM "C|Quelli contabilizzati" | ||||
| END | ||||
| 
 | ||||
| @ -26,32 +26,32 @@ GROUPBOX DLG_NULL 55 3 | ||||
| BEGIN | ||||
|   PROMPT 1 5 "Selezione effetti per numero progressivo" | ||||
|   GROUP 1 | ||||
| END                                                    | ||||
| END | ||||
| 
 | ||||
| NUMBER F_DA_RIBA 7 0  | ||||
| NUMBER F_DA_RIBA 7 0 | ||||
| BEGIN | ||||
|   PROMPT 2 6 "Dalla Riba " | ||||
|   GROUP 1                  | ||||
|   GROUP 1 | ||||
|   FIELD LF_EFFETTI->NPROGTR | ||||
|   USE LF_EFFETTI KEY 1 | ||||
|   INPUT NPROGTR F_DA_RIBA | ||||
|   DISPLAY "Nr. progressivo" NPROGTR | ||||
|   DISPLAY "Data scadenza" DATASCAD | ||||
|   OUTPUT F_DA_RIBA NPROGTR | ||||
|   CHECKTYPE NORMAL | ||||
| // CHECKTYPE NORMAL | ||||
| END | ||||
| 
 | ||||
| NUMBER F_A_RIBA  7 0 | ||||
| BEGIN          | ||||
| BEGIN | ||||
|   PROMPT 30 6 "Alla Riba " | ||||
|   GROUP 1                  | ||||
|   GROUP 1 | ||||
|   FIELD LF_EFFETTI->NPROGTR | ||||
|   USE LF_EFFETTI KEY 1 | ||||
|   INPUT NPROGTR F_A_RIBA | ||||
|   DISPLAY "Nr. progressivo" NPROGTR | ||||
|   DISPLAY "Data scadenza" DATASCAD | ||||
|   OUTPUT F_A_RIBA NPROGTR | ||||
|   CHECKTYPE NORMAL | ||||
| //  CHECKTYPE NORMAL | ||||
|   NUM_EXPR  {#THIS_FIELD>=#F_DA_RIBA} | ||||
|   WARNING "Limite superiore  non valido" | ||||
| END | ||||
| @ -60,15 +60,15 @@ GROUPBOX DLG_NULL 55 3 | ||||
| BEGIN | ||||
|   PROMPT 1 9 "Selezione effetti per data scadenza" | ||||
|   GROUP 2 | ||||
| END  | ||||
| END | ||||
| 
 | ||||
| DATA F_DA_DATA | ||||
| BEGIN         | ||||
| BEGIN | ||||
|   PROMPT 2 10 "Dalla Data " | ||||
|   GROUP 2               | ||||
|   GROUP 2 | ||||
|   FIELD LF_EFFETTI->DATASCAD | ||||
|   USE LF_EFFETTI KEY 3 | ||||
|   INPUT DATASCAD F_DA_DATA  | ||||
|   INPUT DATASCAD F_DA_DATA | ||||
|   DISPLAY "Data scadenza" DATASCAD | ||||
|   DISPLAY "Nr. progressivo" NPROGTR | ||||
|   OUTPUT F_DA_DATA DATASCAD | ||||
| @ -77,19 +77,19 @@ BEGIN | ||||
| END | ||||
| 
 | ||||
| DATA F_A_DATA | ||||
| BEGIN          | ||||
| BEGIN | ||||
|   PROMPT 30 10 "Alla Data " | ||||
|   GROUP 2 | ||||
|   FIELD LF_EFFETTI->DATASCAD | ||||
|   USE LF_EFFETTI KEY 3 | ||||
|   INPUT DATASCAD F_A_DATA  | ||||
|   INPUT DATASCAD F_A_DATA | ||||
|   DISPLAY "Data scadenza" DATASCAD | ||||
|   DISPLAY "Nr. progressivo" NPROGTR | ||||
|   OUTPUT F_A_DATA DATASCAD | ||||
|   OUTPUT F_A_RIBA NPROGTR | ||||
|   //CHECKTYPE NORMAL                                 | ||||
|   //CHECKTYPE NORMAL | ||||
|   VALIDATE DATE_CMP_FUNC >= F_DA_DATA | ||||
|   WARNING "Data limite superiore  non valida"  | ||||
|   WARNING "Data limite superiore  non valida" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_OK 9 2 | ||||
| @ -105,9 +105,9 @@ END | ||||
| BUTTON DLG_QUIT 9 2 | ||||
| BEGIN | ||||
|   PROMPT -33 -1 "" | ||||
| END  | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| ENDMASK | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user