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);
|
static void dettaglio_causale(TSheet_field& ss);
|
||||||
|
|
||||||
//hanlder di documento:
|
//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);
|
static bool lv_bolla_handler(TMask_field& f, KEY k);
|
||||||
//handler di riga:
|
//handler di riga:
|
||||||
static bool lv_ritirato_handler(TMask_field& f, KEY k);
|
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);
|
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
|
//LV_TESTATA_HANDLER: handler che si occupa di decodificare i campi data in testata
|
||||||
bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
bool TGestione_bolle_msk::lv_data_handler(TMask_field& f, KEY k)
|
||||||
{
|
{
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
|
|
||||||
switch(f.dlg())
|
switch(f.dlg())
|
||||||
{
|
{
|
||||||
case F_CODCF: ok = TDocumento_mask::clifo_handler( f, k ); break;
|
|
||||||
case F_DATADOC: ok = data_hndl( f, k ); break;
|
case F_DATADOC: ok = data_hndl( f, k ); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)f.mask();
|
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)f.mask();
|
||||||
|
|
||||||
TDate oggi(TODAY);
|
TDate oggi(TODAY);
|
||||||
|
|
||||||
TDate primo = oggi;
|
TDate primo = oggi;
|
||||||
primo.set_day(1);
|
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
|
//decodifica del giorno della settimana
|
||||||
dmsk.set(F_LVGIORNO, itow(oggi.wday()));
|
dmsk.set(F_LVGIORNO, itow(oggi.wday()));
|
||||||
|
|
||||||
//settimana del mese = settimana(oggi) - settimana(primo del mese) +1
|
//settimana del mese = settimana(oggi) - settimana(primo del mese) +1
|
||||||
long tmp = oggi.week() - primo.week() + 1;
|
long tmp = oggi.week() - primo.week() + 1;
|
||||||
TString4 settimana;
|
TString4 settimana;
|
||||||
settimana << tmp;
|
settimana << tmp;
|
||||||
dmsk.set(F_LVSETTIMANA, settimana);
|
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);
|
TSheet_field& sheet = dmsk.sfield(F_SHEET);
|
||||||
|
|
||||||
if (ok && k == K_TAB && ((dmsk.insert_mode() && f.to_check(k, true)) || f.focusdirty()))
|
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())
|
if (codart.full())
|
||||||
{
|
{
|
||||||
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) msk.get_sheet()->mask();
|
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...
|
//recupero dal documento i dati di interesse per recuperare...
|
||||||
//...i dati dalla riga contratto
|
//...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");
|
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
|
||||||
causale = configlv->get("CAUSLAV");
|
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())
|
if (rdoc.get(RDOC_CODAGG1).empty())
|
||||||
msk.set(FR_CODAGG1, causale);
|
msk.set(FR_CODAGG1, causale);
|
||||||
|
|
||||||
@ -1002,7 +1067,9 @@ void TGestione_bolle_msk::user_set_handler( short fieldid, int index)
|
|||||||
{
|
{
|
||||||
switch(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;
|
default : TDocumento_mask::user_set_handler(fieldid, index); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ Title(7)=Totali
|
|||||||
// CODCF = S_OBBLIGATORIO
|
// CODCF = S_OBBLIGATORIO
|
||||||
// RAGSOC = S_NORMALE
|
// RAGSOC = S_NORMALE
|
||||||
// RICALT = S_NORMALE
|
// RICALT = S_NORMALE
|
||||||
OCCASEDIT = S_NORMALE //100
|
OCCASEDIT = S_DISABILITATO //100
|
||||||
OCFPI = S_DISABILITATO //100
|
OCFPI = S_DISABILITATO //100
|
||||||
COFI = S_NON_VISIBILE //100
|
COFI = S_NON_VISIBILE //100
|
||||||
STATOPAIV = S_NON_VISIBILE //100
|
STATOPAIV = S_NON_VISIBILE //100
|
||||||
@ -161,9 +161,28 @@ CODCMS = S_NORMALE //3000
|
|||||||
DESCRCMS = S_NORMALE //3000
|
DESCRCMS = S_NORMALE //3000
|
||||||
FASCMS = S_NORMALE //3000
|
FASCMS = S_NORMALE //3000
|
||||||
DESCRFAS = S_NORMALE //3000
|
DESCRFAS = S_NORMALE //3000
|
||||||
BLANK = S_DISABILITATO //4000
|
|
||||||
CODNOTE = S_NORMALE //2500
|
CODNOTE = S_NORMALE //2500
|
||||||
NOTECLI = S_NOCHECK //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]
|
||||||
Default(0)=F_CAUSTRASP|VEN
|
Default(0)=F_CAUSTRASP|VEN
|
||||||
@ -179,8 +198,8 @@ Col(6)=FR_CAULAV|Caus.|5
|
|||||||
Col(7)=FR_RITIRO|Ritiro|6
|
Col(7)=FR_RITIRO|Ritiro|6
|
||||||
Col(8)=FR_QTA|Cons.|6
|
Col(8)=FR_QTA|Cons.|6
|
||||||
Col(9)=FR_PREZZO||6
|
Col(9)=FR_PREZZO||6
|
||||||
Col(10)=FR_JOLLY1|Dotaz.|7
|
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(12)=FR_JOLLY3|Inizio|10
|
||||||
Col(13)=FR_JOLLY4|Fine|10
|
Col(13)=FR_JOLLY4|Fine|10
|
||||||
Col(14)=FR_UMQTA
|
Col(14)=FR_UMQTA
|
||||||
@ -202,9 +221,13 @@ Col(27)=FR_TIPORIGA|Tipo|4
|
|||||||
Tipo(0)=21
|
Tipo(0)=21
|
||||||
Tipo(1)=05
|
Tipo(1)=05
|
||||||
|
|
||||||
|
[HANDLERS]
|
||||||
|
Handler(0) = 106|4101
|
||||||
|
Handler(1) = 108|4102
|
||||||
|
|
||||||
[PROFILOGRUPPO]
|
[PROFILOGRUPPO]
|
||||||
101 = S_NASCOSTO
|
101 = S_NASCOSTO
|
||||||
100 = S_NORMALE
|
100 = S_NASCOSTO
|
||||||
200 = S_NORMALE
|
200 = S_NORMALE
|
||||||
300 = S_NORMALE
|
300 = S_NORMALE
|
||||||
400 = S_NORMALE
|
400 = S_NORMALE
|
||||||
@ -239,18 +262,19 @@ Tipo(1)=05
|
|||||||
2900 = S_NORMALE
|
2900 = S_NORMALE
|
||||||
3000 = S_NORMALE
|
3000 = S_NORMALE
|
||||||
4000 = S_NORMALE
|
4000 = S_NORMALE
|
||||||
|
4041 = S_NORMALE
|
||||||
|
|
||||||
[ORDINEGRUPPI]
|
[ORDINEGRUPPI]
|
||||||
NGROUPS=22
|
NGROUPS=23
|
||||||
1=100
|
1=4041
|
||||||
2=SHEET
|
2=830
|
||||||
3=2500
|
3=SHEET
|
||||||
4=200
|
4=2500
|
||||||
5=300
|
5=200
|
||||||
6=400
|
6=300
|
||||||
7=600
|
7=400
|
||||||
8=800
|
8=600
|
||||||
9=830
|
9=800
|
||||||
10=900
|
10=900
|
||||||
11=1100
|
11=1100
|
||||||
12=1200
|
12=1200
|
||||||
@ -264,6 +288,7 @@ NGROUPS=22
|
|||||||
20=2710
|
20=2710
|
||||||
21=1700
|
21=1700
|
||||||
22=2900
|
22=2900
|
||||||
|
23=100
|
||||||
|
|
||||||
[Colors]
|
[Colors]
|
||||||
RuleName(1) = Riga vuota
|
RuleName(1) = Riga vuota
|
||||||
@ -273,4 +298,4 @@ FgCol(1) = 0,0,0
|
|||||||
RuleName(2) = Dotazione scaduta
|
RuleName(2) = Dotazione scaduta
|
||||||
Rule(2) = (ADATATMP!="")&&(ANSI(33.DATADOC)>ANSI(ADATATMP))|N
|
Rule(2) = (ADATATMP!="")&&(ANSI(33.DATADOC)>ANSI(ADATATMP))|N
|
||||||
BgCol(2) = 255,0,0
|
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(8)=FR_QTA|Cons.|6
|
||||||
Col(9)=FR_PREZZO||6
|
Col(9)=FR_PREZZO||6
|
||||||
Col(10)=FR_JOLLY1@R|Dotaz.|7
|
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(12)=FR_JOLLY3|Inizio|10
|
||||||
Col(13)=FR_JOLLY4|Fine|10
|
Col(13)=FR_JOLLY4|Fine|10
|
||||||
Col(14)=FR_UMQTA
|
Col(14)=FR_UMQTA
|
||||||
@ -223,8 +223,8 @@ Tipo(1)=05
|
|||||||
|
|
||||||
[HANDLERS]
|
[HANDLERS]
|
||||||
Handler(0) = 106|4101
|
Handler(0) = 106|4101
|
||||||
Handler(1) = 108|4101
|
Handler(1) = 108|4103
|
||||||
Handler(2) = 125|4101
|
Handler(2) = 125|4103
|
||||||
|
|
||||||
[PROFILOGRUPPO]
|
[PROFILOGRUPPO]
|
||||||
101 = S_NASCOSTO
|
101 = S_NASCOSTO
|
||||||
|
Loading…
x
Reference in New Issue
Block a user