Patch level :10.0 524

Files correlati     :cg0 cg0200a/b.msk
Ricompilazione Demo : [ ]
Commento            :
0001502: 001833 - cap dell'indirizzo di spedizione
Descrizione  inserisco un indirizzo di spedizione, seleziono il comune e metto il cap relativo alla zona. Se richiamo il cliente e cambio il cap con quello di un'altra zona (esempio Milano da 20124 a 20132), cliccando registra mi viene riportato il cap generico del comune (20100). Per far prendere il cap corretto devo rientrare e ridigitare 20132, che a quel punto viene preso.


git-svn-id: svn://10.65.10.50/trunk@19652 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-11-19 10:52:08 +00:00
parent d5c191bab3
commit 6bd9bb36d5
3 changed files with 22 additions and 5 deletions

View File

@ -72,6 +72,7 @@ protected:
static bool percip_handler(TMask_field& f, KEY key);
static bool email_handler(TMask_field& f, KEY k);
static bool rsoc_handler(TMask_field& f, KEY k);
static bool comi_handler(TMask_field& f, KEY k);
virtual bool has_filtered_cursor() const { return true;}
public:
@ -458,6 +459,25 @@ bool TClifo_application::rsoc_handler(TMask_field& f, KEY k)
return true;
}
bool TClifo_application::comi_handler(TMask_field& f, KEY k)
{
if (f.to_check(k))
{
const TEdit_field& ef = (const TEdit_field&)f;
const TRectype& curr_comune = ef.browse()->cursor()->curr();
long cap_curr_comune = curr_comune.get_long(COM_CAPCOM);
//il controllo va fatto solo per i comuni a cap multipli, ovvero con il cap base divisibile per 100
if (cap_curr_comune%100 == 0)
{
const long cap_scritto = f.mask().get_long(F_CAPI);
//test compatibilitŕ dei 2 cap
if (cap_curr_comune / 100 == cap_scritto / 100)
cap_curr_comune = cap_scritto;
}
f.mask().set(F_CAPI, cap_curr_comune);
}
return true;
}
HIDDEN bool alleg_handler(TMask_field& f, KEY key)
{
@ -1032,7 +1052,8 @@ bool TClifo_application::user_create() // initvar e arrmask
_msk->set_handler(DLG_CONTRLAV, contrlav_handler);
TSheet_field& ind = _msk->sfield(F_SHEET_G_VEN);
ind.set_notify(indsp_notify);
ind.set_notify(indsp_notify);
ind.sheet_mask().set_handler(F_COMI, comi_handler);
TSheet_field& pnae = _msk->sfield(F_NONACCEFF);
pnae.set_notify(effetti_notify);

View File

@ -1196,7 +1196,6 @@ NUMBER F_CODINDDOC 3
BEGIN
PROMPT 2 -3 "Codice indirizzo documento "
FIELD LF_CFVEN->CODINDDOC
// GROUP 7
SHEET "Codice|Ragione sociale@50|Indirizzo@35|Nr.@10|Localita@35"
ITEM " |**Nessuno**| | | "
INPUT F_CODINDDOC
@ -1207,7 +1206,6 @@ NUMBER F_CODINDSP 3
BEGIN
PROMPT 2 -2 "Codice indirizzo spedizione "
FIELD LF_CFVEN->CODINDSP
// GROUP 7
SHEET "Codice|Ragione sociale@50|Indirizzo@35|Nr.@10|Localita@35"
INPUT F_CODINDSP
OUTPUT F_CODINDSP
@ -1218,7 +1216,6 @@ NUMBER F_CODINDEFF 3
BEGIN
PROMPT 2 -1 "Codice indirizzo effetti "
FIELD LF_CFVEN->CODINDEFF
// GROUP 7
SHEET "Codice|Ragione sociale@50|Indirizzo@35|Nr.@10|Localita@35"
INPUT F_CODINDEFF
OUTPUT F_CODINDEFF

View File

@ -62,7 +62,6 @@ INPUT COM F_COMI
DISPLAY "Stato" STATO
DISPLAY "Codice" COM
DISPLAY "Comune@50" DENCOM
OUTPUT F_CAPI CAPCOM
OUTPUT F_STATOI STATO
OUTPUT F_COMI COM
OUTPUT F_DENCOMI DENCOM