campo-sirio/vd/vd0300.cpp
alex 046e2c06cb Patch level : 4.0 649
Ricompilazione Demo : [ ]
Commento            :

Riportata la versione 3.1 patch 848


git-svn-id: svn://10.65.10.50/trunk@14993 c028cbd2-c16b-5b4b-a496-9718f37d4682
2007-03-06 16:37:44 +00:00

103 lines
2.2 KiB
C++
Executable File

#include <confapp.h>
#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;
}