#include #include "vdconf.h" #include "../ve/velib.h" class TConf_vendita_ditta : public TConfig_application { static bool check_fields(TMask_field& f, KEY k); virtual TMask* create_mask(const TFilename& f); public: // @cmember Disabilita la verifica del modulo in chiave virtual bool check_autorization() const { return false; } virtual bool preprocess_config (TMask& mask, TConfig& config); virtual bool postprocess_config (TMask& mask, TConfig& config); virtual bool user_create( ); virtual bool user_destroy( ); TConf_vendita_ditta() : TConfig_application( CONFIG_DITTA ){ } virtual ~TConf_vendita_ditta( ){ } }; bool tipo_handler( TMask_field& f, KEY k) { TMask& m = f.mask(); if (f.to_check(k)) { TCodice_numerazione cod_num(m.get(FD_CODNUM)); const TString& tipo = f.get(); int last = cod_num.ntipi_doc(); for (int i = 0; i < last; i++ ) { const TString16 curtipo(cod_num.tipo_doc(i)); if (curtipo == tipo) return true; } return f.error_box( TR("Tipo non valido per la numerazione selezionata!")); } return true; } bool TConf_vendita_ditta::check_fields(TMask_field& f, KEY k) { return true; } bool TConf_vendita_ditta::preprocess_config (TMask& mask, TConfig& config) { return true; } bool TConf_vendita_ditta::postprocess_config (TMask& mask, TConfig& config) { bool ok = true; TString_array codes; for (int i = 0 ; ok && i< 8; i++) { const TString & codpag = mask.get(FD_CODPAG01 + ROW_INC * i); if (codpag.not_empty()) { const int row = codes.find(codpag); if (row == -1) codes.add(codpag); else ok = error_box(FR("Il codice %s è già stato utilòizzato nella riga %d"), (const char *) codpag, row + 1); } } return ok; } TMask* TConf_vendita_ditta::create_mask(const TFilename& f) { TMask* m = TConfig_application::create_mask(f); m->set_handler(FD_TIPODOC, tipo_handler); return m; } bool TConf_vendita_ditta::user_create( ) { TConfig conf(CONFIG_DITTA); conf.set( "EdMask", "vd0300a", "vd"); return true; } bool TConf_vendita_ditta::user_destroy( ) { return true; } int vd0300(int argc, char* argv[]) { TConf_vendita_ditta appc; appc.run(argc, argv, TR("Parametri ditta vendita al banco")); return 0; }