2004-12-21 16:05:17 +00:00
|
|
|
// gestione files Contabilita' Analitica: COMMESSE
|
|
|
|
#include <execp.h>
|
|
|
|
#include <relapp.h>
|
|
|
|
|
|
|
|
#include "calib01.h"
|
|
|
|
#include "ca0600a.h"
|
2007-10-29 11:34:54 +00:00
|
|
|
#include "commesse.h"
|
2004-12-21 16:05:17 +00:00
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
//MASCHERA
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
class TCms_anal_msk : public TSimple_anal_msk
|
|
|
|
{
|
|
|
|
protected:
|
|
|
|
virtual int get_logicnum() const { return LF_COMMESSE; }
|
|
|
|
|
|
|
|
public:
|
2007-10-29 11:34:54 +00:00
|
|
|
TCms_anal_msk();
|
2004-12-21 16:05:17 +00:00
|
|
|
};
|
|
|
|
|
2007-10-29 11:34:54 +00:00
|
|
|
TCms_anal_msk::TCms_anal_msk()
|
|
|
|
{
|
|
|
|
read("ca0600a");
|
|
|
|
ca_create_fields(*this, 2, LF_CDC, 1, 1, F_CMS_CDC1, F_CMS_CDCDES1, 0x0, COMMESSE_CODCOSTO);
|
|
|
|
}
|
|
|
|
|
2004-12-21 16:05:17 +00:00
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
//APPLICAZIONE
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
// applicazione per la gestione delle commesse
|
|
|
|
class TCms_app : public TAnal_app
|
|
|
|
{
|
2005-08-23 08:43:45 +00:00
|
|
|
int _maxlev;
|
2009-03-25 15:09:59 +00:00
|
|
|
bool _has_filter;
|
|
|
|
|
|
|
|
protected:
|
2009-05-29 13:04:17 +00:00
|
|
|
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
|
|
|
|
|
2009-03-25 15:09:59 +00:00
|
|
|
virtual bool filtered() const;
|
2005-08-23 08:43:45 +00:00
|
|
|
|
|
|
|
virtual void init_modify_mode(TMask& mask);
|
|
|
|
virtual void init_insert_mode(TMask& mask);
|
2005-01-14 15:14:34 +00:00
|
|
|
virtual TSimple_anal_msk* create_mask() const { return new TCms_anal_msk; }
|
2005-03-31 16:06:22 +00:00
|
|
|
virtual bool user_create();
|
2004-12-21 16:05:17 +00:00
|
|
|
};
|
|
|
|
|
2009-03-25 15:09:59 +00:00
|
|
|
bool TCms_app::filtered() const
|
|
|
|
{
|
|
|
|
if (_has_filter)
|
|
|
|
return true;
|
|
|
|
return TAnal_app::filtered();
|
|
|
|
}
|
|
|
|
|
2005-08-23 08:43:45 +00:00
|
|
|
void TCms_app::init_modify_mode(TMask& mask)
|
|
|
|
{
|
|
|
|
const short id = ((TCms_anal_msk &)mask).get_field_id(_maxlev - 1 , 1);
|
|
|
|
mask.enable(-1, mask.get(id).not_empty());
|
|
|
|
|
|
|
|
TAnal_app::init_modify_mode(mask);
|
|
|
|
}
|
|
|
|
|
|
|
|
void TCms_app::init_insert_mode(TMask& mask)
|
|
|
|
{
|
|
|
|
const short id = ((TCms_anal_msk &)mask).get_field_id(_maxlev - 1, 1);
|
|
|
|
mask.enable(-1, mask.get(id).not_empty());
|
|
|
|
|
|
|
|
TAnal_app::init_insert_mode(mask);
|
|
|
|
}
|
|
|
|
|
2005-03-31 16:06:22 +00:00
|
|
|
bool TCms_app::user_create()
|
|
|
|
{
|
|
|
|
const TMultilevel_code_info& mci = ca_multilevel_code_info(LF_COMMESSE);
|
2005-08-23 08:43:45 +00:00
|
|
|
|
|
|
|
_maxlev = mci.levels();
|
|
|
|
if (_maxlev <= 0)
|
2005-03-31 16:06:22 +00:00
|
|
|
return error_box(TR("Le commesse non sono state configurate"));
|
|
|
|
|
2009-03-25 15:09:59 +00:00
|
|
|
//eventuali filtri per utente
|
|
|
|
_has_filter = cache().get("%AUC", user(), "S0").full();
|
|
|
|
|
2005-03-31 16:06:22 +00:00
|
|
|
return TAnal_app::user_create();
|
|
|
|
}
|
|
|
|
|
2004-12-21 16:05:17 +00:00
|
|
|
int ca0600(int argc, char* argv[])
|
|
|
|
{
|
|
|
|
TCms_app a;
|
|
|
|
a.run(argc, argv, TR("Commesse"));
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|