Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@17111 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a8c4b15523
commit
ce7776b80d
10
lv/f168.trr
10
lv/f168.trr
@ -1,5 +1,5 @@
|
|||||||
168
|
168
|
||||||
41
|
42
|
||||||
CODCONT|3|6|0|Codice Contratto
|
CODCONT|3|6|0|Codice Contratto
|
||||||
STATUS|1|2|0|Stato del contratto, <CH>chiuso, <CO>confermato, <DC>da confermare
|
STATUS|1|2|0|Stato del contratto, <CH>chiuso, <CO>confermato, <DC>da confermare
|
||||||
CODCF|3|6|0|Codice cliente
|
CODCF|3|6|0|Codice cliente
|
||||||
@ -26,8 +26,8 @@ SSCONS|8|1|0|Spese di spedizione alla consegna
|
|||||||
TIPOSTPRZ|2|1|0|Tipo di stamapa prezzo
|
TIPOSTPRZ|2|1|0|Tipo di stamapa prezzo
|
||||||
CAUSMAG|1|4|0|Causale di magazzino
|
CAUSMAG|1|4|0|Causale di magazzino
|
||||||
DTLASTFAT|5|8|0|Data ultima fattura
|
DTLASTFAT|5|8|0|Data ultima fattura
|
||||||
ATTFATTNODT|8|1|0|Attiva fatturazione indipendentemente dalla data
|
ATTFATNODT|8|1|0|Attiva fatturazione indipendentemente dalla data
|
||||||
RIFBOLINFAT|8|1|0|Riferimenti bolle in fattura
|
RIFBOLFAT|8|1|0|Riferimenti bolle in fattura
|
||||||
STDICITURA|8|1|0|Stampa dicitura
|
STDICITURA|8|1|0|Stampa dicitura
|
||||||
PROFORME|8|1|0|Proforme
|
PROFORME|8|1|0|Proforme
|
||||||
CICLAGGIO|8|1|0|Ciclaggio su due righe
|
CICLAGGIO|8|1|0|Ciclaggio su due righe
|
||||||
@ -36,10 +36,10 @@ STETITS|8|1|0|Stampa etichette con Touch Screen
|
|||||||
STDDTPTS|8|1|0|Stampa DDT da pulito con Touch Screen
|
STDDTPTS|8|1|0|Stampa DDT da pulito con Touch Screen
|
||||||
IMPMINFAT|4|18|3|Importo minimo fatturabile
|
IMPMINFAT|4|18|3|Importo minimo fatturabile
|
||||||
PERCNOCONT|4|6|2|Percentuale aumento per mancato conteggio
|
PERCNOCONT|4|6|2|Percentuale aumento per mancato conteggio
|
||||||
PERCTOLLPES|4|6|2|Percentuale tolleranza peso teorico/effettivo
|
PERCTOLPES|4|6|2|Percentuale tolleranza peso teorico/effettivo
|
||||||
NUMUT|2|5|0|Numero utente
|
NUMUT|2|5|0|Numero utente
|
||||||
NUMETI|2|5|0|Numero etichette
|
NUMETI|2|5|0|Numero etichette
|
||||||
RITAUTDTTMP|8|1|0|Ritiro automatico dotazione temporanea
|
RITAUDTTMP|8|1|0|Ritiro automatico dotazione temporanea
|
||||||
DTFIXDDT|5|8|0|Data fissa per creazione DDT da sporco
|
DTFIXDDT|5|8|0|Data fissa per creazione DDT da sporco
|
||||||
COMMENTI|11|10|0|Commenti e note
|
COMMENTI|11|10|0|Commenti e note
|
||||||
1
|
1
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
169
|
169
|
||||||
10
|
28
|
||||||
CODCF|3|6|0|Codice cliente
|
CODCF|3|6|0|Codice cliente
|
||||||
CODCONT|3|6|0|Codice contratto
|
CODCONT|3|6|0|Codice contratto
|
||||||
ARTICOLO|1|2|0|Codice articolo
|
CODART|1|2|0|Codice articolo
|
||||||
PREZZO|4|18|3|Prezzo in vigore
|
PREZZO|4|18|3|Prezzo in vigore
|
||||||
PREZRIN|4|18|3|Prezzo di rinnovo
|
PREZRIN|4|18|3|Prezzo di rinnovo
|
||||||
QTACONG|4|15|5|Quantità conguaglio
|
QTACONG|4|15|5|Quantità conguaglio
|
||||||
@ -18,7 +18,7 @@ CONSANNO|4|15|5|Consegnato anno
|
|||||||
UM|1|2|0|Unità di misura
|
UM|1|2|0|Unità di misura
|
||||||
PREZDAN|4|18|3|Prezzo danneggiati
|
PREZDAN|4|18|3|Prezzo danneggiati
|
||||||
TIPOFORF|2|1|0|Tipo forfait
|
TIPOFORF|2|1|0|Tipo forfait
|
||||||
RITAUTDTTMP|8|1|0|Ritiro automatico dotazione temporanea
|
RITAUDTTMP|8|1|0|Ritiro automatico dotazione temporanea
|
||||||
ARROT|8|1|0|Arrotondamento
|
ARROT|8|1|0|Arrotondamento
|
||||||
CAUSMAG|1|4|0|Causale di magazzino
|
CAUSMAG|1|4|0|Causale di magazzino
|
||||||
VALCONV|4|18|3|Valore convenzionale
|
VALCONV|4|18|3|Valore convenzionale
|
||||||
@ -30,6 +30,6 @@ CALCCONS|2|1|0|Calcolo consegnato
|
|||||||
TIPONOL|2|1|0|Tipo noleggio
|
TIPONOL|2|1|0|Tipo noleggio
|
||||||
COLORE|1|20|0|Colore
|
COLORE|1|20|0|Colore
|
||||||
1
|
1
|
||||||
|
|
CODCF+CODCONT+CODART|
|
||||||
|
|
||||||
|
|
||||||
|
126
lv/lv0400.cpp
126
lv/lv0400.cpp
@ -1,3 +1,4 @@
|
|||||||
|
#include <msksheet.h>
|
||||||
#include <relapp.h>
|
#include <relapp.h>
|
||||||
#include <recset.h>
|
#include <recset.h>
|
||||||
|
|
||||||
@ -10,6 +11,11 @@ class TContratti_app: public TRelation_application
|
|||||||
TRelation* _rel;
|
TRelation* _rel;
|
||||||
bool _unicont;
|
bool _unicont;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void save_rows(const TMask& m);
|
||||||
|
void build_query(const TMask& m,TString& query) const;
|
||||||
|
int find_art(TSheet_field& s,const TString& art) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool changing_mask (int mode) { return true;}
|
virtual bool changing_mask (int mode) { return true;}
|
||||||
virtual TMask* get_mask (int mode) {return mode==MODE_QUERY?_amsk:_bmsk; }
|
virtual TMask* get_mask (int mode) {return mode==MODE_QUERY?_amsk:_bmsk; }
|
||||||
@ -19,6 +25,11 @@ protected:
|
|||||||
virtual bool user_destroy();
|
virtual bool user_destroy();
|
||||||
virtual void on_config_change();
|
virtual void on_config_change();
|
||||||
virtual bool get_next_key(TToken_string& key);
|
virtual bool get_next_key(TToken_string& key);
|
||||||
|
virtual int read(TMask& m);
|
||||||
|
virtual int write(const TMask& m);
|
||||||
|
virtual int rewrite(const TMask& m);
|
||||||
|
virtual bool remove();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
bool TContratti_app:: user_create()
|
bool TContratti_app:: user_create()
|
||||||
@ -80,6 +91,121 @@ bool TContratti_app:: get_next_key(TToken_string& key)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TContratti_app:: build_query(const TMask& m,TString& query) const
|
||||||
|
{
|
||||||
|
query="";
|
||||||
|
query << "USE LVCONDV\n"
|
||||||
|
<< "FROM CODCF="<<m.get(F_CODCF)<<" CODCONT="<<m.get(F_CODCONT)<<"\n"
|
||||||
|
<< "TO CODCF="<<m.get(F_CODCF)<<" CODCONT="<<m.get(F_CODCONT);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int TContratti_app:: read(TMask& m)
|
||||||
|
{
|
||||||
|
int err=TRelation_application::read(m);
|
||||||
|
if(err==NOERR)
|
||||||
|
{
|
||||||
|
TString query;
|
||||||
|
build_query(m,query);
|
||||||
|
TISAM_recordset righeset(query);
|
||||||
|
const TRectype& rec=righeset.cursor()->curr();
|
||||||
|
|
||||||
|
TSheet_field& righe=m.sfield(F_RIGHE);
|
||||||
|
TMask& msk=righe.sheet_mask();
|
||||||
|
righe.destroy();
|
||||||
|
|
||||||
|
for (bool ok=righeset.move_first(); ok; ok=righeset.move_next())
|
||||||
|
{
|
||||||
|
TToken_string& row=righe.row(-1);
|
||||||
|
FOR_EACH_MASK_FIELD(msk,i,f)
|
||||||
|
{
|
||||||
|
const TFieldref*fr=f->field();
|
||||||
|
if (fr!= NULL)
|
||||||
|
row.add(fr->read(rec),righe.cid2index(f->dlg()));
|
||||||
|
}
|
||||||
|
righe.check_row(righe.items()-1,3);
|
||||||
|
}
|
||||||
|
righe.force_update();
|
||||||
|
}
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
int TContratti_app::find_art(TSheet_field& s,const TString& art) const
|
||||||
|
{
|
||||||
|
int r=-1;
|
||||||
|
for (r=s.items()-1;r>=0;r--)
|
||||||
|
{
|
||||||
|
const char* codart= s.row(r).get(0);
|
||||||
|
if (art==codart)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return r;
|
||||||
|
|
||||||
|
}
|
||||||
|
void TContratti_app::save_rows(const TMask& m)
|
||||||
|
{
|
||||||
|
TString query;
|
||||||
|
TSheet_field& righe=m.sfield(F_RIGHE);
|
||||||
|
build_query(m,query);
|
||||||
|
TISAM_recordset righeset(query);
|
||||||
|
TLocalisamfile& file=righeset.cursor()->file();
|
||||||
|
for (bool ok=righeset.move_first(); ok; ok=righeset.move_next())
|
||||||
|
{
|
||||||
|
const TString& art=righeset.get("CODART").as_string();
|
||||||
|
if (find_art(righe,art)<0)
|
||||||
|
file.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
TMask& msk=righe.sheet_mask();
|
||||||
|
FOR_EACH_SHEET_ROW(righe,r,row)
|
||||||
|
{
|
||||||
|
file.zero();
|
||||||
|
file.put("CODCF",m.get(F_CODCF));
|
||||||
|
file.put("CODCONT",m.get(F_CODCONT));
|
||||||
|
FOR_EACH_MASK_FIELD(msk,i,f)
|
||||||
|
{
|
||||||
|
const TFieldref*fr=f->field();
|
||||||
|
if (fr!= NULL)
|
||||||
|
{
|
||||||
|
const int pos=righe.cid2index(f->dlg());
|
||||||
|
fr->write(row->get(pos),file.curr());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file.rewrite_write();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int TContratti_app::write(const TMask& m)
|
||||||
|
{
|
||||||
|
int err=TRelation_application::write(m);
|
||||||
|
if(err==NOERR) save_rows(m);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
int TContratti_app::rewrite(const TMask& m)
|
||||||
|
{
|
||||||
|
int err=TRelation_application::rewrite(m);
|
||||||
|
if(err==NOERR) save_rows(m);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
bool TContratti_app::remove()
|
||||||
|
{
|
||||||
|
bool ok=TRelation_application::remove();
|
||||||
|
if(ok)
|
||||||
|
{
|
||||||
|
TString query;
|
||||||
|
build_query(*_bmsk,query);
|
||||||
|
TISAM_recordset righeset(query);
|
||||||
|
TLocalisamfile& file=righeset.cursor()->file();
|
||||||
|
for (bool ok=righeset.move_first(); ok; ok=righeset.move_next())
|
||||||
|
{
|
||||||
|
file.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
int lv0400(int argc, char* argv[])
|
int lv0400(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
TContratti_app app;
|
TContratti_app app;
|
||||||
|
13
lv/lv0400.h
13
lv/lv0400.h
@ -3,12 +3,12 @@
|
|||||||
#define F_CODCONT 203
|
#define F_CODCONT 203
|
||||||
#define F_DATAIN 204
|
#define F_DATAIN 204
|
||||||
#define F_DATASC 205
|
#define F_DATASC 205
|
||||||
#define F_SHEET_ATTIV 206
|
#define F_RIGHE 206
|
||||||
#define F_PERFAT 207
|
#define F_PERFAT 207
|
||||||
#define F_TIPOCAN 208
|
#define F_TIPOCAN 208
|
||||||
#define F_INPERFAT 209
|
#define F_INPERFAT 209
|
||||||
#define F_DTLASTFAT 210
|
#define F_DTLASTFAT 210
|
||||||
#define F_ATTFATTNODT 211
|
#define F_ATTFATNODT 211
|
||||||
#define F_FORFNOCONS 212
|
#define F_FORFNOCONS 212
|
||||||
#define F_TIPOSTPRZ 213
|
#define F_TIPOSTPRZ 213
|
||||||
#define F_TIPOLIS 214
|
#define F_TIPOLIS 214
|
||||||
@ -17,7 +17,7 @@
|
|||||||
#define F_CAUSMAGDESC 217
|
#define F_CAUSMAGDESC 217
|
||||||
#define F_CONTSPOR 218
|
#define F_CONTSPOR 218
|
||||||
#define F_SSCONS 219
|
#define F_SSCONS 219
|
||||||
#define F_RIFBOLINFAT 220
|
#define F_RIFBOLFAT 220
|
||||||
#define F_ADDCAPROT 221
|
#define F_ADDCAPROT 221
|
||||||
#define F_PROFORME 222
|
#define F_PROFORME 222
|
||||||
#define F_STRCONS 223
|
#define F_STRCONS 223
|
||||||
@ -30,10 +30,11 @@
|
|||||||
#define F_STDDTPTS 230
|
#define F_STDDTPTS 230
|
||||||
#define F_IMPMINFAT 231
|
#define F_IMPMINFAT 231
|
||||||
#define F_PERCNOCONT 232
|
#define F_PERCNOCONT 232
|
||||||
#define F_PERCTOLLPES 233
|
#define F_PERCTOLPES 233
|
||||||
#define F_NUMUT 234
|
#define F_NUMUT 234
|
||||||
#define F_NUMETI 235
|
#define F_NUMETI 235
|
||||||
#define S_ARTICOLO 101
|
#define F_RITAUDTTMP 236
|
||||||
|
#define S_CODART 101
|
||||||
#define S_DESCR 102
|
#define S_DESCR 102
|
||||||
#define S_UM 103
|
#define S_UM 103
|
||||||
#define S_CONG 104
|
#define S_CONG 104
|
||||||
@ -57,6 +58,6 @@
|
|||||||
#define S_FORFPERCL 122
|
#define S_FORFPERCL 122
|
||||||
#define S_CAUSMAG 123
|
#define S_CAUSMAG 123
|
||||||
#define S_TIPONOL 124
|
#define S_TIPONOL 124
|
||||||
#define S_RITAUTDTTMP 125
|
#define S_RITAUDTTMP 125
|
||||||
#define S_FATTKG 126
|
#define S_FATTKG 126
|
||||||
#define S_ARROT 127
|
#define S_ARROT 127
|
@ -56,7 +56,7 @@ BEGIN
|
|||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
SPREADSHEET F_SHEET_ATTIV 0 -6
|
SPREADSHEET F_RIGHE 0 -6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 5 "Righe contratto"
|
PROMPT 0 5 "Righe contratto"
|
||||||
ITEM "Articolo@20"
|
ITEM "Articolo@20"
|
||||||
@ -184,10 +184,10 @@ BEGIN
|
|||||||
FIELD PERCNOCONT
|
FIELD PERCNOCONT
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PERCTOLLPES 6 2
|
NUMBER F_PERCTOLPES 6 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 17 "Percentuale tolleranza peso teorico/effettivo"
|
PROMPT 1 17 "Percentuale tolleranza peso teorico/effettivo"
|
||||||
FIELD PERCTOLLPES
|
FIELD PERCTOLPES
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_NUMUT 5
|
NUMBER F_NUMUT 5
|
||||||
@ -246,10 +246,10 @@ BEGIN
|
|||||||
PROMPT 15 2 ""
|
PROMPT 15 2 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_ATTFATTNODT
|
BOOLEAN F_ATTFATNODT
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 16 3 "Attiva fatturazione indipendentemente dalla data"
|
PROMPT 16 3 "Attiva fatturazione indipendentemente dalla data"
|
||||||
FIELD ATTFATTNODT
|
FIELD ATTFATNODT
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_FORFNOCONS
|
BOOLEAN F_FORFNOCONS
|
||||||
@ -264,10 +264,10 @@ BEGIN
|
|||||||
FIELD SSCONS
|
FIELD SSCONS
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_RIFBOLINFAT
|
BOOLEAN F_RIFBOLFAT
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 16 6 "Riferimenti bolle in fattura"
|
PROMPT 16 6 "Riferimenti bolle in fattura"
|
||||||
FIELD RIFBOLINFAT
|
FIELD RIFBOLFAT
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_ADDCAPROT
|
BOOLEAN F_ADDCAPROT
|
||||||
@ -324,6 +324,12 @@ BEGIN
|
|||||||
FIELD STDICITURA
|
FIELD STDICITURA
|
||||||
END
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_RITAUDTTMP
|
||||||
|
BEGIN
|
||||||
|
PROMPT 16 16 "Ritiro automatico dotazione temporanea"
|
||||||
|
FIELD RITAUDTTMP
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
@ -337,27 +343,28 @@ END
|
|||||||
|
|
||||||
STRING S_ARTICOLO 20
|
STRING S_ARTICOLO 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 2 ""
|
PROMPT 1 2 ""
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
USE LF_ANAMAG
|
USE LF_ANAMAG
|
||||||
INPUT CODART S_ARTICOLO
|
INPUT CODART S_ARTICOLO
|
||||||
DISPLAY "Articolo" CODART
|
DISPLAY "Articolo" CODART
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
OUTPUT S_ARTICOLO CODART
|
OUTPUT S_ARTICOLO CODART
|
||||||
OUTPUT S_DESCR DESCR
|
OUTPUT S_DESCR DESCR
|
||||||
OUTPUT S_PREZZOST COSTSTD
|
OUTPUT S_PREZZOST COSTSTD
|
||||||
CHECKTYPE REQUIRED
|
FIELD ARTICOLO
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING S_DESCR 50
|
STRING S_DESCR 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 26 2 ""
|
PROMPT 26 2 ""
|
||||||
USE LF_ANAMAG KEY 2
|
USE LF_ANAMAG KEY 2
|
||||||
INPUT DESCR S_DESCR
|
INPUT DESCR S_DESCR
|
||||||
DISPLAY "Descrizone@50" DESCR
|
DISPLAY "Descrizone@50" DESCR
|
||||||
DISPLAY "Articolo" CODART
|
DISPLAY "Articolo" CODART
|
||||||
COPY OUTPUT S_ARTICOLO
|
COPY OUTPUT S_ARTICOLO
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY S_PREZZOST 15
|
CURRENCY S_PREZZOST 15
|
||||||
@ -523,10 +530,10 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN S_RITAUTDTTMP
|
BOOLEAN S_RITAUDTTMP
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 40 16 "Ritiro automatico dotazione temporanea"
|
PROMPT 40 16 "Ritiro automatico dotazione temporanea"
|
||||||
FIELD RITAUTDTTMP
|
FIELD RITAUDTTMP
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN S_FATTKG
|
BOOLEAN S_FATTKG
|
||||||
|
Loading…
x
Reference in New Issue
Block a user