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

View File

@ -81,6 +81,7 @@ protected:
void read_firm_params(); void read_firm_params();
void init_mask(TMask&); 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_query_mode(TMask&);
virtual void init_insert_mode(TMask&); virtual void init_insert_mode(TMask&);
virtual void init_modify_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) void TCaus_app::init_query_mode(TMask& m)
{ {
read_firm_params();
ss().reset(); ss().reset();
init_mask(m); 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() void TCaus_app::read_firm_params()
{ {
TConfig conf(CONFIG_DITTA); TConfig conf(CONFIG_DITTA);

View File

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

View File

@ -133,6 +133,8 @@ bool TPrimanota_application::user_create()
_nditte = new TLocalisamfile(LF_NDITTE); _nditte = new TLocalisamfile(LF_NDITTE);
_rel = new TMovimentoPN; _rel = new TMovimentoPN;
_rel->add(LF_PARTITE, "NREG=NUMREG", 2);
_rel->lfile().last(); _rel->lfile().last();
_lastreg = _rel->lfile().get_long(MOV_NUMREG); // Init last registration number _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]; TMask* m = _msk[iva == nessuna_iva ? 1 : 2];
if (m == NULL) return TRUE; 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_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 m->efield(F_DATADOC).check_type(dob ? CHECK_REQUIRED : CHECK_NORMAL); // Data doc. obbligatoria
if (iva != nessuna_iva) if (iva != nessuna_iva)
{ {
m->efield(F_CODPAG).check_type(sal ? CHECK_REQUIRED : CHECK_NORMAL);// Cod. pag. obbligatorio 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(); const bool av = _causale.reg().agenzia_viaggi();
m->show(F_DATA74TER, av); m->show(F_DATA74TER, av);
if (!av) m->reset(F_DATA74TER); 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; const long protiva = _causale.reg().protocol() + 1;
m->set(F_PROTIVA, protiva); // Aggiorna protocollo IVA m->set(F_PROTIVA, protiva); // Aggiorna protocollo IVA
if (sal) if (sal)
{ m->set(F_NUMRIF, m->get(F_NUMDOC));
TString16 val;
if (riferimento_partita())
val = m->get(F_NUMDOC);
else
val << protiva;
m->set(F_NUMRIF, val);
}
} }
} }
if (!ci_sono_importi()) if (ins && !ci_sono_importi())
{ {
cgs().reset(); cgs().reset();
for (int i = 1; i < _causale.size(); i++) for (int i = 1; i < _causale.size(); i++)

View File

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