Patch level : 10.0
Files correlati : lv3, lvbollac.msk, lvbolaca.msk Ricompilazione Demo : [ ] Commento : Modificati gli handler di documento in modo che i campi in testata vengano riempiti sempre correttamente indiepndentemente dal fatto che vengano caricate le righe documenti dai contratti Sulle maschere: modificate le associazioni campi - handler a seconda del documento (si ricorda che lvbolaca fa riferimento al documento che non precarica le righe documento, ma prepara solo la testata) git-svn-id: svn://10.65.10.50/trunk@18555 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8653d3522f
commit
e641ff0ac5
@ -28,6 +28,8 @@ protected:
|
||||
static void dettaglio_causale(TSheet_field& ss);
|
||||
|
||||
//hanlder di documento:
|
||||
static bool lv_data_handler(TMask_field& f, KEY k);
|
||||
static bool lv_contratto_handler(TMask_field& f, KEY k);
|
||||
static bool lv_bolla_handler(TMask_field& f, KEY k);
|
||||
//handler di riga:
|
||||
static bool lv_ritirato_handler(TMask_field& f, KEY k);
|
||||
@ -387,20 +389,21 @@ bool TGestione_bolle_msk::ss_notify(TSheet_field& ss, int r, KEY key)
|
||||
return TDocumento_mask::ss_notify(ss, r, key);
|
||||
}
|
||||
|
||||
//LV_BOLLA_HANDLER: handler di bolla, carica le righe contratto sulle bolle, preparando la struttura del documento
|
||||
bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
//LV_TESTATA_HANDLER: handler che si occupa di decodificare i campi data in testata
|
||||
bool TGestione_bolle_msk::lv_data_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
bool ok = true;
|
||||
bool ok = true;
|
||||
|
||||
switch(f.dlg())
|
||||
{
|
||||
case F_CODCF: ok = TDocumento_mask::clifo_handler( f, k ); break;
|
||||
{
|
||||
case F_DATADOC: ok = data_hndl( f, k ); break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)f.mask();
|
||||
|
||||
TDate oggi(TODAY);
|
||||
|
||||
|
||||
TDate primo = oggi;
|
||||
primo.set_day(1);
|
||||
|
||||
@ -409,13 +412,60 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
|
||||
//decodifica del giorno della settimana
|
||||
dmsk.set(F_LVGIORNO, itow(oggi.wday()));
|
||||
|
||||
//settimana del mese = settimana(oggi) - settimana(primo del mese) +1
|
||||
long tmp = oggi.week() - primo.week() + 1;
|
||||
TString4 settimana;
|
||||
settimana << tmp;
|
||||
dmsk.set(F_LVSETTIMANA, settimana);
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
//LV_CONTRATTO_HANDLER: handler che si occupa di riempire il campo contratto in testata
|
||||
bool TGestione_bolle_msk::lv_contratto_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)f.mask();
|
||||
|
||||
const long codcf = dmsk.get_long(F_CODCF);
|
||||
const int indsped = dmsk.get_int(F_CODINDSP);
|
||||
TDate datadoc = dmsk.get_date(F_DATADOC);
|
||||
if (!datadoc.ok())
|
||||
datadoc = TODAY;
|
||||
const int anno = datadoc.year();
|
||||
|
||||
if (codcf <= 0)
|
||||
return true;
|
||||
|
||||
long codcont = lv_find_contract(codcf,indsped,datadoc);
|
||||
if (codcont <= 0)
|
||||
{
|
||||
warning_box(TR("Non ci sono contratti in essere alla data indicata"));
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
TString16 tmp;
|
||||
tmp << codcont;
|
||||
dmsk.set(F_LVCODCONT, tmp);
|
||||
}
|
||||
|
||||
TDocumento& doc = dmsk.doc();
|
||||
doc.put(DOC_CODCONT, codcont);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//LV_BOLLA_HANDLER: handler di bolla, carica le righe contratto sulle bolle, preparando la struttura del documento
|
||||
bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
bool ok = true;
|
||||
switch(f.dlg())
|
||||
{
|
||||
case F_CODCF: ok = TDocumento_mask::clifo_handler( f, k ); break;
|
||||
default: break;
|
||||
}
|
||||
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)f.mask();
|
||||
|
||||
TSheet_field& sheet = dmsk.sfield(F_SHEET);
|
||||
|
||||
if (ok && k == K_TAB && ((dmsk.insert_mode() && f.to_check(k, true)) || f.focusdirty()))
|
||||
@ -664,6 +714,10 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k)
|
||||
if (codart.full())
|
||||
{
|
||||
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) msk.get_sheet()->mask();
|
||||
TSheet_field* sheet = msk.get_sheet();
|
||||
TRiga_documento& rdoc = dmsk.doc()[sheet->selected()+1];
|
||||
|
||||
rdoc.put(RDOC_CODART, codart);
|
||||
|
||||
//recupero dal documento i dati di interesse per recuperare...
|
||||
//...i dati dalla riga contratto
|
||||
@ -682,10 +736,21 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
|
||||
causale = configlv->get("CAUSLAV");
|
||||
}
|
||||
|
||||
if (rdoc.get("DOTOD").empty())
|
||||
{
|
||||
//gestione campi dotazione odierna e dotazione temporanea
|
||||
TGiac_per_cli& giac = gbapp().giacenza();
|
||||
giac.preset(dmsk.doc());
|
||||
real dotod = giac.giac_att(rdoc, true);
|
||||
|
||||
rdoc.put("DOTOD", dotod);
|
||||
TString16 tmp;
|
||||
tmp << dotod;
|
||||
msk.field(FR_JOLLY1).set(tmp);
|
||||
}
|
||||
|
||||
TSheet_field* sheet = msk.get_sheet();
|
||||
TRiga_documento& rdoc = dmsk.doc()[sheet->selected()+1];
|
||||
if (rdoc.get(RDOC_CODAGG1).empty())
|
||||
msk.set(FR_CODAGG1, causale);
|
||||
|
||||
@ -1002,7 +1067,9 @@ void TGestione_bolle_msk::user_set_handler( short fieldid, int index)
|
||||
{
|
||||
switch(index)
|
||||
{
|
||||
case 4101: set_field_handler(fieldid, lv_bolla_handler); break;
|
||||
case 4101: set_field_handler(fieldid, lv_data_handler); break;
|
||||
case 4102: set_field_handler(fieldid, lv_contratto_handler); break;
|
||||
case 4103: set_field_handler(fieldid, lv_bolla_handler); break;
|
||||
default : TDocumento_mask::user_set_handler(fieldid, index); break;
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ Title(7)=Totali
|
||||
// CODCF = S_OBBLIGATORIO
|
||||
// RAGSOC = S_NORMALE
|
||||
// RICALT = S_NORMALE
|
||||
OCCASEDIT = S_NORMALE //100
|
||||
OCCASEDIT = S_DISABILITATO //100
|
||||
OCFPI = S_DISABILITATO //100
|
||||
COFI = S_NON_VISIBILE //100
|
||||
STATOPAIV = S_NON_VISIBILE //100
|
||||
@ -161,9 +161,28 @@ CODCMS = S_NORMALE //3000
|
||||
DESCRCMS = S_NORMALE //3000
|
||||
FASCMS = S_NORMALE //3000
|
||||
DESCRFAS = S_NORMALE //3000
|
||||
BLANK = S_DISABILITATO //4000
|
||||
CODNOTE = S_NORMALE //2500
|
||||
NOTECLI = S_NOCHECK //2500
|
||||
LVGROUP = S_NORMALE //4041
|
||||
LVCODNUM = S_NORMALE //4041
|
||||
LVDESNUM = S_NORMALE //4041
|
||||
LVSTATO = S_NORMALE //4041
|
||||
LVPROVV = S_NORMALE //4041
|
||||
LVTIPODOC = S_NORMALE //4041
|
||||
LVDESTIPODOC = S_NORMALE //4041
|
||||
LVNDOC = S_NORMALE //4041
|
||||
LVANNO = S_NORMALE //4041
|
||||
LVDATADOC = S_NORMALE //4041
|
||||
LVGIORNO = S_NORMALE //4041
|
||||
LVSETTIMANA = S_NORMALE //4041
|
||||
LVTIPOCF = S_NORMALE //4041
|
||||
LVCODCF = S_NORMALE //4041
|
||||
LVRICALT = S_NORMALE //4041
|
||||
LVCODCONT = S_NORMALE //4041
|
||||
LVRAGSOC = S_NORMALE //4041
|
||||
LVCODCAU = S_NORMALE //4041
|
||||
LVDESCAU = S_NORMALE //4041
|
||||
BLANK = S_DISABILITATO //4000
|
||||
|
||||
[DEFAULT]
|
||||
Default(0)=F_CAUSTRASP|VEN
|
||||
@ -179,8 +198,8 @@ Col(6)=FR_CAULAV|Caus.|5
|
||||
Col(7)=FR_RITIRO|Ritiro|6
|
||||
Col(8)=FR_QTA|Cons.|6
|
||||
Col(9)=FR_PREZZO||6
|
||||
Col(10)=FR_JOLLY1|Dotaz.|7
|
||||
Col(11)=FR_JOLLY2|D.Temp.|7
|
||||
Col(10)=FR_JOLLY1@R|Dotaz.|7
|
||||
Col(11)=FR_JOLLY2@R|D.Temp.|7
|
||||
Col(12)=FR_JOLLY3|Inizio|10
|
||||
Col(13)=FR_JOLLY4|Fine|10
|
||||
Col(14)=FR_UMQTA
|
||||
@ -202,9 +221,13 @@ Col(27)=FR_TIPORIGA|Tipo|4
|
||||
Tipo(0)=21
|
||||
Tipo(1)=05
|
||||
|
||||
[HANDLERS]
|
||||
Handler(0) = 106|4101
|
||||
Handler(1) = 108|4102
|
||||
|
||||
[PROFILOGRUPPO]
|
||||
101 = S_NASCOSTO
|
||||
100 = S_NORMALE
|
||||
100 = S_NASCOSTO
|
||||
200 = S_NORMALE
|
||||
300 = S_NORMALE
|
||||
400 = S_NORMALE
|
||||
@ -239,18 +262,19 @@ Tipo(1)=05
|
||||
2900 = S_NORMALE
|
||||
3000 = S_NORMALE
|
||||
4000 = S_NORMALE
|
||||
4041 = S_NORMALE
|
||||
|
||||
[ORDINEGRUPPI]
|
||||
NGROUPS=22
|
||||
1=100
|
||||
2=SHEET
|
||||
3=2500
|
||||
4=200
|
||||
5=300
|
||||
6=400
|
||||
7=600
|
||||
8=800
|
||||
9=830
|
||||
NGROUPS=23
|
||||
1=4041
|
||||
2=830
|
||||
3=SHEET
|
||||
4=2500
|
||||
5=200
|
||||
6=300
|
||||
7=400
|
||||
8=600
|
||||
9=800
|
||||
10=900
|
||||
11=1100
|
||||
12=1200
|
||||
@ -264,6 +288,7 @@ NGROUPS=22
|
||||
20=2710
|
||||
21=1700
|
||||
22=2900
|
||||
23=100
|
||||
|
||||
[Colors]
|
||||
RuleName(1) = Riga vuota
|
||||
@ -273,4 +298,4 @@ FgCol(1) = 0,0,0
|
||||
RuleName(2) = Dotazione scaduta
|
||||
Rule(2) = (ADATATMP!="")&&(ANSI(33.DATADOC)>ANSI(ADATATMP))|N
|
||||
BgCol(2) = 255,0,0
|
||||
FgCol(2) = 0,0,0
|
||||
FgCol(2) = 0,0,0
|
@ -199,7 +199,7 @@ Col(7)=FR_RITIRO|Ritiro|6
|
||||
Col(8)=FR_QTA|Cons.|6
|
||||
Col(9)=FR_PREZZO||6
|
||||
Col(10)=FR_JOLLY1@R|Dotaz.|7
|
||||
Col(11)=FR_JOLLY2|D.Temp.|7
|
||||
Col(11)=FR_JOLLY2@R|D.Temp.|7
|
||||
Col(12)=FR_JOLLY3|Inizio|10
|
||||
Col(13)=FR_JOLLY4|Fine|10
|
||||
Col(14)=FR_UMQTA
|
||||
@ -223,8 +223,8 @@ Tipo(1)=05
|
||||
|
||||
[HANDLERS]
|
||||
Handler(0) = 106|4101
|
||||
Handler(1) = 108|4101
|
||||
Handler(2) = 125|4101
|
||||
Handler(1) = 108|4103
|
||||
Handler(2) = 125|4103
|
||||
|
||||
[PROFILOGRUPPO]
|
||||
101 = S_NASCOSTO
|
||||
|
Loading…
x
Reference in New Issue
Block a user