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 <recarray.h>
#include <recset.h> #include <recset.h>
#include <cfven.h>
#include "../ve/condv.h" #include "../ve/condv.h"
#include "../ve/rcondv.h" #include "../ve/rcondv.h"
#include "../ve/velib.h" #include "../ve/velib.h"
@ -61,6 +62,8 @@ TObject* TDoc_cache::key2obj(const char* key)
doc->put(DOC_DATADOC, _data); doc->put(DOC_DATADOC, _data);
doc->put(DOC_TIPOCF, 'C'); doc->put(DOC_TIPOCF, 'C');
doc->put(DOC_CODCF, _codcf); doc->put(DOC_CODCF, _codcf);
doc->cli2doc(); //questo metodo riempie in automatico tutti i campi di testata collegati al cliente!
} }
return doc; 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) TDoc_cache::TDoc_cache(const char* codnum, const char* tipodoc, const TDate& datadoc, const long codcf) : TCache(13)
{ {
_codnum = codnum; _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 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, 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: protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
void fill_sheet(); void fill_sheet();
void save_sheet(); void save_sheet();
const TString4 find_um(const TString& codart) const; const TString4 find_um(const TString& codart) const;
const TString4 find_codiva(const TString& codart);
real find_prezzo_articolo(const TString& codart) const; real find_prezzo_articolo(const TString& codart) const;
public: public:
@ -125,6 +130,8 @@ TEdit_rdocs_mask::TEdit_rdocs_mask() : TAutomask ("ps1002100a")
_pos_nrig = sf_righe.cid2index(S_NRIGA); _pos_nrig = sf_righe.cid2index(S_NRIGA);
_pos_desiva = sf_righe.cid2index(S_DESIVA); _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) 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& codart = o.get();
const TString& um = find_um(codart); const TString& um = find_um(codart);
o.mask().set(S_UM, um); 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); o.mask().set(S_CODIVA, codiva);
const real prezzo = find_prezzo_articolo(codart); const real prezzo = find_prezzo_articolo(codart);
o.mask().set(S_PREZZO, prezzo); 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; 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 //cerca la um standard del codart
const TString4 TEdit_rdocs_mask::find_um(const TString& codart) const const TString4 TEdit_rdocs_mask::find_um(const TString& codart) const
{ {

View File

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

View File

@ -136,6 +136,7 @@ BEGIN
PROMPT 1 8 "Righe documento" PROMPT 1 8 "Righe documento"
ITEM "N. doc." ITEM "N. doc."
ITEM "N. riga" ITEM "N. riga"
ITEM "Mag."
ITEM "Codice articolo@20" ITEM "Codice articolo@20"
ITEM "Descrizione articolo@50" ITEM "Descrizione articolo@50"
ITEM "UM" ITEM "UM"
@ -163,6 +164,30 @@ ENDMASK
PAGE "Riga" -1 -1 78 14 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 STRING S_CODART 20
BEGIN BEGIN
PROMPT 1 1 "Articolo " PROMPT 1 1 "Articolo "
@ -251,15 +276,51 @@ END
STRING S_LAV 20 STRING S_LAV 20
BEGIN BEGIN
PROMPT 1 7 "Lavoraz. " 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 FIELD CODCMS
END 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 STRING S_COLORE 20
BEGIN BEGIN
PROMPT 1 8 "Colore " 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 FIELD FASCMS
END 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 DATA S_DATAPROD
BEGIN BEGIN
PROMPT 1 9 "Data prod " PROMPT 1 9 "Data prod "