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 "lvcondv.h"
|
||||
#include "lvrcondv.h"
|
||||
#include "lvrconsplan.h"
|
||||
#include "../mg/clifogiac.h"
|
||||
|
||||
////////////////////////////////////
|
||||
@ -236,6 +237,7 @@ protected:
|
||||
static bool lv_consegnato_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_dotmp_handler(TMask_field& f, KEY k);
|
||||
|
||||
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();
|
||||
|
||||
TDate oggi(TODAY);
|
||||
if (!dmsk.field(F_DATADOC).enabled() && dmsk.insert_mode())
|
||||
if (dmsk.insert_mode())
|
||||
dmsk.set(F_DATADOC,oggi);
|
||||
|
||||
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
|
||||
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_CODARTMAG,codart);
|
||||
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_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
|
||||
const TString& sconto = rcont.get(LVRCONDV_SCONTPERC).as_string();
|
||||
rdoc.put(RDOC_SCONTO, sconto);
|
||||
@ -657,6 +673,40 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
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
|
||||
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 4103: rm.set_handler(field, lv_codart_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;
|
||||
}
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ Title(7)=Totali
|
||||
// TIPOCF = S_NORMALE
|
||||
// CODCF = S_OBBLIGATORIO
|
||||
// RAGSOC = S_NORMALE
|
||||
//RICALT = S_NORMALE
|
||||
// RICALT = S_NORMALE
|
||||
OCCASEDIT = S_NORMALE //100
|
||||
OCFPI = S_DISABILITATO //100
|
||||
COFI = S_NON_VISIBILE //100
|
||||
@ -181,19 +181,21 @@ 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(12)=FR_UMQTA
|
||||
Col(13)=FR_SCONTO
|
||||
Col(14)=FR_PERCPROV
|
||||
Col(15)=FR_CODIVA
|
||||
Col(16)=FR_NCOLLI
|
||||
Col(17)=FR_PNETTO
|
||||
Col(18)=FR_TARA
|
||||
Col(19)=FR_CAUS
|
||||
Col(20)=FR_CODMAGC
|
||||
Col(21)=FR_CODDEPC
|
||||
Col(22)=FR_CODMAG
|
||||
Col(23)=FR_CODDEP
|
||||
Col(24)=FR_TIPORIGA|Tipo|4
|
||||
Col(12)=FR_JOLLY3|Inizio|10
|
||||
Col(13)=FR_JOLLY4|Fine|10
|
||||
Col(14)=FR_UMQTA
|
||||
Col(15)=FR_SCONTO
|
||||
Col(16)=FR_PERCPROV
|
||||
Col(17)=FR_CODIVA
|
||||
Col(18)=FR_NCOLLI
|
||||
Col(19)=FR_PNETTO
|
||||
Col(20)=FR_TARA
|
||||
Col(21)=FR_CAUS
|
||||
Col(22)=FR_CODMAGC
|
||||
Col(23)=FR_CODDEPC
|
||||
Col(24)=FR_CODMAG
|
||||
Col(25)=FR_CODDEP
|
||||
Col(26)=FR_TIPORIGA|Tipo|4
|
||||
|
||||
[RIGHE]
|
||||
Tipo(0)=21
|
||||
@ -267,3 +269,12 @@ NGROUPS=22
|
||||
21=1700
|
||||
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
|
||||
PROMPT 20 13 "Dot.temp "
|
||||
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
|
@ -10,3 +10,4 @@ NHANDLER = 4
|
||||
2 = 112|4102
|
||||
3 = 105|4103
|
||||
4 = 152|4104
|
||||
5 = 158|4105
|
||||
|
Loading…
x
Reference in New Issue
Block a user