Patch level : 10.0
Files correlati : lv3, lvbollac.msk (+velib06) Ricompilazione Demo : [ ] Commento : 0001136: Colori righe bolle (1) Descrizione Si chiede di colorare (per esempio in giallo) le righe bolla che hanno Consegnato e Ritirato entrambe a zero 0001137: Colori righe bolle (2) Descrizione Si chiede di colorare (per esempio in rosso) le righe bolla che hanno Dotazione temporanea maggiore di zero se la data documento è maggiore della data di scadenza della dotazione temporanea git-svn-id: svn://10.65.10.50/trunk@18224 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c60f5f27ce
commit
46d63d894b
@ -8,6 +8,7 @@
|
|||||||
#include "lvlib.h"
|
#include "lvlib.h"
|
||||||
#include "lvcondv.h"
|
#include "lvcondv.h"
|
||||||
#include "lvrcondv.h"
|
#include "lvrcondv.h"
|
||||||
|
#include "lvrconsplan.h"
|
||||||
#include "../mg/clifogiac.h"
|
#include "../mg/clifogiac.h"
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
@ -236,6 +237,7 @@ protected:
|
|||||||
static bool lv_consegnato_handler(TMask_field& f, KEY k);
|
static bool lv_consegnato_handler(TMask_field& f, KEY k);
|
||||||
static bool lv_codart_handler(TMask_field& f, KEY k);
|
static bool lv_codart_handler(TMask_field& f, KEY k);
|
||||||
static bool lv_causale_handler(TMask_field& f, KEY k);
|
static bool lv_causale_handler(TMask_field& f, KEY k);
|
||||||
|
static bool lv_dotmp_handler(TMask_field& f, KEY k);
|
||||||
|
|
||||||
static bool ss_notify(TSheet_field& ss, int r, KEY key);
|
static bool ss_notify(TSheet_field& ss, int r, KEY key);
|
||||||
|
|
||||||
@ -335,7 +337,7 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
|||||||
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)f.mask();
|
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)f.mask();
|
||||||
|
|
||||||
TDate oggi(TODAY);
|
TDate oggi(TODAY);
|
||||||
if (!dmsk.field(F_DATADOC).enabled() && dmsk.insert_mode())
|
if (dmsk.insert_mode())
|
||||||
dmsk.set(F_DATADOC,oggi);
|
dmsk.set(F_DATADOC,oggi);
|
||||||
|
|
||||||
TSheet_field& sheet = dmsk.sfield(F_SHEET);
|
TSheet_field& sheet = dmsk.sfield(F_SHEET);
|
||||||
@ -410,6 +412,13 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
|||||||
//instanzio una cache sulle anagrafice di magazzino
|
//instanzio una cache sulle anagrafice di magazzino
|
||||||
const TRectype& anamag = cache().get(LF_ANAMAG,codart);
|
const TRectype& anamag = cache().get(LF_ANAMAG,codart);
|
||||||
|
|
||||||
|
//instanzio in TRecordset sui giri
|
||||||
|
TISAM_recordset giri("USE LVRCONSPLAN KEY 3\nSELECT DTCONS>#DATADOC\nFROM CODCF=#CODCF CODCONT=#CODCONT\nTO CODCF=#CODCF CODCONT=#CODCONT");
|
||||||
|
giri.set_var("#DATADOC", datadoc);
|
||||||
|
giri.set_var("#CODCF", codcf);
|
||||||
|
giri.set_var("#CODCONT", codcont);
|
||||||
|
giri.move_first();
|
||||||
|
|
||||||
rdoc.put(RDOC_CODART,codart);
|
rdoc.put(RDOC_CODART,codart);
|
||||||
rdoc.put(RDOC_CODARTMAG,codart);
|
rdoc.put(RDOC_CODARTMAG,codart);
|
||||||
rdoc.put(RDOC_CHECKED,'X');
|
rdoc.put(RDOC_CHECKED,'X');
|
||||||
@ -418,6 +427,13 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
|||||||
rdoc.put(RDOC_CODAGG1,causale);
|
rdoc.put(RDOC_CODAGG1,causale);
|
||||||
rdoc.put(RDOC_CODIVA,anamag.get(ANAMAG_CODIVA));
|
rdoc.put(RDOC_CODIVA,anamag.get(ANAMAG_CODIVA));
|
||||||
|
|
||||||
|
//setto le date di inizio e fine della dotazione temporanea
|
||||||
|
rdoc.put("DADATATMP", rcont.get(LVRCONDV_INDTTMP).as_date());
|
||||||
|
if (rcont.get(LVRCONDV_FIDTTMP).as_date() < datadoc)
|
||||||
|
rdoc.put("ADATATMP", rcont.get(LVRCONDV_FIDTTMP).as_date());
|
||||||
|
else
|
||||||
|
rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||||
|
|
||||||
//elaborazione per il prezzo: o lo prendo dalle righe contratto, o dall'anagrafica magazzino
|
//elaborazione per il prezzo: o lo prendo dalle righe contratto, o dall'anagrafica magazzino
|
||||||
const TString& sconto = rcont.get(LVRCONDV_SCONTPERC).as_string();
|
const TString& sconto = rcont.get(LVRCONDV_SCONTPERC).as_string();
|
||||||
rdoc.put(RDOC_SCONTO, sconto);
|
rdoc.put(RDOC_SCONTO, sconto);
|
||||||
@ -657,6 +673,40 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//LV_DOTMP_HANDLER: handler che aggiorna la data di fine dotazione temporanea sul contratto se l'utente lo richiede
|
||||||
|
bool TGestione_bolle_msk::lv_dotmp_handler(TMask_field& f, KEY k)
|
||||||
|
{
|
||||||
|
if (f.to_check(k, true))
|
||||||
|
{
|
||||||
|
TDate finetmp = f.get();
|
||||||
|
TMask& msk = f.mask();
|
||||||
|
TSheet_field* sheet = msk.get_sheet();
|
||||||
|
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)sheet->mask();
|
||||||
|
|
||||||
|
if (!finetmp.empty() && finetmp > msk.get_date(F_DATADOC) &&
|
||||||
|
yesno_box(TR("La data di fine dotazione temporanea è diversa da quella presente sul contratto."
|
||||||
|
"Si desidera aggiornarla con quella attuale?")))
|
||||||
|
{
|
||||||
|
//ricerco la riga contratto che mi interessa
|
||||||
|
const long codcf = dmsk.get_long(F_CODCF);
|
||||||
|
const int indsped = dmsk.get_int(F_CODINDSP);
|
||||||
|
const TDate datadoc = dmsk.get_date(F_DATADOC);
|
||||||
|
|
||||||
|
TLaundry_contract cont(codcf,indsped,datadoc);
|
||||||
|
TLocalisamfile rcondv(LF_LVRCONDV);
|
||||||
|
rcondv.put(LVRCONDV_CODCF,codcf);
|
||||||
|
rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT));
|
||||||
|
rcondv.put(LVRCONDV_CODART,msk.get(FR_CODART));
|
||||||
|
if (rcondv.read() == NOERR)
|
||||||
|
{
|
||||||
|
rcondv.put(LVRCONDV_FIDTTMP, finetmp);
|
||||||
|
rcondv.rewrite();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
//metodo che setta gli handler sui campi di riga
|
//metodo che setta gli handler sui campi di riga
|
||||||
void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index)
|
void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index)
|
||||||
{
|
{
|
||||||
@ -666,6 +716,7 @@ void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index
|
|||||||
case 4102: rm.set_handler(field, lv_consegnato_handler); break;
|
case 4102: rm.set_handler(field, lv_consegnato_handler); break;
|
||||||
case 4103: rm.set_handler(field, lv_codart_handler); break;
|
case 4103: rm.set_handler(field, lv_codart_handler); break;
|
||||||
case 4104: rm.set_handler(field, lv_causale_handler); break;
|
case 4104: rm.set_handler(field, lv_causale_handler); break;
|
||||||
|
case 4105: rm.set_handler(field, lv_dotmp_handler); break;
|
||||||
default : TDocumento_mask::user_set_row_handler(rm, field, index); break;
|
default : TDocumento_mask::user_set_row_handler(rm, field, index); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ Title(7)=Totali
|
|||||||
// TIPOCF = S_NORMALE
|
// TIPOCF = S_NORMALE
|
||||||
// CODCF = S_OBBLIGATORIO
|
// CODCF = S_OBBLIGATORIO
|
||||||
// RAGSOC = S_NORMALE
|
// RAGSOC = S_NORMALE
|
||||||
//RICALT = S_NORMALE
|
// RICALT = S_NORMALE
|
||||||
OCCASEDIT = S_NORMALE //100
|
OCCASEDIT = S_NORMALE //100
|
||||||
OCFPI = S_DISABILITATO //100
|
OCFPI = S_DISABILITATO //100
|
||||||
COFI = S_NON_VISIBILE //100
|
COFI = S_NON_VISIBILE //100
|
||||||
@ -181,19 +181,21 @@ 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|Dotaz.|7
|
||||||
Col(11)=FR_JOLLY2|D.Temp.|7
|
Col(11)=FR_JOLLY2|D.Temp.|7
|
||||||
Col(12)=FR_UMQTA
|
Col(12)=FR_JOLLY3|Inizio|10
|
||||||
Col(13)=FR_SCONTO
|
Col(13)=FR_JOLLY4|Fine|10
|
||||||
Col(14)=FR_PERCPROV
|
Col(14)=FR_UMQTA
|
||||||
Col(15)=FR_CODIVA
|
Col(15)=FR_SCONTO
|
||||||
Col(16)=FR_NCOLLI
|
Col(16)=FR_PERCPROV
|
||||||
Col(17)=FR_PNETTO
|
Col(17)=FR_CODIVA
|
||||||
Col(18)=FR_TARA
|
Col(18)=FR_NCOLLI
|
||||||
Col(19)=FR_CAUS
|
Col(19)=FR_PNETTO
|
||||||
Col(20)=FR_CODMAGC
|
Col(20)=FR_TARA
|
||||||
Col(21)=FR_CODDEPC
|
Col(21)=FR_CAUS
|
||||||
Col(22)=FR_CODMAG
|
Col(22)=FR_CODMAGC
|
||||||
Col(23)=FR_CODDEP
|
Col(23)=FR_CODDEPC
|
||||||
Col(24)=FR_TIPORIGA|Tipo|4
|
Col(24)=FR_CODMAG
|
||||||
|
Col(25)=FR_CODDEP
|
||||||
|
Col(26)=FR_TIPORIGA|Tipo|4
|
||||||
|
|
||||||
[RIGHE]
|
[RIGHE]
|
||||||
Tipo(0)=21
|
Tipo(0)=21
|
||||||
@ -267,3 +269,12 @@ NGROUPS=22
|
|||||||
21=1700
|
21=1700
|
||||||
22=2900
|
22=2900
|
||||||
|
|
||||||
|
[Colors]
|
||||||
|
RuleName(1) = Dotazione scaduta
|
||||||
|
Rule(1) = (ADATATMP!="")&&(ANSI(33.DATADOC)>ANSI(ADATATMP))|N
|
||||||
|
BgCol(1) = 255,0,0
|
||||||
|
FgCol(1) = 0,0,0
|
||||||
|
RuleName(2) = Riga vuota
|
||||||
|
Rule(2) = STR(TIPORIGA!="05")&&(QTA==0)&&(QTAGG1==0)|N
|
||||||
|
BgCol(2) = 255,255,128
|
||||||
|
FgCol(2) = 0,0,0
|
||||||
|
@ -7,4 +7,14 @@ STRING FR_JOLLY2 5
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 20 13 "Dot.temp "
|
PROMPT 20 13 "Dot.temp "
|
||||||
FIELD DOTMP
|
FIELD DOTMP
|
||||||
|
END
|
||||||
|
DATE FR_JOLLY3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 36 13 "Inizio "
|
||||||
|
FIELD DADATATMP
|
||||||
|
END
|
||||||
|
DATE FR_JOLLY4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 54 13 "Fine "
|
||||||
|
FIELD ADATATMP
|
||||||
END
|
END
|
@ -10,3 +10,4 @@ NHANDLER = 4
|
|||||||
2 = 112|4102
|
2 = 112|4102
|
||||||
3 = 105|4103
|
3 = 105|4103
|
||||||
4 = 152|4104
|
4 = 152|4104
|
||||||
|
5 = 158|4105
|
||||||
|
Loading…
x
Reference in New Issue
Block a user