1996-06-04 14:54:43 +00:00
|
|
|
|
|
|
|
#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;
|
|
|
|
}
|
|
|
|
|
|
|
|
cg6300(int argc, char* argv[])
|
|
|
|
{
|
1996-06-24 16:51:49 +00:00
|
|
|
Tabtra_application* a= new Tabtra_application;
|
1996-06-04 14:54:43 +00:00
|
|
|
|
1996-06-24 16:51:49 +00:00
|
|
|
a->run(argc,argv, "Tabelle");
|
|
|
|
delete a;
|
1996-06-04 14:54:43 +00:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|