71 lines
1.6 KiB
C++
71 lines
1.6 KiB
C++
|
// Programma generico di gestione tabelle modulo provvigioni agenti
|
||
|
|
||
|
#include <tabapp.h>
|
||
|
#include <tabutil.h>
|
||
|
#include "prtbapr.h"
|
||
|
|
||
|
class TTablePR_app : public Tab_application
|
||
|
{
|
||
|
protected:
|
||
|
virtual bool user_destroy() ;
|
||
|
virtual bool user_create() ;
|
||
|
static bool gmc_handler(TMask_field& f, KEY k);
|
||
|
public:
|
||
|
|
||
|
TTablePR_app() {}
|
||
|
virtual ~TTablePR_app() {}
|
||
|
};
|
||
|
|
||
|
static inline TTablePR_app& app() { return (TTablePR_app&)main_app(); }
|
||
|
|
||
|
bool TTablePR_app::gmc_handler(TMask_field& f, KEY k)
|
||
|
{
|
||
|
if (f.to_check(k))
|
||
|
{
|
||
|
TString v1 = f.get(),v2;
|
||
|
TMask& m = f.mask();
|
||
|
if (v1 == "E" || v1 == "R")
|
||
|
{
|
||
|
for (short id = F_SEQRIC1; id <= F_SEQRIC4; id++)
|
||
|
{
|
||
|
if (f.dlg() == id)
|
||
|
continue;
|
||
|
v2 = m.get(id);
|
||
|
if (v1 == "E" && v2 == "R" || v1 == "R" && v2 == "E")
|
||
|
return f.error_box("Non e' possibile usare contemporaneamente la "
|
||
|
"tabella gruppo merceologico e la tabella sottogruppo "
|
||
|
"merceologico");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
bool TTablePR_app::user_create()
|
||
|
{
|
||
|
Tab_application::user_create();
|
||
|
const TString& name = get_tabname();
|
||
|
TMask& mask = *get_mask();
|
||
|
if (name == "APR")
|
||
|
{
|
||
|
mask.set_handler(F_SEQRIC1,gmc_handler);
|
||
|
mask.set_handler(F_SEQRIC2,gmc_handler);
|
||
|
mask.set_handler(F_SEQRIC3,gmc_handler);
|
||
|
mask.set_handler(F_SEQRIC4,gmc_handler);
|
||
|
}
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
bool TTablePR_app::user_destroy()
|
||
|
{
|
||
|
return Tab_application::user_destroy();
|
||
|
}
|
||
|
|
||
|
int pr0100(int argc, char** argv)
|
||
|
{
|
||
|
TTablePR_app a;
|
||
|
a.run(argc, argv, "Tabella");
|
||
|
return 0;
|
||
|
}
|