Correzioni alla ricerca per clienti
git-svn-id: svn://10.65.10.50/trunk@439 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
fb1059d80a
commit
e5ac04167f
111
cg/cg5200.cpp
111
cg/cg5200.cpp
@ -64,7 +64,9 @@ bool TRiga_array::add_riga(const TRectype& rec_saldi)
|
|||||||
udatar = rec_saldi.get(SLD_DATAULMOV);
|
udatar = rec_saldi.get(SLD_DATAULMOV);
|
||||||
unumr = rec_saldi.get_long(SLD_NUMULTMOV);
|
unumr = rec_saldi.get_long(SLD_NUMULTMOV);
|
||||||
udatar = fnc_max(udatar,udata);
|
udatar = fnc_max(udatar,udata);
|
||||||
unumr = (unum > unumr) ? unum : unumr;
|
//unumr = (unum > unumr) ? unum : unumr;
|
||||||
|
if (udata > udatar)
|
||||||
|
unumr = unum;
|
||||||
if (flagr == flag)
|
if (flagr == flag)
|
||||||
saldoinir += saldoini;
|
saldoinir += saldoini;
|
||||||
else saldoinir -= saldoini;
|
else saldoinir -= saldoini;
|
||||||
@ -99,12 +101,10 @@ bool TRiga_array::add_riga(const TRectype& rec_saldi)
|
|||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool gruppo_handler (TMask_field& f, KEY k);
|
|
||||||
bool sottoc_handler (TMask_field& f, KEY k);
|
bool sottoc_handler (TMask_field& f, KEY k);
|
||||||
|
|
||||||
class CG5200_application : public TBrowse_application
|
class CG5200_application : public TBrowse_application
|
||||||
{
|
{
|
||||||
friend bool gruppo_handler (TMask_field& f, KEY k);
|
|
||||||
friend bool sottoc_handler (TMask_field& f, KEY k);
|
friend bool sottoc_handler (TMask_field& f, KEY k);
|
||||||
|
|
||||||
TMask* _msk;
|
TMask* _msk;
|
||||||
@ -153,17 +153,17 @@ bool CG5200_application::fai_filtro()
|
|||||||
{
|
{
|
||||||
TSaldo sld;
|
TSaldo sld;
|
||||||
int annop = 0;
|
int annop = 0;
|
||||||
TString tipo (1);
|
char tipo;
|
||||||
|
|
||||||
_saldo_gruppo = _saldo_conto = _saldo_sottoc = FALSE;
|
_saldo_gruppo = _saldo_conto = _saldo_sottoc = FALSE;
|
||||||
TMask* m = app()->main_mask();
|
TMask* m = app()->main_mask();
|
||||||
tipo = m->get(F_TIPOCF);
|
tipo = m->get(F_TIPOCF)[0];
|
||||||
_anno = m->get_int(F_ANNO);
|
_anno = m->get_int(F_ANNO);
|
||||||
_g = m->get_int(F_GRUPPO);
|
_g = m->get_int(F_GRUPPO);
|
||||||
_c = m->get_int(F_CONTO);
|
_c = m->get_int(F_CONTO);
|
||||||
if (tipo == "")
|
if (tipo == '\0')
|
||||||
_s = m->get_long(F_SOTTOCONTO);
|
_s = m->get_long(F_SOTTOCONTO);
|
||||||
else if (tipo == "C")
|
else if (tipo == 'C')
|
||||||
_s = m->get_long(F_SOTTOC_CLIENTE);
|
_s = m->get_long(F_SOTTOC_CLIENTE);
|
||||||
else _s = m->get_long(F_SOTTOC_FORN);
|
else _s = m->get_long(F_SOTTOC_FORN);
|
||||||
if (_c == 0)
|
if (_c == 0)
|
||||||
@ -212,73 +212,30 @@ bool CG5200_application::fai_filtro()
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool gruppo_handler(TMask_field& f, KEY key)
|
|
||||||
{
|
|
||||||
if ( key == K_TAB && f.mask().is_running() )
|
|
||||||
{
|
|
||||||
TMask& m = f.mask();
|
|
||||||
const int gruppo = m.get_int(F_GRUPPO);
|
|
||||||
const int conto = m.get_int(F_CONTO);
|
|
||||||
const long sottoc = m.get_long(F_SOTTOCONTO);
|
|
||||||
TLocalisamfile& pconti = app()->get_relation()->lfile();
|
|
||||||
|
|
||||||
if (gruppo == 0)
|
|
||||||
{
|
|
||||||
if (conto != 0 || sottoc != 0)
|
|
||||||
return f.warning_box("Codice conto impossibile!");
|
|
||||||
else
|
|
||||||
return f.error_box("E' obbligatorio l'inserimento del gruppo");
|
|
||||||
}
|
|
||||||
if (conto > 0 && sottoc == 0) // conto => ricerca gruppo
|
|
||||||
{
|
|
||||||
pconti.zero() ;
|
|
||||||
pconti.put(PCN_GRUPPO, gruppo) ;
|
|
||||||
pconti.setkey(1) ;
|
|
||||||
pconti.read(_isequal, _nolock );
|
|
||||||
if (pconti.bad())
|
|
||||||
return f.warning_box ("Non esiste il gruppo relativo a questo conto");
|
|
||||||
}
|
|
||||||
if (sottoc > 0) // sottoconto => ricerca conto
|
|
||||||
{
|
|
||||||
pconti.zero() ;
|
|
||||||
pconti.put(PCN_GRUPPO, gruppo) ;
|
|
||||||
pconti.put(PCN_CONTO, conto) ;
|
|
||||||
pconti.setkey(1) ;
|
|
||||||
pconti.read(_isequal, _nolock );
|
|
||||||
if (pconti.bad())
|
|
||||||
return f.warning_box ("Non esiste il conto relativo a questo sottoconto");
|
|
||||||
/*
|
|
||||||
else
|
|
||||||
{
|
|
||||||
TString tmcf = pconti.get(PCN_TMCF);
|
|
||||||
if (tmcf.not_empty())
|
|
||||||
return f.warning_box ("Non puoi inserire un sottoconto di un conto relativo ad un cliente/fornitore");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool sottoc_handler(TMask_field& f, KEY key)
|
bool sottoc_handler(TMask_field& f, KEY key)
|
||||||
{
|
{
|
||||||
const short id = f.dlg();
|
const short id = f.dlg();
|
||||||
int gruppo;
|
const int gruppo = f.mask().get_int(F_GRUPPO);
|
||||||
long sottoconto = f.mask().get_long(id);
|
const int conto = f.mask().get_int(F_CONTO);
|
||||||
|
const long sottoconto = f.mask().get_long(id);
|
||||||
|
TLocalisamfile& pconti = app()->get_relation()->lfile();
|
||||||
|
|
||||||
if (key == K_TAB)
|
if ( key == K_TAB && f.mask().is_running() )
|
||||||
{
|
{
|
||||||
TLocalisamfile pconti(LF_PCON);
|
if (!f.focusdirty() && gruppo == 0 && conto == 0) return TRUE;
|
||||||
gruppo = f.mask().get_int(F_GRUPPO);
|
|
||||||
|
|
||||||
if (gruppo == 0)
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
int conto = f.mask().get_int(F_CONTO);
|
|
||||||
|
|
||||||
if (sottoconto != 0 && conto == 0)
|
if (sottoconto != 0 && conto == 0)
|
||||||
return f.error_box("Manca il CONTO");
|
{
|
||||||
|
f.warning_box("Manca il CONTO");
|
||||||
|
f.mask().stop_run(K_ESC);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
if (conto != 0 && gruppo == 0)
|
||||||
|
{
|
||||||
|
f.warning_box("Manca il GRUPPO");
|
||||||
|
f.mask().stop_run(K_ESC);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
if (id == F_SOTTOCONTO)
|
if (id == F_SOTTOCONTO)
|
||||||
{
|
{
|
||||||
@ -289,9 +246,15 @@ bool sottoc_handler(TMask_field& f, KEY key)
|
|||||||
pconti.setkey(1);
|
pconti.setkey(1);
|
||||||
pconti.read(_isequal, _nolock);
|
pconti.read(_isequal, _nolock);
|
||||||
if (pconti.good())
|
if (pconti.good())
|
||||||
|
{
|
||||||
|
TString ds = pconti.get(PCN_DESCR);
|
||||||
|
f.mask().set(F_DESCR_CONTO, ds);
|
||||||
|
f.mask().set(F_DESCR_CLIENTE, ds);
|
||||||
|
f.mask().set(F_DESCR_FORN, ds);
|
||||||
f.mask().stop_run(K_AUTO_ENTER);
|
f.mask().stop_run(K_AUTO_ENTER);
|
||||||
|
}
|
||||||
|
else return f.warning_box("Registrazione assente");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (id == F_SOTTOC_CLIENTE || id == F_SOTTOC_FORN)
|
if (id == F_SOTTOC_CLIENTE || id == F_SOTTOC_FORN)
|
||||||
{
|
{
|
||||||
char tipo = id == F_SOTTOC_CLIENTE ? 'C' : 'F';
|
char tipo = id == F_SOTTOC_CLIENTE ? 'C' : 'F';
|
||||||
@ -309,8 +272,7 @@ bool sottoc_handler(TMask_field& f, KEY key)
|
|||||||
f.mask().set(F_DESCR_FORN, rs);
|
f.mask().set(F_DESCR_FORN, rs);
|
||||||
f.mask().stop_run(K_AUTO_ENTER);
|
f.mask().stop_run(K_AUTO_ENTER);
|
||||||
}
|
}
|
||||||
else return f.error_box("Registrazione assente");
|
else return f.warning_box("Registrazione assente");
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (gruppo != 0 && conto != 0)
|
if (gruppo != 0 && conto != 0)
|
||||||
@ -325,11 +287,11 @@ bool sottoc_handler(TMask_field& f, KEY key)
|
|||||||
TString ds = pconti.get(PCN_DESCR);
|
TString ds = pconti.get(PCN_DESCR);
|
||||||
f.mask().set(F_DESCR_CLIENTE, ds);
|
f.mask().set(F_DESCR_CLIENTE, ds);
|
||||||
f.mask().set(F_DESCR_FORN, ds);
|
f.mask().set(F_DESCR_FORN, ds);
|
||||||
|
f.mask().set(F_DESCR_CONTO, ds);
|
||||||
}
|
}
|
||||||
|
// if (!f.focusdirty()) f.mask().stop_run(K_AUTO_ENTER);
|
||||||
f.mask().stop_run(K_AUTO_ENTER);
|
f.mask().stop_run(K_AUTO_ENTER);
|
||||||
}
|
}
|
||||||
// else
|
|
||||||
// return f.error_box("Registrazione assente");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// f.mask().stop_run(K_AUTO_ENTER);
|
// f.mask().stop_run(K_AUTO_ENTER);
|
||||||
@ -339,7 +301,6 @@ bool sottoc_handler(TMask_field& f, KEY key)
|
|||||||
bool CG5200_application::user_create()
|
bool CG5200_application::user_create()
|
||||||
{
|
{
|
||||||
_msk = new TMask("cg5200a");
|
_msk = new TMask("cg5200a");
|
||||||
_msk->set_handler(F_GRUPPO, gruppo_handler);
|
|
||||||
_msk->set_handler(F_SOTTOCONTO, sottoc_handler);
|
_msk->set_handler(F_SOTTOCONTO, sottoc_handler);
|
||||||
_msk->set_handler(F_SOTTOC_CLIENTE, sottoc_handler);
|
_msk->set_handler(F_SOTTOC_CLIENTE, sottoc_handler);
|
||||||
_msk->set_handler(F_SOTTOC_FORN, sottoc_handler);
|
_msk->set_handler(F_SOTTOC_FORN, sottoc_handler);
|
||||||
|
@ -47,8 +47,7 @@ BEGIN
|
|||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
OUTPUT F_GRUPPO GRUPPO
|
OUTPUT F_GRUPPO GRUPPO
|
||||||
OUTPUT F_DESCR_CONTO DESCR
|
//OUTPUT F_DESCR_CONTO DESCR
|
||||||
CHECKTYPE NORMAL
|
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -63,21 +62,25 @@ BEGIN
|
|||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
OUTPUT F_TIPOCF TMCF
|
|
||||||
OUTPUT F_GRUPPO GRUPPO
|
|
||||||
OUTPUT F_CONTO CONTO
|
OUTPUT F_CONTO CONTO
|
||||||
OUTPUT F_DESCR_CONTO DESCR
|
OUTPUT F_GRUPPO GRUPPO
|
||||||
|
OUTPUT F_TIPOCF TMCF
|
||||||
|
//OUTPUT F_DESCR_CLIENTE DESCR
|
||||||
|
//OUTPUT F_DESCR_FORN DESCR
|
||||||
|
//OUTPUT F_DESCR_CONTO DESCR
|
||||||
|
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
WARNING "Conto inesistente o mancante"
|
WARNING "Conto inesistente o mancante"
|
||||||
MESSAGE DIRTY,F_DESCR_CONTO|DIRTY,F_DESCR_CLIENTE|DIRTY,F_DESCR_FORN
|
//MESSAGE DIRTY,F_SOTTOCONTO|DIRTY,F_SOTTOC_CLIENTE|DIRTY,F_SOTTOC_FORN
|
||||||
|
//MESSAGE DIRTY,F_DESCR_CONTO|DIRTY,F_DESCR_CLIENTE|DIRTY,F_DESCR_FORN
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_SOTTOCONTO 6
|
NUMBER F_SOTTOCONTO 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 54 3 "Sottoconto "
|
PROMPT 54 3 "Sottoconto "
|
||||||
USE LF_PCON
|
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||||
FIELD LF_PCON->SOTTOCONTO
|
FIELD LF_PCON->SOTTOCONTO
|
||||||
KEY 1
|
KEY 1
|
||||||
INPUT GRUPPO F_GRUPPO
|
INPUT GRUPPO F_GRUPPO
|
||||||
INPUT CONTO F_CONTO
|
INPUT CONTO F_CONTO
|
||||||
@ -86,12 +89,18 @@ BEGIN
|
|||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
OUTPUT F_SOTTOCONTO SOTTOCONTO
|
||||||
OUTPUT F_GRUPPO GRUPPO
|
OUTPUT F_GRUPPO GRUPPO
|
||||||
OUTPUT F_CONTO CONTO
|
OUTPUT F_CONTO CONTO
|
||||||
OUTPUT F_SOTTOCONTO SOTTOCONTO
|
//OUTPUT F_DESCR_CONTO DESCR
|
||||||
OUTPUT F_DESCR_CONTO DESCR
|
//OUTPUT F_DESCR_CLIENTE DESCR
|
||||||
|
//OUTPUT F_DESCR_FORN DESCR
|
||||||
|
//CHECKTYPE NORMAL
|
||||||
|
//MESSAGE COPY,F_SOTTOC_FORN //li gestisco da programma senno' fanno casino
|
||||||
|
//MESSAGE COPY,F_SOTTOC_CLIENTE
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
|
//VALIDATE AUTOEXIT_FUNC 3 F_GRUPPO F_CONTO F_SOTTOCONTO
|
||||||
GROUP 1
|
GROUP 1
|
||||||
WARNING "Conto inesistente"
|
WARNING "Conto inesistente"
|
||||||
END
|
END
|
||||||
@ -100,6 +109,7 @@ NUMBER F_SOTTOC_CLIENTE 6
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 54 3 "Cliente "
|
PROMPT 54 3 "Cliente "
|
||||||
USE LF_CLIFO
|
USE LF_CLIFO
|
||||||
|
//FIELD LF_CLIFO->CODCF
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
INPUT CODCF F_SOTTOC_CLIENTE
|
INPUT CODCF F_SOTTOC_CLIENTE
|
||||||
DISPLAY "Codice" CODCF
|
DISPLAY "Codice" CODCF
|
||||||
@ -107,11 +117,14 @@ BEGIN
|
|||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
OUTPUT F_SOTTOC_CLIENTE CODCF
|
OUTPUT F_SOTTOC_CLIENTE CODCF
|
||||||
OUTPUT F_DESCR_CONTO RAGSOC
|
//OUTPUT F_DESCR_CONTO RAGSOC
|
||||||
|
//OUTPUT F_DESCR_CLIENTE RAGSOC
|
||||||
|
//OUTPUT F_DESCR_FORN RAGSOC
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
|
CHECKTYPE NORMAL
|
||||||
KEY 1
|
KEY 1
|
||||||
CHECKTYPE NORMAL
|
|
||||||
WARNING "Cliente inesistente"
|
WARNING "Cliente inesistente"
|
||||||
|
//VALIDATE AUTOEXIT_FUNC 3 F_GRUPPO F_CONTO F_SOTTOC_CLIENTE
|
||||||
GROUP 2
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -126,11 +139,15 @@ BEGIN
|
|||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
OUTPUT F_SOTTOC_FORN CODCF
|
OUTPUT F_SOTTOC_FORN CODCF
|
||||||
OUTPUT F_DESCR_CONTO RAGSOC
|
// OUTPUT F_DESCR_FORN RAGSOC
|
||||||
|
// OUTPUT F_DESCR_CONTO RAGSOC
|
||||||
|
// OUTPUT F_DESCR_CLIENTE RAGSOC
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
KEY 1
|
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
|
// serve per l' autopremimento
|
||||||
|
KEY 1
|
||||||
WARNING "Fornitore inesistente"
|
WARNING "Fornitore inesistente"
|
||||||
|
//VALIDATE AUTOEXIT_FUNC 3 F_GRUPPO F_CONTO F_SOTTOC_FORN
|
||||||
GROUP 3
|
GROUP 3
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -159,7 +176,7 @@ BEGIN
|
|||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Codice" CODCF
|
DISPLAY "Codice" CODCF
|
||||||
COPY OUTPUT F_SOTTOC_CLIENTE
|
COPY OUTPUT F_SOTTOC_CLIENTE
|
||||||
KEY 1
|
KEY 1
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
GROUP 2
|
GROUP 2
|
||||||
|
Loading…
x
Reference in New Issue
Block a user