Corretta gestione anno e numero riferimento partita

git-svn-id: svn://10.65.10.50/trunk@676 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1994-11-21 13:13:04 +00:00
parent 57e9743132
commit e4b6713417
4 changed files with 30 additions and 18 deletions

@ -81,6 +81,7 @@ protected:
void read_firm_params();
void init_mask(TMask&);
virtual bool change_config(const char* var, const char* old, const char* nuo);
virtual void init_query_mode(TMask&);
virtual void init_insert_mode(TMask&);
virtual void init_modify_mode(TMask&);
@ -843,7 +844,6 @@ void TCaus_app::init_mask(TMask& m)
void TCaus_app::init_query_mode(TMask& m)
{
read_firm_params();
ss().reset();
init_mask(m);
}
@ -861,6 +861,17 @@ void TCaus_app::init_modify_mode(TMask& m)
}
bool TCaus_app::change_config(const char* var, const char* old, const char* nuo)
{
const TFixed_string v(var);
if (v == "GesSal") _saldaconto = *nuo > ' '; else
if (v == "GesVal") _valuta = *nuo > ' '; else
if (v == "AnLiIv") _anno_iva = atoi(nuo);
return TRUE;
}
void TCaus_app::read_firm_params()
{
TConfig conf(CONFIG_DITTA);

@ -36,7 +36,7 @@ END
STRING F_DESCR 50
BEGIN
PROMPT 17 1 "Descrizione "
PROMPT 15 1 "Descrizione "
FIELD LF_CAUSALI->DESCR
USE LF_CAUSALI KEY 2
INPUT DESCR F_DESCR

@ -133,6 +133,8 @@ bool TPrimanota_application::user_create()
_nditte = new TLocalisamfile(LF_NDITTE);
_rel = new TMovimentoPN;
_rel->add(LF_PARTITE, "NREG=NUMREG", 2);
_rel->lfile().last();
_lastreg = _rel->lfile().get_long(MOV_NUMREG); // Init last registration number
@ -192,37 +194,33 @@ bool TPrimanota_application::read_caus(const char* cod, int year)
TMask* m = _msk[iva == nessuna_iva ? 1 : 2];
if (m == NULL) return TRUE;
const bool ins = m->insert_mode();
m->efield(F_NUMDOC).check_type(nob ? CHECK_REQUIRED : CHECK_NORMAL); // Num. doc. obbligatorio
m->efield(F_DATADOC).check_type(dob ? CHECK_REQUIRED : CHECK_NORMAL); // Data doc. obbligatoria
if (iva != nessuna_iva)
{
m->efield(F_CODPAG).check_type(sal ? CHECK_REQUIRED : CHECK_NORMAL);// Cod. pag. obbligatorio
m->show(F_ANNORIF, sal); // Mostra/nasconde anno e riferimento partita
m->show(F_NUMRIF, sal);
const bool av = _causale.reg().agenzia_viaggi();
m->show(F_DATA74TER, av);
if (!av) m->reset(F_DATA74TER);
if (m->insert_mode())
m->show(F_ANNORIF, sal); // Mostra/nasconde anno e riferimento partita
m->show(F_NUMRIF, sal);
m->enable(F_ANNORIF, ins); // Dis/abilita anno e riferimento partita
m->enable(F_NUMRIF, ins);
if (ins)
{
const long protiva = _causale.reg().protocol() + 1;
m->set(F_PROTIVA, protiva); // Aggiorna protocollo IVA
if (sal)
{
TString16 val;
if (riferimento_partita())
val = m->get(F_NUMDOC);
else
val << protiva;
m->set(F_NUMRIF, val);
}
m->set(F_NUMRIF, m->get(F_NUMDOC));
}
}
if (!ci_sono_importi())
if (ins && !ci_sono_importi())
{
cgs().reset();
for (int i = 1; i < _causale.size(); i++)

@ -489,7 +489,8 @@ END
NUMBER F_ANNORIF 4
BEGIN
PROMPT 45 15 "Rif.partita "
FLAGS "A"
FIELD LF_PARTITE->ANNO
FLAGS "D"
HELP "Anno di riferimento partita"
WARNING "E' richiesto l'anno di riferimento"
CHECKTYPE REQUIRED
@ -498,8 +499,10 @@ END
STRING F_NUMRIF 7
BEGIN
PROMPT 68 15 "/ "
FIELD LF_PARTITE->NUMPART
FLAGS "D"
HELP "Numero documento (o protocollo IVA) di riferimento"
WARNING "E' richiesto il numero di riferimento"
WARNING "E' richiesto il numero di riferimento partita"
CHECKTYPE REQUIRED
END