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/veini.h"
#include "../ve/veuml.h"
#include "../ve/veuml3.h"
#include "../ve/verig.h"
#include "../ve/vepriv.h"
@ -25,6 +26,8 @@ class TGestione_bolle_msk : public TDocumento_mask
protected:
static void arrotonda(const TMask& msk, real& quantita);
static void dettaglio_causale(TSheet_field& ss);
//hanlder di documento:
static bool lv_bolla_handler(TMask_field& f, KEY k);
//handler di riga:
@ -240,8 +243,8 @@ int TGiac_per_cli::write_giac(const TMask& m)
magcli.put(CLIFOGIAC_CODCF, _clifo);
magcli.put(CLIFOGIAC_INDSPED, _indsped);
magcli.put(CLIFOGIAC_CODART, row->get(RDOC_CODART));
magcli.put (CLIFOGIAC_DOTOD, row->get_real("DOTOD"));
magcli.put (CLIFOGIAC_DOTTM, row->get_real("DOTMP"));
magcli.put(CLIFOGIAC_DOTOD, row->get_real("DOTOD"));
magcli.put(CLIFOGIAC_DOTTM, row->get_real("DOTMP"));
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 //
////////////////////////////
@ -342,6 +358,7 @@ void TGestione_bolle_msk:: on_idle()
//per ora 4 fisso perchè non sappiamo calcolare la colonna del ritirato
s.set_focus_cell(_autoselect,4);
_autoselect = -1;
dettaglio_causale(s);
}
}
@ -350,8 +367,13 @@ void TGestione_bolle_msk:: on_idle()
//..standard e non questo qui ridefinito. Allah!
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&)ss.mask())._autoselect = ss.selected();
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) ss.mask();
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);
}
@ -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();
TDate oggi(TODAY);
TDate primo = oggi;
primo.set_day(1);
if (dmsk.insert_mode())
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);

View File

@ -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
@ -208,7 +227,7 @@ Handler(2) = 125|4101
[PROFILOGRUPPO]
101 = S_NASCOSTO
100 = S_NORMALE
100 = S_NASCOSTO
200 = S_NORMALE
300 = S_NORMALE
400 = S_NORMALE
@ -243,18 +262,19 @@ Handler(2) = 125|4101
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
@ -268,6 +288,7 @@ NGROUPS=22
20=2710
21=1700
22=2900
23=100
[Colors]
RuleName(1) = Riga vuota