From 8c66b5385bb0ee47bb7538bedfa9bbd57385e357 Mon Sep 17 00:00:00 2001 From: luca Date: Tue, 21 Dec 2010 15:52:53 +0000 Subject: [PATCH] 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 --- ps/ps1002100.cpp | 27 ++++++++++++++++++--- ps/ps1002100a.h | 53 +++++++++++++++++++++------------------- ps/ps1002100a.uml | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 113 insertions(+), 28 deletions(-) diff --git a/ps/ps1002100.cpp b/ps/ps1002100.cpp index f31d2ee48..9de72a1dd 100755 --- a/ps/ps1002100.cpp +++ b/ps/ps1002100.cpp @@ -5,6 +5,7 @@ #include #include +#include #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 { diff --git a/ps/ps1002100a.h b/ps/ps1002100a.h index 7b9088160..82a8dbe9d 100755 --- a/ps/ps1002100a.h +++ b/ps/ps1002100a.h @@ -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 \ No newline at end of file +#define S_DESMAG 133 +#define S_DESIVA 140 +#define S_DESLAV 141 +#define S_DESCOL 142 \ No newline at end of file diff --git a/ps/ps1002100a.uml b/ps/ps1002100a.uml index d94ead86b..73528d950 100755 --- a/ps/ps1002100a.uml +++ b/ps/ps1002100a.uml @@ -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 "