Patch level : 10.0 109
Files correlati : Ricompilazione Demo : [ ] Commento : Riportata la versione 3.2 1208 git-svn-id: svn://10.65.10.50/trunk@17106 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
83b1c93d8d
commit
45b73d97fe
@ -22,3 +22,4 @@
|
||||
#define TRN_LNDOC "LNDOC"
|
||||
#define TRN_NUMSCONTR "NUMSCONTR"
|
||||
#define TRN_CHIUSO "CHIUSO"
|
||||
|
||||
|
@ -27,28 +27,28 @@ ENDPAGE
|
||||
|
||||
PAGE "Parametri ditta" 0 0 0 0
|
||||
|
||||
STRING FD_FILIALE 2
|
||||
STRING FD_NEGOZIO 2
|
||||
BEGIN
|
||||
PROMPT 2 2 "Filiale "
|
||||
FIELD FILIALE
|
||||
PROMPT 2 2 "Negozio "
|
||||
FIELD NEGOZIO
|
||||
USE FLD
|
||||
INPUT CODTAB FD_FILIALE
|
||||
INPUT CODTAB FD_NEGOZIO
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FD_FILIALE CODTAB
|
||||
OUTPUT FD_DESFIL S0
|
||||
OUTPUT FD_NEGOZIO CODTAB
|
||||
OUTPUT FD_DESNEG S0
|
||||
CHECKTYPE REQUIRED
|
||||
FLAG "UZ"
|
||||
END
|
||||
|
||||
STRING FD_DESFIL 50 40
|
||||
STRING FD_DESNEG 50 40
|
||||
BEGIN
|
||||
PROMPT 30 2 ""
|
||||
USE FLD KEY 2
|
||||
INPUT S0 FD_DESFIL
|
||||
INPUT S0 FD_DESNEG
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT FD_FILIALE
|
||||
COPY OUTPUT FD_NEGOZIO
|
||||
END
|
||||
|
||||
STRING FD_CODNUM 4
|
||||
@ -183,6 +183,12 @@ BEGIN
|
||||
FIELD CODPVAR
|
||||
END
|
||||
|
||||
STRING FD_QTACHAR 1
|
||||
BEGIN
|
||||
PROMPT 2 18 "Carattere sep.qta "
|
||||
FIELD QTACHAR
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagamenti" 1 1 60 14
|
||||
|
266
vd/vd0700.cpp
266
vd/vd0700.cpp
@ -12,6 +12,7 @@
|
||||
|
||||
#include "../mg/anamag.h"
|
||||
#include <clifo.h>
|
||||
#include "../ve/vepriv.h"
|
||||
#include "../ve/ve0100.h"
|
||||
#include "../ve/veini.h"
|
||||
#include "../ve/veuml.h"
|
||||
@ -109,7 +110,7 @@ class TScontrino_application : public TMotore_application
|
||||
TTurno_vendita *_turno;
|
||||
TOperatore * _cassiere;
|
||||
TOperatore * _responsabile;
|
||||
TString8 _filiale;
|
||||
TString8 _negozio;
|
||||
TString8 _numdoc;
|
||||
TString8 _tipodoc;
|
||||
TString8 _codlist;
|
||||
@ -126,6 +127,7 @@ class TScontrino_application : public TMotore_application
|
||||
bool _chk_doc;
|
||||
bool _barcode_peso_var;
|
||||
bool _peso_var;
|
||||
char _qta_char;
|
||||
int _npag;
|
||||
int _ncassa;
|
||||
int _cassetto;
|
||||
@ -160,12 +162,14 @@ public:
|
||||
virtual void print();
|
||||
int ncassa() const { return _ncassa;}
|
||||
int def_qta() const { return _def_qta;}
|
||||
char qta_char() const { return _qta_char ;}
|
||||
const TString & numdoc() const { return _numdoc;}
|
||||
const TString & codlist() const { return _codlist;}
|
||||
const TString & numdocf() const { return _numdocf;}
|
||||
const TString & tipodocf() const { return _tipodocf;}
|
||||
const TString & codmag() const { return _codmag;}
|
||||
const TString & codmagc() const { return _codmagc;}
|
||||
const TString & negozio() const { return _negozio;}
|
||||
const TString_array & tv_cmds() const {return _tv_cmds;}
|
||||
const TString_array & tv_labels() const {return _tv_labels;}
|
||||
const TOperatore & curr_user() const { return _responsabile != NULL ? *_responsabile : *_cassiere;}
|
||||
@ -183,7 +187,13 @@ inline TScontrino_application& sapp() { return (TScontrino_application &) main_a
|
||||
|
||||
class TScontrino_mask : public TDocumento_mask
|
||||
{
|
||||
int _row_to_remove;
|
||||
TToken_string _deleted_rows;
|
||||
|
||||
protected:
|
||||
static bool scodart_handler( TMask_field& f, KEY key );
|
||||
static bool sqta_handler( TMask_field& f, KEY key );
|
||||
static bool sprezzo_handler( TMask_field& f, KEY key );
|
||||
static bool turno_handler( TMask_field& f, KEY key );
|
||||
static bool chiudi_handler( TMask_field& f, KEY key );
|
||||
static bool sospendi_handler( TMask_field& f, KEY key );
|
||||
@ -193,16 +203,25 @@ protected:
|
||||
static bool perms_handler( TMask_field& f, KEY key );
|
||||
static bool ss_notify(TSheet_field& ss, int r, KEY key);
|
||||
static bool check_perms(TDocumento & doc, TSheet_field & s, TDocumento_mask & m, int nrow);
|
||||
static bool search_art_handler( TMask_field& f, KEY key );
|
||||
|
||||
public:
|
||||
void set_row_to_remove(int r) { _row_to_remove = r;}
|
||||
virtual void on_idle();
|
||||
void show_giacenza();
|
||||
|
||||
virtual TVariable_mask * riga_mask(int numriga);
|
||||
virtual bool is_omaggio_enabled() { return sapp().curr_user().can_change_omaggi();}
|
||||
TToken_string & deleted_rows() { return _deleted_rows;}
|
||||
|
||||
|
||||
TScontrino_mask(const char* tipodoc);
|
||||
virtual ~TScontrino_mask() {}
|
||||
};
|
||||
|
||||
TScontrino_mask::TScontrino_mask(const char* tipodoc)
|
||||
:TDocumento_mask(tipodoc)
|
||||
:TDocumento_mask(tipodoc), _row_to_remove(0),
|
||||
_deleted_rows("", '£')
|
||||
{
|
||||
set_handler(DLG_TURNO, turno_handler);
|
||||
set_handler(DLG_CHIUDI, chiudi_handler);
|
||||
@ -210,6 +229,7 @@ TScontrino_mask::TScontrino_mask(const char* tipodoc)
|
||||
set_handler(DLG_RICSOSP, search_sospesi_handler);
|
||||
set_handler(DLG_RICCHIUSI, search_chiusi_handler);
|
||||
set_handler(DLG_PERMS, perms_handler);
|
||||
set_handler(F_CODSEARCH, search_art_handler);
|
||||
if (id2pos(F_CODLIST) < 0)
|
||||
add_string(F_CODLIST, 0, "Listino", 60, 60, 4, "HP");
|
||||
for (short id = F_FUNC1; id <= F_FUNC8; id++)
|
||||
@ -231,6 +251,7 @@ TScontrino_mask::TScontrino_mask(const char* tipodoc)
|
||||
hide(id);
|
||||
}
|
||||
sfield(F_SHEET).set_notify( ss_notify );
|
||||
sfield(F_SHEET).set_auto_append();
|
||||
}
|
||||
|
||||
bool TScontrino_mask::check_perms(TDocumento & doc, TSheet_field & s, TDocumento_mask & m, int nrow)
|
||||
@ -283,9 +304,26 @@ bool TScontrino_mask::check_perms(TDocumento & doc, TSheet_field & s, TDocumento
|
||||
return ok;
|
||||
}
|
||||
|
||||
void TScontrino_mask::show_giacenza()
|
||||
{
|
||||
TString codart = get(F_CODSEARCH);
|
||||
real giac, disp;
|
||||
|
||||
if (codart.full())
|
||||
{
|
||||
const TString& annoes = get(F_ANNO);
|
||||
TArticolo_giacenza art(codart);
|
||||
|
||||
giac = art.disponibilita(annoes, sapp().codmag(), "", true);
|
||||
disp = art.disponibilita(annoes, sapp().codmag(), "", false);
|
||||
}
|
||||
set(F_CURGIAC, giac.string());
|
||||
set(F_CURDISP, disp.string());
|
||||
}
|
||||
|
||||
bool TScontrino_mask::ss_notify( TSheet_field& ss, int r, KEY key )
|
||||
{
|
||||
TDocumento_mask& m = (TDocumento_mask&)ss.mask();
|
||||
TScontrino_mask& m = (TScontrino_mask&)ss.mask();
|
||||
CHECK(&m == &app().curr_mask(), "Cast dal cas");
|
||||
|
||||
TDocumento& doc = m.doc();
|
||||
@ -298,6 +336,12 @@ bool TScontrino_mask::ss_notify( TSheet_field& ss, int r, KEY key )
|
||||
|
||||
if (riga.is_omaggio() && !sapp().curr_user().can_change_omaggi())
|
||||
return false;
|
||||
|
||||
TString row = ss.row(r);
|
||||
|
||||
row.replace('|', '!'),
|
||||
m.deleted_rows().add(row);
|
||||
|
||||
}
|
||||
break;
|
||||
case K_CTRL + K_DEL:
|
||||
@ -337,11 +381,49 @@ bool TScontrino_mask::ss_notify( TSheet_field& ss, int r, KEY key )
|
||||
}
|
||||
}
|
||||
break;
|
||||
case K_CTRL + K_TAB:
|
||||
if (r > 0)
|
||||
{
|
||||
TRiga_documento& riga_prec = doc[r];
|
||||
TRiga_documento& riga = doc[r + 1];
|
||||
|
||||
if (riga.get(RDOC_CODART).full())
|
||||
{
|
||||
if (riga_prec.get(RDOC_CODART) == riga.get(RDOC_CODART) &&
|
||||
riga_prec.get(RDOC_LIVELLO) == riga.get(RDOC_LIVELLO) &&
|
||||
riga_prec.get(RDOC_UMQTA) == riga.get(RDOC_UMQTA) &&
|
||||
riga_prec.get_real(RDOC_PREZZO) == riga.get_real(RDOC_PREZZO) &&
|
||||
riga_prec.get(RDOC_SCONTO) == riga.get(RDOC_SCONTO))
|
||||
{
|
||||
m.set_row_to_remove(r);
|
||||
}
|
||||
else
|
||||
if (r < ss.items() - 1)
|
||||
{
|
||||
TRiga_documento& riga_succ = doc[r + 2];
|
||||
|
||||
if (riga_succ.get(RDOC_CODART) == riga.get(RDOC_CODART) &&
|
||||
riga_prec.get(RDOC_LIVELLO) == riga.get(RDOC_LIVELLO) &&
|
||||
riga_succ.get(RDOC_UMQTA) == riga.get(RDOC_UMQTA) &&
|
||||
riga_succ.get_real(RDOC_PREZZO) == riga.get_real(RDOC_PREZZO) &&
|
||||
riga_succ.get(RDOC_SCONTO) == riga.get(RDOC_SCONTO))
|
||||
m.set_row_to_remove(r + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case K_ENTER:
|
||||
case K_INS:
|
||||
{
|
||||
if (!check_perms(doc, ss, m, r + 1))
|
||||
return false;
|
||||
if (ss.items() == 0)
|
||||
{
|
||||
const long ora = daytime();
|
||||
|
||||
doc.put(TRN_INIZIO, ora);
|
||||
m.deleted_rows().cut(0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -358,6 +440,165 @@ bool TScontrino_mask::turno_handler( TMask_field& f, KEY key )
|
||||
return true;
|
||||
}
|
||||
|
||||
void TScontrino_mask::on_idle()
|
||||
{
|
||||
if (_row_to_remove > 0)
|
||||
{
|
||||
TSheet_field & ss = sfield(F_SHEET);
|
||||
int selected = ss.selected();
|
||||
TDocumento& d = doc();
|
||||
TRiga_documento& riga_prec = d[_row_to_remove];
|
||||
TRiga_documento& riga = d[_row_to_remove + 1];
|
||||
|
||||
real qta = riga_prec.get_real(RDOC_QTA);
|
||||
|
||||
qta += riga.get_real(RDOC_QTA);
|
||||
riga_prec.put(RDOC_QTA, qta);
|
||||
riga_prec.autoload(ss);
|
||||
ss.update_mask(_row_to_remove - 1);
|
||||
ss.destroy(_row_to_remove);
|
||||
d.destroy_row(_row_to_remove + 1, true);
|
||||
ss.force_update();
|
||||
if (selected >= _row_to_remove)
|
||||
selected--;
|
||||
if (selected >= ss.items())
|
||||
selected = ss.items() -1 ;
|
||||
ss.select(selected);
|
||||
_row_to_remove = 0;
|
||||
}
|
||||
TDocumento_mask::on_idle();
|
||||
}
|
||||
|
||||
TVariable_mask * TScontrino_mask::riga_mask(int numriga)
|
||||
{
|
||||
const TRiga_documento& riga = doc()[numriga + 1];
|
||||
const TTipo_riga_documento& tiporiga = riga.tipo();
|
||||
TString16 name; tiporiga.mask_name(name);
|
||||
|
||||
TVariable_mask* m = (TVariable_mask *) maskrighe().objptr(name);
|
||||
|
||||
if (m == NULL)
|
||||
{
|
||||
m = TDocumento_mask::riga_mask(numriga);
|
||||
|
||||
if ( m != NULL)
|
||||
{
|
||||
const int pos = m->id2pos(FR_CODART);
|
||||
if (pos >= 0)
|
||||
{
|
||||
const TMask_field & f = m->field(FR_CODART);
|
||||
if (f.is_edit())
|
||||
{
|
||||
TBrowse * browse = ((TEdit_field &) f).browse();
|
||||
const char tipo_r = tiporiga.tipo();
|
||||
|
||||
if (browse )
|
||||
{
|
||||
const TCursor* cur = browse->cursor();
|
||||
|
||||
if (cur)
|
||||
{
|
||||
const int num = cur->file().num();
|
||||
|
||||
if (num == LF_ANAMAG || num == LF_CODCORR)
|
||||
m->set_handler( FR_CODART, scodart_handler );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( int pos = m->id2pos(FR_QTA) >= 0)
|
||||
m->set_handler(FR_QTA, sqta_handler);
|
||||
if ( int pos = m->id2pos(FR_PREZZO) >= 0)
|
||||
m->set_handler(FR_PREZZO, sprezzo_handler);
|
||||
}
|
||||
}
|
||||
return m;
|
||||
|
||||
}
|
||||
|
||||
bool TScontrino_mask::search_art_handler( TMask_field& f, KEY key )
|
||||
{
|
||||
if (f.to_check(key))
|
||||
{
|
||||
TScontrino_mask & mask = (TScontrino_mask &) f.mask();
|
||||
|
||||
mask.show_giacenza();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TScontrino_mask::scodart_handler(TMask_field& f, KEY key )
|
||||
{
|
||||
if (f.to_check(key))
|
||||
{
|
||||
const TString & val = f.get();
|
||||
const int pos = val.find(sapp().qta_char());
|
||||
|
||||
if (pos >= 0)
|
||||
{
|
||||
TMask& row_mask = f.mask();
|
||||
const TString80 qta = val.left(pos);
|
||||
const TString80 cod = val.mid(pos + 1);
|
||||
|
||||
row_mask.set(FR_CODART, cod, 0x3);
|
||||
row_mask.set(FR_QTA, qta, 0x3);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
const bool ok = ::codart_handler(f, key);
|
||||
|
||||
if (ok && f.to_check(key, false))
|
||||
{
|
||||
TMask& row_mask = f.mask();
|
||||
TSheet_field& s = *row_mask.get_sheet();
|
||||
TDocumento_mask & mask = (TDocumento_mask &) s.mask();
|
||||
const int srow = s.selected();
|
||||
const int drow = srow + 1;
|
||||
|
||||
s.update_row(srow);
|
||||
mask.doc()[drow].autosave(s);
|
||||
mask.update_progs();
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool TScontrino_mask::sqta_handler(TMask_field& f, KEY key )
|
||||
{
|
||||
if (f.to_check(key, false))
|
||||
{
|
||||
TMask& row_mask = f.mask();
|
||||
TSheet_field& s = *row_mask.get_sheet();
|
||||
TDocumento_mask & mask = (TDocumento_mask &) s.mask();
|
||||
const int srow = s.selected();
|
||||
const int drow = srow + 1;
|
||||
|
||||
s.update_row(srow);
|
||||
mask.doc()[drow].autosave(s);
|
||||
mask.update_progs();
|
||||
}
|
||||
return ::qta_handler(f, key);
|
||||
|
||||
}
|
||||
|
||||
bool TScontrino_mask::sprezzo_handler(TMask_field& f, KEY key )
|
||||
{
|
||||
if (f.to_check(key, false))
|
||||
{
|
||||
TMask& row_mask = f.mask();
|
||||
TSheet_field& s = *row_mask.get_sheet();
|
||||
TDocumento_mask & mask = (TDocumento_mask &) s.mask();
|
||||
const int srow = s.selected();
|
||||
const int drow = srow + 1;
|
||||
|
||||
s.update_row(srow);
|
||||
mask.doc()[drow].autosave(s);
|
||||
mask.update_progs();
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
bool TScontrino_mask::chiudi_handler( TMask_field& f, KEY key )
|
||||
{
|
||||
if (key == K_SPACE)
|
||||
@ -489,7 +730,7 @@ bool TScontrino_mask::search_chiusi_handler(TMask_field& f, KEY key)
|
||||
|
||||
rel.lfile().set_curr(new TDocumento);
|
||||
|
||||
TCursor cur(&rel, "", 1, &filtrec, &filtrec);
|
||||
TSorted_cursor cur(&rel, "NDOC-", "", 1, &filtrec, &filtrec);
|
||||
TString80 filt; filt.format("(STATO>=\"%c\")&&(TIPODOC==\"%s\")&&(CODCF==\"\")", m.doc().tipo().stato_chiuso(), (const char *) m.get(F_TIPODOC));
|
||||
|
||||
cur.setfilter(filt);
|
||||
@ -661,8 +902,14 @@ void TChiusura_scontrino_mask::update_doc(TScontrino_mask & m, const TTurno_vend
|
||||
doc.put(TRN_PROGR, t.nturno());
|
||||
doc.put(TRN_USERNAME, t.user());
|
||||
doc.put("TEMPUSERNAME", t.superuser());
|
||||
TToken_string del(doc.get("DELETED_ROWS"), '£');
|
||||
|
||||
del.add(m.deleted_rows());
|
||||
doc.put("DELETED_ROWS", del);
|
||||
if (chiudi)
|
||||
{
|
||||
const long ora = daytime();
|
||||
|
||||
doc.stato(stato);
|
||||
m.set(F_STATO, doc.get(DOC_STATO));
|
||||
doc.put(TRN_INC01, get(F_INC01));
|
||||
@ -674,6 +921,8 @@ void TChiusura_scontrino_mask::update_doc(TScontrino_mask & m, const TTurno_vend
|
||||
doc.put(TRN_INC07, get(F_INC07));
|
||||
doc.put(TRN_INC08, get(F_INC08));
|
||||
doc.put(TRN_RESTI, get(F_RESTO));
|
||||
doc.put(TRN_FINE, ora);
|
||||
doc.put("NEGOZIO", sapp().negozio());
|
||||
const long codcf = get_long(F_CODCFC);
|
||||
|
||||
if (codcf > 0L)
|
||||
@ -820,7 +1069,7 @@ bool TScontrino_application::user_create( )
|
||||
_turno = new TTurno_vendita;
|
||||
_chiusura = new TChiusura_scontrino_mask;
|
||||
|
||||
_filiale = d.get("FILIALE");
|
||||
_negozio = d.get("NEGOZIO");
|
||||
_numdoc = d.get("CODNUM");
|
||||
_tipodoc = d.get("TIPODOC");
|
||||
_codlist = d.get("CODLIST");
|
||||
@ -829,7 +1078,8 @@ bool TScontrino_application::user_create( )
|
||||
_chk_doc = d.get_bool("CHECKDOC");
|
||||
_barcode_peso_var = d.get_bool("BARPVAR");
|
||||
_peso_var = d.get_bool("CODPVAR");
|
||||
|
||||
_qta_char = d.get_char("QTACHAR", NULL, -1, ')');
|
||||
|
||||
_chiusura->init(d);
|
||||
|
||||
|
||||
@ -860,7 +1110,7 @@ bool TScontrino_application::user_create( )
|
||||
_tv_cmds.add(w.get("TVCMD", "", i));
|
||||
}
|
||||
_bye_bye = w.get("BYEBYE");
|
||||
_doppio_zero = w.get_bool("DoppioZero", NULL, -1, true);
|
||||
_doppio_zero = w.get_bool("DoppioZero", NULL, -1, false);
|
||||
|
||||
_sc_mask = new TScontrino_mask(_tipodoc);
|
||||
|
||||
@ -1046,7 +1296,7 @@ void TScontrino_application::print_wincor()
|
||||
TParagraph_string para("", text_len);
|
||||
const int rows = doc.physical_rows();
|
||||
|
||||
for (int r = 1; r < rows; r++)
|
||||
for (int r = 1; r <= rows; r++)
|
||||
{
|
||||
const TRiga_documento& riga = doc[r];
|
||||
|
||||
|
@ -17,5 +17,6 @@
|
||||
#define F_CODCFC 122
|
||||
#define F_RAGSOCC 123
|
||||
#define F_DAFATT 124
|
||||
#define F_CODSEARCH 205
|
||||
|
||||
#define DLG_FATT 200
|
||||
|
@ -16,13 +16,13 @@ END
|
||||
|
||||
CURRENCY F_TOTDOC 18
|
||||
BEGIN
|
||||
PROMPT 2 3 "Totale scontrino "
|
||||
PROMPT 2 3 "@bTotale scontrino "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
CURRENCY F_CASSAINI 18
|
||||
BEGIN
|
||||
PROMPT 42 3 "Cassa "
|
||||
PROMPT 46 3 "Cassa "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
@ -76,13 +76,13 @@ END
|
||||
|
||||
CURRENCY F_RESTO 18
|
||||
BEGIN
|
||||
PROMPT 2 13 "Resto "
|
||||
PROMPT 2 13 "@bResto "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
CURRENCY F_SALDO 18
|
||||
BEGIN
|
||||
PROMPT 42 13 "Saldo "
|
||||
PROMPT 46 13 "Saldo "
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
END
|
||||
|
@ -1,11 +1,12 @@
|
||||
|
||||
#define FD_FILIALE 101
|
||||
#define FD_NEGOZIO 101
|
||||
#define FD_CODNUM 102
|
||||
#define FD_TIPODOC 103
|
||||
#define FD_CODLIST 106
|
||||
#define FD_CHECKDOC 107
|
||||
#define FD_BARPVAR 108
|
||||
#define FD_CODPVAR 109
|
||||
#define FD_QTACHAR 110
|
||||
|
||||
#define ROW_INC 10
|
||||
#define FD_CODPAG01 111
|
||||
@ -36,7 +37,7 @@
|
||||
#define FD_DESLIST 202
|
||||
#define FD_DESNUM 204
|
||||
#define FD_DESTIPODOC 205
|
||||
#define FD_DESFIL 206
|
||||
#define FD_DESNEG 206
|
||||
|
||||
#define FD_CODNUMF 207
|
||||
#define FD_DESNUMF 208
|
||||
|
30
vd/vdlib.cpp
30
vd/vdlib.cpp
@ -470,5 +470,35 @@ TTurno_vendita::TTurno_vendita() : _rec(LF_TURNI)
|
||||
TOperatore::TOperatore(const char * user) : _rec(LF_TAB)
|
||||
{
|
||||
_rec = cache().get("OPD", user);
|
||||
const TString & gruppo = cache().get(LF_USER, user, USR_GROUPNAME);
|
||||
|
||||
if (gruppo.full())
|
||||
{
|
||||
const TRectype & recgr = cache().get("OPD", gruppo);
|
||||
|
||||
if(!recgr.empty())
|
||||
{
|
||||
if (max_scontrino() <= ZERO)
|
||||
_rec.put("R0", recgr.get_real("R0"));
|
||||
if (max_abbuono() <= ZERO)
|
||||
_rec.put("R1", recgr.get_real("R1"));
|
||||
if (!can_change_price())
|
||||
_rec.put("B0", recgr.get_bool("B0"));
|
||||
if (!can_sotto_costo())
|
||||
_rec.put("B1", recgr.get_bool("B1"));
|
||||
if (!can_change_omaggi())
|
||||
_rec.put("B2", recgr.get_bool("B2"));
|
||||
if (!can_change_sconti())
|
||||
_rec.put("B3", recgr.get_bool("B3"));
|
||||
if (!can_resi())
|
||||
_rec.put("B4", recgr.get_bool("B4"));
|
||||
if (!can_invoice())
|
||||
_rec.put("B5", recgr.get_bool("B5"));
|
||||
if (max_sconto() <= ZERO)
|
||||
_rec.put("R2", recgr.get_real("R2"));
|
||||
if (provvigione() <= ZERO)
|
||||
_rec.put("R3", recgr.get_real("R3"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,7 @@ Item_01 = "Statistiche personalizzate", "vd0 -0 %TDT"
|
||||
Item_02 = "Stagioni", "vd0 -0 %STG"
|
||||
Item_03 = "Reparti", "vd0 -0 RPD", "F"
|
||||
Item_04 = "Operatori", "vd0 -0 OPD", "F"
|
||||
Item_05 = "Filiali", "vd0 -0 FLD", "F"
|
||||
Item_05 = "Negozi", "vd0 -0 FLD", "F"
|
||||
Item_06 = "Casse", "vd0 -0 CAS", "F"
|
||||
|
||||
[VDMENU_020]
|
||||
@ -34,7 +34,7 @@ Item_01 = "Statistiche personalizzate", "vd0 -1 %TDT"
|
||||
Item_02 = "Stagioni", "vd0 -1 %STG"
|
||||
Item_03 = "Reparti", "vd0 -1 RPD", "F"
|
||||
Item_04 = "Operatori", "vd0 -1 OPD", "F"
|
||||
Item_05 = "Filiali", "vd0 -1 FLD", "F"
|
||||
Item_05 = "Negozi", "vd0 -1 FLD", "F"
|
||||
Item_06 = "Casse", "vd0 -1 CAS", "F"
|
||||
|
||||
[VDMENU_030]
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "../ba/ba3200.h"
|
||||
|
||||
PAGE "Stampa filiali" -1 -1 50 8
|
||||
PAGE "Stampa Negozi" -1 -1 50 8
|
||||
|
||||
STRING F_INIZIO1 2
|
||||
BEGIN
|
||||
|
@ -6,7 +6,7 @@ TOOLBAR "Toolbar" 0 0 0 2
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Filiali" -1 -1 78 8
|
||||
PAGE "Negozio" -1 -1 78 8
|
||||
|
||||
GROUPBOX DLG_NULL 75 5
|
||||
BEGIN
|
||||
@ -17,7 +17,7 @@ END
|
||||
STRING F_CODICE 2
|
||||
BEGIN
|
||||
PROMPT 4 2 "Codice "
|
||||
HELP "Codice filiale"
|
||||
HELP "Codice negozio"
|
||||
FIELD CODTAB
|
||||
FLAGS "UZ"
|
||||
KEY 1
|
||||
@ -33,7 +33,7 @@ END
|
||||
STRING F_DESCR 70 50
|
||||
BEGIN
|
||||
PROMPT 4 4 "Descrizione "
|
||||
HELP "Descrizione filiale"
|
||||
HELP "Descrizione negozio"
|
||||
FIELD S0
|
||||
KEY 2
|
||||
USE FLD KEY 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user