Corretto cambiamento files in comune

git-svn-id: svn://10.65.10.50/trunk@357 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1994-10-12 17:59:25 +00:00
parent d4bb2684e7
commit 03ee22437c
2 changed files with 73 additions and 32 deletions

View File

@ -1,25 +1,74 @@
#include <confapp.h> #include <confapp.h>
#include <lffiles.h> #include <lffiles.h>
#include <files.h> #include <files.h>
#include <isam.h>
#include "cg5100a.h" #include "cg5100a.h"
class CG51_App : public TConfig_application class CG51_App : public TConfig_application
{ {
bool _change_pcon;
TString16 _val;
public: public:
virtual bool preprocess_config (TMask& mask, TConfig& config); virtual bool preprocess_config (TMask& mask, TConfig& config);
virtual bool postprocess_config (TMask& mask, TConfig& config); virtual bool postprocess_config (TMask& mask, TConfig& config);
virtual bool postprocess_config_changed(const char* par, const char* var, virtual bool postprocess_config_changed(const char* par, const char* var,
const char* oldv, const char* newv); const char* oldv, const char* newv);
virtual bool user_create() { _change_pcon = FALSE;}
virtual bool user_destroy();
CG51_App() : TConfig_application(CONFIG_DITTA) {} CG51_App() : TConfig_application(CONFIG_DITTA) {}
virtual ~CG51_App() {} virtual ~CG51_App() {}
}; };
bool CG51_App::user_destroy()
{
TDir dir;
TString file(16);
if (_change_pcon)
{
dir.get(LF_PCON, _lock, _nordir, _sysdirop);
file = dir.name();
file[0] = _val[0] == 'X' ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(LF_PCON, _nordir, _sysdirop);
if (dir.eox() == 0L)
{
TSystemisamfile s(LF_PCON);
s.build(10L);
}
dir.get(LF_CAUSALI, _lock, _nordir, _sysdirop);
file = dir.name();
file[0] = _val[0] == 'X' ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(LF_CAUSALI, _nordir, _sysdirop);
if (dir.eox() == 0L)
{
TSystemisamfile s(LF_CAUSALI);
s.build(10L);
}
dir.get(LF_RCAUSALI, _lock, _nordir, _sysdirop);
file = dir.name();
file[0] = _val[0] == 'X' ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(LF_RCAUSALI, _nordir, _sysdirop);
if (dir.eox() == 0L)
{
TSystemisamfile s(LF_RCAUSALI);
s.build(10L);
}
}
return TRUE;
}
bool CG51_App::preprocess_config (TMask& mask, TConfig& config) bool CG51_App::preprocess_config (TMask& mask, TConfig& config)
{ {
// these are disabled in normal applications // these are disabled in normal applications
mask.enable(CHK_ANCFCM); TLocalisamfile mov(LF_MOV);
mask.enable(CHK_PCTCCM); const bool movempty = mov.empty();
mask.enable(CHK_ANCFCM, movempty);
mask.enable(CHK_PCTCCM, movempty);
disable_menu_item(M_FILE_NEW); disable_menu_item(M_FILE_NEW);
disable_menu_item(M_FILE_REVERT); disable_menu_item(M_FILE_REVERT);
return TRUE; return TRUE;
@ -40,32 +89,32 @@ bool CG51_App::postprocess_config_changed(const char* par, const char* var,
TString file(16); TString file(16);
if (v == "AnCfCm") if (v == "AnCfCm")
{
if (yesno_box("Confermi il cambiamento dell'anagrafica clienti/fornitori"))
{ {
dir.get(LF_CLIFO, _lock, _nordir, _sysdirop); dir.get(LF_CLIFO, _lock, _nordir, _sysdirop);
file = dir.name(); file = dir.name();
file[0] = *newv == 'X' ? '%' : '$'; file[0] = *newv == 'X' ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr()); dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(LF_CLIFO, _nordir, _sysdirop); dir.put(LF_CLIFO, _nordir, _sysdirop);
if (dir.eox() == 0L)
{
TSystemisamfile s(LF_CLIFO);
s.build(10L);
}
}
else
return FALSE;
} }
else if (v == "PcTcCm") else if (v == "PcTcCm")
{ {
dir.get(LF_PCON, _lock, _nordir, _sysdirop); if (yesno_box("Confermi il cambiamento del piano conti/causali"))
file = dir.name(); {
file[0] = *newv == 'X' ? '%' : '$'; _change_pcon = TRUE;
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr()); _val = newv;
dir.put(LF_PCON, _nordir, _sysdirop); }
else
dir.get(LF_CAUSALI, _lock, _nordir, _sysdirop); return FALSE;
file = dir.name();
file[0] = *newv == 'X' ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(LF_CAUSALI, _nordir, _sysdirop);
dir.get(LF_RCAUSALI, _lock, _nordir, _sysdirop);
file = dir.name();
file[0] = *newv == 'X' ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(LF_RCAUSALI, _nordir, _sysdirop);
} }
return TRUE; return TRUE;
} }

View File

@ -189,14 +189,6 @@ BEGIN
FIELD CoCaAp FIELD CoCaAp
END END
NUMBER FLD_CRIVAP 15
BEGIN
PROMPT 1 -2 "Credito IVA anno precedente "
PICTURE "."
HELP ""
FIELD CrIvAp
END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 32 6 "Gruppo Conto Sottoconto" PROMPT 32 6 "Gruppo Conto Sottoconto"