Files correlati : Ricompilazione Demo : [ ] Commento : migliorato controllo precheck tabelle iva standard in installazione git-svn-id: svn://10.65.10.50/trunk@19903 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			132 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #include <config.h>
 | |
| #include <execp.h>
 | |
| #include <modaut.h>
 | |
| #include <recarray.h>
 | |
| #include <tabutil.h>
 | |
| 
 | |
| #include "bainstlib.h"
 | |
| #include "bainst.h"
 | |
| #include "bainst00.h"
 | |
| 
 | |
| class TInstall_BA : public TInstallmodule_app
 | |
| {
 | |
| private:
 | |
|   
 | |
| protected:
 | |
|   virtual int module_number() const { return 0; }
 | |
|   virtual bool install_com();
 | |
|   virtual bool post_installer();
 | |
|   virtual bool preload_mask();
 | |
| 	virtual bool something_to_load() const;
 | |
|   virtual bool something_checked() const;
 | |
| 
 | |
| public:
 | |
|   virtual ~TInstall_BA () {}
 | |
| };
 | |
| 
 | |
| HIDDEN int search_edit(TConfig& cfg, void*)
 | |
| { 
 | |
|   const TString16 module = cfg.get_paragraph().left(2); 
 | |
|   TAssoc_array& var = cfg.list_variables(); 
 | |
|   bool dirty = FALSE;
 | |
|   FOR_EACH_ASSOC_STRING (var, obj, key, str)
 | |
|   {
 | |
|     const TFixed_string confr (key);
 | |
|     if (confr.compare("Edit_", 5, TRUE) == 0)
 | |
|     {
 | |
|       if (module.compare(str, 2, TRUE) != 0)
 | |
|       {
 | |
|         cfg.remove(key);
 | |
|         dirty = TRUE;
 | |
|       }
 | |
|     }
 | |
|   }
 | |
|   if (dirty)
 | |
|   {
 | |
|     cfg.set_paragraph("");
 | |
|   }
 | |
|   return FALSE;
 | |
| }
 | |
| 
 | |
| bool TInstall_BA::post_installer()
 | |
| {
 | |
|   // configurazione provvisoria dei programmi gestori di tabelle
 | |
|   if (!test_database())
 | |
|   {
 | |
|     TConfig studio(CONFIG_STUDIO);
 | |
|     const char *confapp="EdApp";
 | |
|     const char *tabapp="TabPrg";
 | |
|     // magazzino  
 | |
|     studio.set_paragraph("mg");
 | |
|     studio.set(tabapp,"mg0 -0");
 | |
|     studio.set(confapp,"mg0 -2 -1");
 | |
|     // distinta base
 | |
|     studio.set_paragraph("db");
 | |
|     studio.set(tabapp,"db0 -0");
 | |
|     studio.set(confapp,"");
 | |
|     // statistiche
 | |
|     studio.set_paragraph("sv");
 | |
|     studio.set(tabapp,"sv0 -0");
 | |
|     studio.set(confapp,"sv0 -3");
 | |
|     // provvigioni
 | |
|     studio.set_paragraph("pr");
 | |
|     studio.set(tabapp,"pr0 -4");
 | |
|     // MRP
 | |
|     studio.set_paragraph("mr");
 | |
|     studio.set(tabapp,"mr0 -0");
 | |
|   }
 | |
|   
 | |
|   TConfig install ("install.ini");
 | |
|   install.for_each_paragraph(search_edit, NULL);
 | |
| 
 | |
|   return true;
 | |
| }
 | |
|  
 | |
| bool TInstall_BA::something_checked() const 
 | |
| {
 | |
|   return _m->get_bool(F_DATI_IVA) || TInstallmodule_app::something_checked();
 | |
| }
 | |
| 
 | |
| bool TInstall_BA::something_to_load() const
 | |
| {
 | |
| 	if (test_database())
 | |
| 	{
 | |
| 		TTable iva("%IVA");
 | |
| 		if (iva.empty())
 | |
| 			return true;
 | |
| 	}
 | |
| 	return TInstallmodule_app::something_to_load();
 | |
| }
 | |
| 
 | |
| bool TInstall_BA::preload_mask()
 | |
| {
 | |
|   if (has_module(CGAUT) || has_module(VEAUT))
 | |
|   {
 | |
| 	  if (something_to_load())
 | |
| 		  _m->set(F_DATI_IVA, "X");
 | |
|   }
 | |
|   else
 | |
|     _m->hide(F_DATI_IVA);
 | |
| 
 | |
| 	return TInstallmodule_app::preload_mask();
 | |
| }
 | |
| 
 | |
| bool TInstall_BA::install_com() 
 | |
| {
 | |
| 	//i codici iva vanno a parte
 | |
|   TStd_filename txtfile;
 | |
|   if (_m->get_bool(F_DATI_IVA) && txtfile.check(TRUE,"lfiva.txt"))
 | |
|   {
 | |
|     TSystemisamfile tabcom(LF_TABCOM);
 | |
|     tabcom.load(txtfile);
 | |
|   }
 | |
| 
 | |
|   return TInstallmodule_app::install_com();
 | |
| }
 | |
| 
 | |
| int bainst00(int argc, char** argv)
 | |
| { 
 | |
|   TInstall_BA app;
 | |
|   app.run(argc, argv);
 | |
|   return 0;
 | |
| } |