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;
 | 
						|
} |