Files correlati : Ricompilazione Demo : [ ] Commento : Riportata la versione 3.1 patch 766 git-svn-id: svn://10.65.10.50/trunk@14628 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #include <applicat.h>
 | |
| 
 | |
| #include "mg1200.h"
 | |
| #include "mglib.h"
 | |
| #include "../cg/cglib01.h"
 | |
| 
 | |
| 
 | |
| class TMask_buildmov: public TMask 
 | |
| {
 | |
|   TEsercizi_contabili _esercizi;
 | |
|   static bool handle_annoes(TMask_field &, KEY); // handler del numero di registrazione
 | |
| public:
 | |
|   TMask_buildmov();
 | |
|   virtual ~TMask_buildmov() {}
 | |
| };
 | |
| 
 | |
| TMask_buildmov::TMask_buildmov() 
 | |
|   : TMask("mg1200")
 | |
| {
 | |
|   set_handler(F_ANNOES, handle_annoes);
 | |
| }
 | |
| 
 | |
| bool TMask_buildmov::handle_annoes(TMask_field &fld, KEY k)
 | |
| {
 | |
|   TMask_buildmov &mask=(TMask_buildmov &)fld.mask();
 | |
|   if (fld.empty())
 | |
|   {
 | |
|     // DEFAULT
 | |
|     const long esc=mask._esercizi.date2esc(mask.get_date(F_DATA));
 | |
|     if (esc!=0)
 | |
|       fld.set(esc);
 | |
|   } 
 | |
|   if (fld.to_check(k) || k == K_ENTER) 
 | |
|   {
 | |
|     if (mask._esercizi.exist(mask.get_int(F_ANNOES)))
 | |
|     {
 | |
|       const TEsercizio & e=mask._esercizi.esercizio(mask.get_int(F_ANNOES));
 | |
|       if (e.chiusura_mag()!=TDate(NULLDATE))
 | |
|       {
 | |
|         fld.error_box(TR("Il magazzino dell'esercizio indicato risulta chiuso \nImpossibile effettuare la ricostruzione saldi"))  ;
 | |
|         return FALSE; 
 | |
|       }                                       
 | |
|     } 
 | |
|   }
 | |
|   return TRUE;
 | |
| }
 | |
| 
 | |
| 
 | |
| class TApp_rebuildbalances : public TSkeleton_application 
 | |
| {
 | |
|   TRelation* _rel;   // relazione 
 | |
|   TCursor* _cur;     // cursore
 | |
|   TString4 _annoes;
 | |
|   bool _reset_giac;
 | |
| 
 | |
| protected:
 | |
|   virtual bool create();
 | |
|   virtual void main_loop();
 | |
| 
 | |
| public:
 | |
|   TApp_rebuildbalances() {}
 | |
|   virtual ~TApp_rebuildbalances() {}
 | |
| };
 | |
| 
 | |
| bool TApp_rebuildbalances::create()
 | |
| {
 | |
|   open_files(LF_ANAMAG,LF_UMART,LF_MAG,LF_MOVMAG,LF_RMOVMAG,LF_TABCOM,LF_STOMAG, LF_DESLIN, LF_CODCORR, 0);
 | |
|   return TSkeleton_application::create();
 | |
| }
 | |
| 
 | |
| 
 | |
| void TApp_rebuildbalances::main_loop()
 | |
| {
 | |
|   TMask_buildmov m;
 | |
|   while (m.run()==K_ENTER)
 | |
|   {
 | |
|     if (!rebuild_balances(m.get(F_ANNOES)))
 | |
|       warning_box(TR("A causa degli errori riscontrati i saldi di magazzino \npotrebbero non essere stati del tutto aggiornati. \nProcedere ad una nuova operazione di ''Ricostruzione saldi''"));
 | |
| 
 | |
|   }
 | |
| }
 | |
| 
 | |
| int mg1200(int argc, char* argv[])
 | |
| {
 | |
|   TApp_rebuildbalances a;
 | |
|   
 | |
|   a.run(argc, argv, TR("Ricostruzione saldi"));
 | |
|   return 0;
 | |
| }
 |