104 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
 | 
						|
#include <applicat.h>
 | 
						|
#include <tabapp.h>  
 | 
						|
#include <strings.h>
 | 
						|
#include <stdtypes.h>
 | 
						|
#include <tabutil.h>
 | 
						|
#include <utility.h> 
 | 
						|
#include <prefix.h>
 | 
						|
 | 
						|
#include "..\ba\batbtra.h"
 | 
						|
 | 
						|
class Tabtra_application : public Tab_application
 | 
						|
{
 | 
						|
private:
 | 
						|
  TMask*  _msk;   
 | 
						|
  TString _tabname;
 | 
						|
  
 | 
						|
public:
 | 
						|
  bool user_create();
 | 
						|
  virtual void init_query_mode(TMask&);
 | 
						|
  virtual void init_modify_mode(TMask&);
 | 
						|
  virtual void init_insert_mode(TMask&);
 | 
						|
 | 
						|
  Tabtra_application() {}
 | 
						|
  virtual ~Tabtra_application() {}
 | 
						|
};
 | 
						|
 | 
						|
HIDDEN inline Tabtra_application& app() {return (Tabtra_application&) main_app();}
 | 
						|
 | 
						|
HIDDEN bool ultimo_handler(TMask& m, KEY k)
 | 
						|
{
 | 
						|
  if (k == K_SHIFT+K_F12)
 | 
						|
  { 
 | 
						|
    m.enable(F_NUMULTRAS);
 | 
						|
    m.enable(F_DATAULTRAS);
 | 
						|
  }
 | 
						|
  
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
HIDDEN bool ditta_handler(TMask_field& f, KEY k)
 | 
						|
{
 | 
						|
  if (k == K_TAB)
 | 
						|
  { 
 | 
						|
    long codditta = f.mask().get_long(F_CODDITTARIC);
 | 
						|
    
 | 
						|
    if (codditta != 0)
 | 
						|
    {
 | 
						|
      if (prefix().exist(codditta))
 | 
						|
        return TRUE;
 | 
						|
      else
 | 
						|
      {
 | 
						|
        f.error_box("La ditta selezionata non e' abilitata per la contabilita' ");
 | 
						|
        return FALSE;
 | 
						|
      }
 | 
						|
    }  
 | 
						|
  }      
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
void Tabtra_application::init_query_mode(TMask& m)
 | 
						|
{
 | 
						|
  m.disable(F_NUMULTRAS);
 | 
						|
  m.disable(F_DATAULTRAS);
 | 
						|
}
 | 
						|
 | 
						|
void Tabtra_application::init_modify_mode(TMask& m)
 | 
						|
{
 | 
						|
  m.disable(F_NUMULTRAS);
 | 
						|
  m.disable(F_DATAULTRAS);
 | 
						|
}
 | 
						|
 | 
						|
void Tabtra_application::init_insert_mode(TMask& m)
 | 
						|
{
 | 
						|
  m.disable(F_NUMULTRAS);
 | 
						|
  m.disable(F_DATAULTRAS);
 | 
						|
}
 | 
						|
 | 
						|
bool Tabtra_application::user_create()
 | 
						|
{ 
 | 
						|
  Tab_application::user_create();
 | 
						|
 | 
						|
  _msk     = get_mask();
 | 
						|
  _tabname = get_tabname();
 | 
						|
 | 
						|
  if (_tabname == "%TRA") 
 | 
						|
  {  
 | 
						|
    _msk->set_handler(ultimo_handler);
 | 
						|
    _msk->set_handler(F_CODDITTARIC, ditta_handler);
 | 
						|
  }
 | 
						|
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
cg2300(int argc, char* argv[])
 | 
						|
{
 | 
						|
  Tabtra_application a;
 | 
						|
  
 | 
						|
  a.run(argc,argv, "Tabelle");
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
 |