Patch level :11.0

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
personalizzazione euroforesi dalla 11


git-svn-id: svn://10.65.10.50/branches/R_10_00@21352 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2010-12-21 15:52:53 +00:00
parent a4ab2845a4
commit 8c66b5385b
3 changed files with 113 additions and 28 deletions

View File

@ -5,6 +5,7 @@
#include <recarray.h>
#include <recset.h>
#include <cfven.h>
#include "../ve/condv.h"
#include "../ve/rcondv.h"
#include "../ve/velib.h"
@ -61,6 +62,8 @@ TObject* TDoc_cache::key2obj(const char* key)
doc->put(DOC_DATADOC, _data);
doc->put(DOC_TIPOCF, 'C');
doc->put(DOC_CODCF, _codcf);
doc->cli2doc(); //questo metodo riempie in automatico tutti i campi di testata collegati al cliente!
}
return doc;
@ -73,7 +76,7 @@ TDocumento& TDoc_cache::doc(const TToken_string& kdoc)
}
//metodo costruttore di una cache di 20 elementi
//metodo costruttore di una cache di 13 elementi
TDoc_cache::TDoc_cache(const char* codnum, const char* tipodoc, const TDate& datadoc, const long codcf) : TCache(13)
{
_codnum = codnum;
@ -89,13 +92,15 @@ TDoc_cache::TDoc_cache(const char* codnum, const char* tipodoc, const TDate& dat
class TEdit_rdocs_mask : public TAutomask
{
int _pos_art, _pos_desc, _pos_um, _pos_qta, _pos_qtaev, _pos_prz, _pos_iva, _pos_lav, _pos_col,
_pos_dtprd, _pos_qtaprd, _pos_num, _pos_anno, _pos_provv, _pos_ndoc, _pos_nrig, _pos_desiva;
_pos_dtprd, _pos_qtaprd, _pos_num, _pos_anno, _pos_provv, _pos_ndoc, _pos_nrig,
_pos_desiva, _pos_deslav, _pos_descol;
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
void fill_sheet();
void save_sheet();
const TString4 find_um(const TString& codart) const;
const TString4 find_codiva(const TString& codart);
real find_prezzo_articolo(const TString& codart) const;
public:
@ -125,6 +130,8 @@ TEdit_rdocs_mask::TEdit_rdocs_mask() : TAutomask ("ps1002100a")
_pos_nrig = sf_righe.cid2index(S_NRIGA);
_pos_desiva = sf_righe.cid2index(S_DESIVA);
_pos_deslav = sf_righe.cid2index(S_DESLAV);
_pos_descol = sf_righe.cid2index(S_DESCOL);
}
bool TEdit_rdocs_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
@ -161,7 +168,7 @@ bool TEdit_rdocs_mask::on_field_event(TOperable_field& o, TField_event e, long j
const TString& codart = o.get();
const TString& um = find_um(codart);
o.mask().set(S_UM, um);
const TString& codiva = cache().get(LF_ANAMAG, codart, ANAMAG_CODIVA);
const TString& codiva = find_codiva(codart);
o.mask().set(S_CODIVA, codiva);
const real prezzo = find_prezzo_articolo(codart);
o.mask().set(S_PREZZO, prezzo);
@ -202,6 +209,20 @@ bool TEdit_rdocs_mask::on_field_event(TOperable_field& o, TField_event e, long j
return true;
}
//cerca il codiva
const TString4 TEdit_rdocs_mask::find_codiva(const TString& codart)
{
const long codcf = get_long(F_CODCF);
TToken_string key_cfven;
key_cfven.add("C");
key_cfven.add(codcf);
TString4 codiva = cache().get(LF_CFVEN, key_cfven, CFV_ASSFIS);
if (codiva.empty())
codiva = cache().get(LF_ANAMAG, codart, ANAMAG_CODIVA);
return codiva;
}
//cerca la um standard del codart
const TString4 TEdit_rdocs_mask::find_um(const TString& codart) const
{

View File

@ -1,33 +1,36 @@
//campi maschera normale
#define F_CODCF 201
#define F_RAGSOC 202
#define F_CODNUM 203
#define F_DESNUM 204
#define F_ANNO 205
#define F_TIPODOC 206
#define F_DESTIPO 207
#define F_DATADOC 208
#define F_CODCF 301
#define F_RAGSOC 302
#define F_CODNUM 303
#define F_DESNUM 304
#define F_ANNO 305
#define F_TIPODOC 306
#define F_DESTIPO 307
#define F_DATADOC 308
#define F_RIGHE 220
#define F_RIGHE 310
//campi sheet F_RIGHE
#define S_NDOC 101
#define S_NRIGA 102
#define S_CODART 103
#define S_DESCR 104
#define S_UM 105
#define S_QTA 106
#define S_QTAEVASA 107
#define S_PREZZO 108
#define S_CODIVA 109
#define S_LAV 110
#define S_COLORE 111
#define S_DATAPROD 112
#define S_QTAPROD 113
#define S_CODNUM 114
#define S_ANNO 115
#define S_PROVV 116
#define S_CODMAG 103
#define S_CODART 104
#define S_DESCR 105
#define S_UM 106
#define S_QTA 107
#define S_QTAEVASA 108
#define S_PREZZO 109
#define S_CODIVA 110
#define S_LAV 111
#define S_COLORE 112
#define S_DATAPROD 113
#define S_QTAPROD 114
#define S_CODNUM 115
#define S_ANNO 116
#define S_PROVV 117
#define S_DESIVA 207
#define S_DESMAG 133
#define S_DESIVA 140
#define S_DESLAV 141
#define S_DESCOL 142

View File

@ -136,6 +136,7 @@ BEGIN
PROMPT 1 8 "Righe documento"
ITEM "N. doc."
ITEM "N. riga"
ITEM "Mag."
ITEM "Codice articolo@20"
ITEM "Descrizione articolo@50"
ITEM "UM"
@ -163,6 +164,30 @@ ENDMASK
PAGE "Riga" -1 -1 78 14
STRING S_CODMAG 5
BEGIN
PROMPT 1 0 "Magazzino "
USE MAG
INPUT CODTAB S_CODMAG
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT S_CODMAG CODTAB
OUTPUT S_DESMAG S0
CHECKTYPE NORMAL
FIELD CODMAG
END
STRING S_DESMAG 50
BEGIN
PROMPT 20 0 ""
USE MAG KEY 2
INPUT S0 S_DESMAG
DISPLAY "Descrizione@50" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT S_CODMAG
CHECKTYPE NORMAL
END
STRING S_CODART 20
BEGIN
PROMPT 1 1 "Articolo "
@ -251,15 +276,51 @@ END
STRING S_LAV 20
BEGIN
PROMPT 1 7 "Lavoraz. "
USE CMS
INPUT CODTAB S_LAV
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT S_LAV CODTAB
OUTPUT S_DESLAV S0
CHECKTYPE NORMAL
FIELD CODCMS
END
STRING S_DESLAV 50 40
BEGIN
PROMPT 35 7 ""
USE CMS KEY 2
INPUT S0 S_DESLAV
DISPLAY "Descrizione@50" S0
DISPLAY "Codice" CODTAB
CHECKTYPE NORMAL
COPY OUTPUT S_LAV
END
STRING S_COLORE 20
BEGIN
PROMPT 1 8 "Colore "
USE FSC
INPUT CODTAB S_COLORE
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT S_COLORE CODTAB
OUTPUT S_DESCOL S0
CHECKTYPE NORMAL
FIELD FASCMS
END
STRING S_DESCOL 50 40
BEGIN
PROMPT 35 8 ""
USE FSC KEY 2
INPUT S0 S_DESCOL
DISPLAY "Descrizione@50" S0
DISPLAY "Codice" CODTAB
CHECKTYPE NORMAL
COPY OUTPUT S_COLORE
END
DATA S_DATAPROD
BEGIN
PROMPT 1 9 "Data prod "