153 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			153 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
// 773400.cpp - gestione tabelle 770
 | 
						|
#include <applicat.h>
 | 
						|
#include <tabapp.h>  
 | 
						|
#include <strings.h>
 | 
						|
#include <stdtypes.h>
 | 
						|
#include <tabutil.h>
 | 
						|
#include <utility.h>
 | 
						|
#include "batbca7.h"
 | 
						|
 | 
						|
// Lista modifiche
 | 
						|
// 
 | 
						|
// 21.12.95  i codici quadro con 1015 sono C-E1 (= tolto E2) (nf)
 | 
						|
//           la perc. r.a. non e' piu' obbligatoria (nf)
 | 
						|
//
 | 
						|
// 14.5.96	Modifiche per dichiarazione 96 (nf)
 | 
						|
//
 | 
						|
 | 
						|
class Tab770_application : public Tab_application
 | 
						|
{
 | 
						|
  private:
 | 
						|
    TMask*  _msk;   
 | 
						|
    TString _tabname;
 | 
						|
    
 | 
						|
  protected:  
 | 
						|
    bool	IsCausali() const { return _tabname == "%CA7"; }
 | 
						|
    void	SetDefaultValueCausali(TMask& m);
 | 
						|
    void	init_mask(TMask& m);
 | 
						|
  public:      
 | 
						|
    bool user_create();                      
 | 
						|
    virtual void init_modify_mode(TMask& m);    
 | 
						|
    virtual void init_insert_mode(TMask& m);
 | 
						|
    virtual void init_query_mode(TMask& m); 
 | 
						|
    virtual bool firm_change_enabled() const;
 | 
						|
    Tab770_application() {}
 | 
						|
    virtual ~Tab770_application() {}
 | 
						|
};
 | 
						|
 | 
						|
HIDDEN inline Tab770_application& app() {return (Tab770_application&) main_app();}
 | 
						|
 | 
						|
HIDDEN bool codqua_handler(TMask_field& f, KEY k)
 | 
						|
{
 | 
						|
  if (k == K_ENTER && f.mask().is_running())
 | 
						|
  {
 | 
						|
    TMask& m = f.mask();
 | 
						|
    const int trib = atoi(m.get(F_CODTRIB));
 | 
						|
 | 
						|
    if (trib == 1015)               
 | 
						|
    {  
 | 
						|
      const int dlg_qua = F_QUADRCE2;
 | 
						|
      TString16 quad(m.get(F_QUADRCE2)); 
 | 
						|
      quad.trim();
 | 
						|
      quad.upper();
 | 
						|
      if (quad != "C" && quad != "D" && quad != "E" && quad != "E1" &&
 | 
						|
          quad != "D1")
 | 
						|
        return f.warning_box("Con il codice tributo 1015 si possono indicare solo i quadri C-D-D1-E-E1");
 | 
						|
    }
 | 
						|
  }
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
HIDDEN bool codtrib_handler(TMask_field& f, KEY k)
 | 
						|
{
 | 
						|
  if (k == K_TAB)
 | 
						|
  { 
 | 
						|
    TMask& m = f.mask();
 | 
						|
    const int trib = atoi(f.get());
 | 
						|
        
 | 
						|
    if (trib == 1015) {
 | 
						|
      m.hide(F_QUADRAT);
 | 
						|
      m.show(F_QUADRCE2);
 | 
						|
    }
 | 
						|
    else {
 | 
						|
      m.hide(F_QUADRCE2);
 | 
						|
      m.show(F_QUADRAT);
 | 
						|
    }      
 | 
						|
  }
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
HIDDEN bool descr_handler(TMask_field& f, KEY k)
 | 
						|
{
 | 
						|
  if (k == K_ENTER)
 | 
						|
  { 
 | 
						|
    TMask& m = f.mask();
 | 
						|
    const TString descr = f.get();
 | 
						|
    
 | 
						|
    if (descr == "")
 | 
						|
    {
 | 
						|
      f.error_box("La descrizione e' obbligatoria");
 | 
						|
      return FALSE;
 | 
						|
    }      
 | 
						|
  }
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
void Tab770_application::SetDefaultValueCausali(TMask& m)
 | 
						|
{
 | 
						|
  TString sPercAss(m.get(F_PERASS));
 | 
						|
 | 
						|
  sPercAss.trim();
 | 
						|
 | 
						|
  if (sPercAss.empty())
 | 
						|
    m.set(F_PERASS,      "100.00");	// % ass. imponibile
 | 
						|
}
 | 
						|
 | 
						|
void Tab770_application::init_mask(TMask& m)
 | 
						|
{
 | 
						|
  if (IsCausali())
 | 
						|
    SetDefaultValueCausali(m);
 | 
						|
}
 | 
						|
 | 
						|
void Tab770_application::init_query_mode(TMask& m)
 | 
						|
{
 | 
						|
  init_mask(m);
 | 
						|
}
 | 
						|
 | 
						|
void Tab770_application::init_insert_mode(TMask& m)
 | 
						|
{
 | 
						|
  init_mask(m);
 | 
						|
}
 | 
						|
 | 
						|
void Tab770_application::init_modify_mode(TMask& m)
 | 
						|
{}
 | 
						|
 | 
						|
bool Tab770_application::user_create()
 | 
						|
{ 
 | 
						|
  Tab_application::user_create();
 | 
						|
  _msk     = get_mask();
 | 
						|
  _tabname = get_tabname();
 | 
						|
 | 
						|
  if (IsCausali()) 
 | 
						|
  {
 | 
						|
    _msk->set_handler(F_CODTRIB,  codtrib_handler);
 | 
						|
    _msk->set_handler(F_QUADRCE2, codqua_handler);
 | 
						|
    _msk->set_handler(F_QUADRAT,  codqua_handler);
 | 
						|
  }
 | 
						|
  return TRUE;
 | 
						|
}                               
 | 
						|
 | 
						|
bool Tab770_application::firm_change_enabled() const
 | 
						|
{ 
 | 
						|
	return FALSE;
 | 
						|
}
 | 
						|
 | 
						|
m73400(int argc, char* argv[])
 | 
						|
{
 | 
						|
  Tab770_application a;
 | 
						|
  a.run(argc,argv, "Tabelle");
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
 |