1996-06-04 14:54:43 +00:00
|
|
|
#include <tabapp.h>
|
|
|
|
#include <prefix.h>
|
|
|
|
|
2009-03-02 14:14:35 +00:00
|
|
|
#include "cgtbtra.h"
|
1996-06-04 14:54:43 +00:00
|
|
|
|
|
|
|
class Tabtra_application : public Tab_application
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
TMask* _msk;
|
|
|
|
TString _tabname;
|
|
|
|
|
|
|
|
public:
|
2009-02-27 16:49:30 +00:00
|
|
|
virtual bool check_autorization() const { return false; }
|
|
|
|
virtual bool user_create();
|
1996-06-04 14:54:43 +00:00
|
|
|
virtual void init_query_mode(TMask&);
|
|
|
|
virtual void init_modify_mode(TMask&);
|
|
|
|
virtual void init_insert_mode(TMask&);
|
|
|
|
};
|
|
|
|
|
|
|
|
HIDDEN bool ultimo_handler(TMask& m, KEY k)
|
|
|
|
{
|
|
|
|
if (k == K_SHIFT+K_F12)
|
|
|
|
{
|
|
|
|
m.enable(F_NUMULTRAS);
|
|
|
|
m.enable(F_DATAULTRAS);
|
|
|
|
}
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
2009-02-27 16:49:30 +00:00
|
|
|
HIDDEN bool dittaric_handler(TMask_field& f, KEY k)
|
1996-06-04 14:54:43 +00:00
|
|
|
{
|
|
|
|
if (k == K_TAB)
|
|
|
|
{
|
2009-02-27 16:49:30 +00:00
|
|
|
TMask& m = f.mask();
|
|
|
|
|
|
|
|
bool show_cfc = false;
|
|
|
|
bool show_pcc = false;
|
1996-06-04 14:54:43 +00:00
|
|
|
|
2009-02-27 16:49:30 +00:00
|
|
|
const long codditta = m.get_long(F_CODDITTARIC);
|
|
|
|
if (codditta > 0)
|
1996-06-04 14:54:43 +00:00
|
|
|
{
|
2009-02-27 16:49:30 +00:00
|
|
|
if (!prefix().exist(codditta))
|
1996-06-04 14:54:43 +00:00
|
|
|
{
|
2009-02-27 16:49:30 +00:00
|
|
|
f.error_box(TR("La ditta selezionata non e' abilitata per la contabilita'"));
|
|
|
|
return false;
|
1996-06-04 14:54:43 +00:00
|
|
|
}
|
2009-02-27 16:49:30 +00:00
|
|
|
|
|
|
|
TFilename path = firm2dir(codditta);
|
|
|
|
path.add("ditta.ini");
|
|
|
|
TConfig conf(path, "cg");
|
|
|
|
show_cfc = conf.get_bool("AnCfCm");
|
|
|
|
show_pcc = conf.get_bool("PcTcCm");
|
1996-06-04 14:54:43 +00:00
|
|
|
}
|
2009-02-27 16:49:30 +00:00
|
|
|
|
|
|
|
// Accendi i campi per le forzature sui file in comune se necessario
|
|
|
|
m.show(F_AGGPCONCOM, show_pcc);
|
|
|
|
m.show(F_AGGCLIFOCOM, show_cfc);
|
1996-06-04 14:54:43 +00:00
|
|
|
}
|
2009-02-27 16:49:30 +00:00
|
|
|
|
|
|
|
return true;
|
1996-06-04 14:54:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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();
|
|
|
|
|
2003-04-08 12:45:26 +00:00
|
|
|
open_files(LF_TABCOM, LF_TAB, 0);
|
|
|
|
_msk = get_mask();
|
1996-06-04 14:54:43 +00:00
|
|
|
_tabname = get_tabname();
|
|
|
|
|
|
|
|
if (_tabname == "%TRA")
|
|
|
|
{
|
|
|
|
_msk->set_handler(ultimo_handler);
|
2009-02-27 16:49:30 +00:00
|
|
|
_msk->set_handler(F_CODDITTARIC, dittaric_handler);
|
|
|
|
|
1996-06-04 14:54:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
2007-01-03 17:07:40 +00:00
|
|
|
int cg6300(int argc, char* argv[])
|
1996-06-04 14:54:43 +00:00
|
|
|
{
|
2009-02-27 16:49:30 +00:00
|
|
|
Tabtra_application* a = new Tabtra_application;
|
2003-04-08 12:45:26 +00:00
|
|
|
a->run(argc,argv, TR("Tabelle"));
|
1996-06-24 16:51:49 +00:00
|
|
|
delete a;
|
1996-06-04 14:54:43 +00:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|