Patch level : 10.0 patch 244

Files correlati     : lv3, lvbollac
Ricompilazione Demo : [ ]
Commento            :
Aggiunti i campi in testata dei documenti delle lavanderie, modificato il programma in modo che decodifichi in maniera corretta i campi


git-svn-id: svn://10.65.10.50/trunk@18305 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-02-20 14:22:19 +00:00
parent 501dbfa92a
commit 5043ad16b2
2 changed files with 73 additions and 17 deletions

View File

@ -1,6 +1,7 @@
#include "../ve/ve0100.h" #include "../ve/ve0100.h"
#include "../ve/veini.h" #include "../ve/veini.h"
#include "../ve/veuml.h" #include "../ve/veuml.h"
#include "../ve/veuml3.h"
#include "../ve/verig.h" #include "../ve/verig.h"
#include "../ve/vepriv.h" #include "../ve/vepriv.h"
@ -25,6 +26,8 @@ class TGestione_bolle_msk : public TDocumento_mask
protected: protected:
static void arrotonda(const TMask& msk, real& quantita); static void arrotonda(const TMask& msk, real& quantita);
static void dettaglio_causale(TSheet_field& ss);
//hanlder di documento: //hanlder di documento:
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:
@ -240,8 +243,8 @@ int TGiac_per_cli::write_giac(const TMask& m)
magcli.put(CLIFOGIAC_CODCF, _clifo); magcli.put(CLIFOGIAC_CODCF, _clifo);
magcli.put(CLIFOGIAC_INDSPED, _indsped); magcli.put(CLIFOGIAC_INDSPED, _indsped);
magcli.put(CLIFOGIAC_CODART, row->get(RDOC_CODART)); magcli.put(CLIFOGIAC_CODART, row->get(RDOC_CODART));
magcli.put (CLIFOGIAC_DOTOD, row->get_real("DOTOD")); magcli.put(CLIFOGIAC_DOTOD, row->get_real("DOTOD"));
magcli.put (CLIFOGIAC_DOTTM, row->get_real("DOTMP")); magcli.put(CLIFOGIAC_DOTTM, row->get_real("DOTMP"));
err = magcli.rewrite_write(); err = magcli.rewrite_write();
} }
} }
@ -329,6 +332,19 @@ void TGestione_bolle_msk::arrotonda(const TMask& msk, real& quantita)
} }
} }
//DETTAGLIO_CAUSALE: metodo che setta esplode la causale negli appositi campi
void TGestione_bolle_msk::dettaglio_causale(TSheet_field& ss)
{
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) ss.mask();
TString4 causale = ss.cell(ss.selected(),ss.cid2index(FR_CODAGG1));
//instanzio una cache sulle causali
const TRectype& cau = cache().get("&CAU", causale);
//esplodo la causale
dmsk.set(F_LVCODCAU, causale);
dmsk.set(F_LVDESCAU, cau.get("S0"));
}
//////////////////////////// ////////////////////////////
// HANDLER DI DOCUMENTO // // HANDLER DI DOCUMENTO //
//////////////////////////// ////////////////////////////
@ -342,6 +358,7 @@ void TGestione_bolle_msk:: on_idle()
//per ora 4 fisso perchè non sappiamo calcolare la colonna del ritirato //per ora 4 fisso perchè non sappiamo calcolare la colonna del ritirato
s.set_focus_cell(_autoselect,4); s.set_focus_cell(_autoselect,4);
_autoselect = -1; _autoselect = -1;
dettaglio_causale(s);
} }
} }
@ -350,8 +367,13 @@ void TGestione_bolle_msk:: on_idle()
//..standard e non questo qui ridefinito. Allah! //..standard e non questo qui ridefinito. Allah!
bool TGestione_bolle_msk::ss_notify(TSheet_field& ss, int r, KEY key) bool TGestione_bolle_msk::ss_notify(TSheet_field& ss, int r, KEY key)
{ {
if (key == K_TAB && ((TGestione_bolle_msk&)ss.mask())._autoselect == -1) TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) ss.mask();
((TGestione_bolle_msk&)ss.mask())._autoselect = ss.selected();
if (key == K_TAB && dmsk._autoselect == -1)
{
dettaglio_causale(ss); //esplodo la causale
dmsk._autoselect = ss.selected(); //riga per settare il focus
}
return TDocumento_mask::ss_notify(ss, r, key); return TDocumento_mask::ss_notify(ss, r, key);
} }
@ -368,8 +390,21 @@ 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);
TDate primo = oggi;
primo.set_day(1);
if (dmsk.insert_mode()) if (dmsk.insert_mode())
dmsk.set(F_DATADOC,oggi); dmsk.set(F_DATADOC,oggi);
//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);
TSheet_field& sheet = dmsk.sfield(F_SHEET); TSheet_field& sheet = dmsk.sfield(F_SHEET);

View File

@ -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
@ -208,7 +227,7 @@ Handler(2) = 125|4101
[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
@ -243,18 +262,19 @@ Handler(2) = 125|4101
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
@ -268,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