2004-10-11 14:37:45 +00:00
|
|
|
// gestione tabelle Contabilita' Analitica
|
|
|
|
#include <automask.h>
|
|
|
|
#include <modaut.h>
|
|
|
|
#include <tabapp.h>
|
|
|
|
|
2004-12-15 15:34:33 +00:00
|
|
|
#include "calib01.h"
|
2004-12-21 16:05:17 +00:00
|
|
|
#include "calibmsk.h"
|
2004-12-15 15:34:33 +00:00
|
|
|
|
2004-10-11 14:37:45 +00:00
|
|
|
////////////////////////////////////////////////////////////////////////
|
2004-12-15 15:34:33 +00:00
|
|
|
//MASCHERA GENERICA DI TABELLA NON GERARCHICA
|
2004-10-11 14:37:45 +00:00
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
// maschere delle tabelle di Contabilita' Analitica
|
|
|
|
class TMask_tabca : public TAutomask
|
|
|
|
{
|
|
|
|
|
|
|
|
protected:
|
|
|
|
bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
|
|
|
public:
|
|
|
|
TMask_tabca(const char * ,const TString16 &);
|
|
|
|
virtual ~TMask_tabca();
|
|
|
|
};
|
|
|
|
|
|
|
|
TMask_tabca::TMask_tabca(const char * _maskname,const TString16 &tabname):
|
|
|
|
TAutomask(_maskname)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
TMask_tabca::~TMask_tabca()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
bool TMask_tabca::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|
|
|
{
|
2005-01-19 14:25:12 +00:00
|
|
|
/* switch (o.dlg())
|
2004-10-11 14:37:45 +00:00
|
|
|
{
|
|
|
|
|
|
|
|
default: break;
|
2005-01-19 14:25:12 +00:00
|
|
|
}*/
|
2004-12-15 13:55:45 +00:00
|
|
|
return true;
|
2004-10-11 14:37:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2004-12-15 15:34:33 +00:00
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
//MASCHERA GENERICA DI TABELLA GERARCHICA (attualmente usata per tutte le tabelle catbxxx)
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
class TMask_tabanal : public TSimple_anal_msk
|
|
|
|
{
|
|
|
|
const char* _codtab;
|
|
|
|
const char* _keyvar;
|
|
|
|
const char* _desvar;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual int get_logicnum() const { return LF_TAB; }
|
|
|
|
virtual const char* get_tabname() const {return _codtab; }
|
|
|
|
virtual const char* get_key_var() const { return _keyvar; }
|
|
|
|
virtual const char* get_des_var() const { return _desvar; }
|
|
|
|
virtual short get_field_id(int n, int k) const;
|
|
|
|
|
|
|
|
public:
|
|
|
|
TMask_tabanal(const char* c, const char* k, const char* d);
|
|
|
|
};
|
|
|
|
|
|
|
|
short TMask_tabanal::get_field_id(int n, int k) const
|
|
|
|
{
|
|
|
|
const int tot = fieldrefs(1);
|
|
|
|
short id = 0;
|
|
|
|
if (n >= 0 && n < tot)
|
|
|
|
{
|
|
|
|
if (k == 2)
|
|
|
|
id = F_DES1+n;
|
|
|
|
else
|
|
|
|
id = F_KEY1+n;
|
|
|
|
}
|
|
|
|
return id;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
TMask_tabanal::TMask_tabanal(const char* c, const char* k, const char* d)
|
|
|
|
: _codtab(c),_keyvar(k),_desvar(d)
|
|
|
|
{
|
|
|
|
TString16 maskname;
|
|
|
|
maskname << "catb" << c;
|
|
|
|
read(maskname);
|
|
|
|
}
|
|
|
|
|
2004-10-11 14:37:45 +00:00
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
//APPLICAZIONE
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
// applicazione per la gestione delle tabelle di Contabilita' Analitica
|
|
|
|
class Tab_app_ca : public Tab_application
|
|
|
|
{
|
2005-03-16 12:12:22 +00:00
|
|
|
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
|
|
|
|
|
2004-10-11 14:37:45 +00:00
|
|
|
protected: // TRelation_application
|
|
|
|
virtual bool user_destroy() ;
|
|
|
|
virtual bool user_create() ;
|
|
|
|
virtual int rewrite(const TMask& m);
|
|
|
|
|
|
|
|
virtual TMask * set_mask(TMask * _m=NULL);
|
|
|
|
|
|
|
|
public:
|
|
|
|
Tab_app_ca();
|
|
|
|
virtual ~Tab_app_ca() {}
|
|
|
|
};
|
|
|
|
|
|
|
|
HIDDEN inline Tab_app_ca& app() { return (Tab_app_ca&)main_app(); }
|
2004-11-29 09:52:49 +00:00
|
|
|
|
2004-10-11 14:37:45 +00:00
|
|
|
// costruttore
|
|
|
|
Tab_app_ca::Tab_app_ca() {}
|
|
|
|
|
|
|
|
|
|
|
|
// alloca/cambia la maschera dell'applicazione
|
|
|
|
TMask * Tab_app_ca::set_mask(TMask * _m)
|
|
|
|
{
|
|
|
|
if (_m != NULL)
|
|
|
|
return Tab_application::set_mask(_m);
|
2004-12-15 15:34:33 +00:00
|
|
|
else
|
|
|
|
{
|
|
|
|
const TFixed_string tabname(get_tabname());
|
2004-10-11 14:37:45 +00:00
|
|
|
TString maskname;
|
2004-12-15 15:34:33 +00:00
|
|
|
TMask * m = NULL;
|
|
|
|
if (tabname == "CDC")
|
|
|
|
m = new TMask_tabanal("CDC", "CdC", "CdCDes"); else
|
|
|
|
if (tabname == "CMS")
|
2005-02-23 09:30:28 +00:00
|
|
|
m = new TMask_tabanal("CMS", "Cms", "CmsDes"); else
|
2004-12-15 15:34:33 +00:00
|
|
|
if (tabname == "FSC")
|
|
|
|
m = new TMask_tabanal("FSC", "Fsc", "FscDes");
|
|
|
|
else
|
|
|
|
m = new TMask_tabca((const char *)get_mask_name(maskname),tabname);
|
|
|
|
return Tab_application::set_mask(m);
|
2004-10-11 14:37:45 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Tab_app_ca::user_create()
|
|
|
|
{
|
|
|
|
bool ok = Tab_application::user_create();
|
|
|
|
|
|
|
|
if (ok)
|
|
|
|
{
|
|
|
|
TMask& mask = *set_mask();
|
|
|
|
}
|
|
|
|
|
|
|
|
return ok;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Tab_app_ca::user_destroy()
|
|
|
|
{
|
|
|
|
return Tab_application::user_destroy();
|
|
|
|
}
|
|
|
|
|
|
|
|
int Tab_app_ca::rewrite(const TMask& m)
|
|
|
|
{
|
|
|
|
return Tab_application::rewrite(m);
|
|
|
|
}
|
|
|
|
|
|
|
|
int ca0100(int argc, char* argv[])
|
|
|
|
{
|
2004-11-29 09:52:49 +00:00
|
|
|
Tab_app_ca a;
|
2004-10-11 14:37:45 +00:00
|
|
|
a.run(argc, argv, TR("Tabella"));
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|