// gestione files Contabilita' Analitica: CENTRI DI COSTO #include #include #include "calib01.h" #include "ca0500a.h" //////////////////////////////////////////////////////////////////////// //MASCHERA //////////////////////////////////////////////////////////////////////// class TCdC_anal_msk : public TSimple_anal_msk { protected: virtual int get_logicnum() const { return LF_CDC; } public: TCdC_anal_msk() { read("ca0500a"); } }; //////////////////////////////////////////////////////////////////////// //APPLICAZIONE //////////////////////////////////////////////////////////////////////// // applicazione per la gestione dei Centri di Costo class TCdC_app : public TAnal_app { int _maxlev; protected: virtual void init_modify_mode(TMask& mask); virtual void init_insert_mode(TMask& mask); virtual TSimple_anal_msk* create_mask() const { return new TCdC_anal_msk; } virtual bool user_create(); }; void TCdC_app::init_modify_mode(TMask& mask) { const short id = ((TCdC_anal_msk &)mask).get_field_id(_maxlev - 1, 1); mask.enable(-1, mask.get(id).not_empty()); TAnal_app::init_modify_mode(mask); } void TCdC_app::init_insert_mode(TMask& mask) { const short id = ((TCdC_anal_msk &)mask).get_field_id(_maxlev - 1, 1); mask.enable(-1, mask.get(id).not_empty()); TAnal_app::init_insert_mode(mask); } bool TCdC_app::user_create() { const TMultilevel_code_info& mci = ca_multilevel_code_info(LF_CDC); _maxlev = mci.levels(); if (_maxlev <= 0) return error_box(TR("I centri di costo non sono stati configurati")); return TAnal_app::user_create(); } int ca0500(int argc, char* argv[]) { TCdC_app a; a.run(argc, argv, TR("Centri di Costo")); return 0; }