Aggiunte maschere mancanti per handlers copiandole da vecchia 11.0

git-svn-id: svn://10.65.10.50/branches/R_10_00@22649 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2012-04-24 10:27:58 +00:00
parent 28ae493183
commit 30a4b60bb3
12 changed files with 4642 additions and 3025 deletions

View File

@ -12,6 +12,7 @@ LIV4|1|15|0|Livello di giacenza 4
TIPOCF|1|1|0|Tipo <C>liente <F>ornitore TIPOCF|1|1|0|Tipo <C>liente <F>ornitore
CODCF|3|6|0|Codice CODCF|3|6|0|Codice
DESCR|1|50|0|Descrizione codice corrispondente DESCR|1|50|0|Descrizione codice corrispondente
2 3
CODART+NRIGA| CODART+NRIGA|
CODARTALT|X CODARTALT|X
CODART+TIPOCF+CODCF|X

View File

@ -1,10 +1,16 @@
#include <automask.h> #include <automask.h>
#include <defmask.h>
#include <modaut.h> #include <modaut.h>
#include <printer.h> #include <printer.h>
#include <recset.h>
#include <tabapp.h> #include <tabapp.h>
#include <utility.h>
#include "velib.h" #include "velib.h"
#include "../ca/calib01.h" #include "../ca/calib01.h"
#include "veuml.h"
#include "veini.h"
#include "verig.h"
#include "vetbatr.h" #include "vetbatr.h"
#include "vetbgmc.h" #include "vetbgmc.h"
@ -12,9 +18,74 @@
#include "vetbprs.h" #include "vetbprs.h"
#include "vetbrss.h" #include "vetbrss.h"
#include "vetbspp.h" #include "vetbspp.h"
#include "vehntip.h"
#include "vehntri.h"
#include "vetbtip.h"
#include "vetbtri.h"
#define TAB_GRMERC "GMC" #define TAB_GRMERC "GMC"
HIDDEN void add_frr_list(TEdit_field & e)
{
TList_sheet * sh = e.sheet();
if (sh != NULL)
{
TString_array & items = sh->rows_array();
TISAM_recordset r("USE %FRR");
for (bool ok = r.move_first(); ok; ok = r.move_next())
{
TToken_string data(r.get("CODTAB").as_string());
data.add(r.get("S0").as_string());
items.add(data);
}
}
}
HIDDEN void add_frd_list(TEdit_field & e)
{
TList_sheet * sh = e.sheet();
if (sh != NULL)
{
TString_array & items = sh->rows_array();
TISAM_recordset r("USE %FRD");
for (bool ok = r.move_first(); ok; ok = r.move_next())
{
TToken_string data(r.get("CODTAB").as_string());
data.add(r.get("S0").as_string());
items.add(data);
}
}
}
HIDDEN void add_fld_list(TEdit_field & e, int logicnum)
{
TList_sheet * sh = e.sheet();
if (sh != NULL)
{
TString_array & items = sh->rows_array();
TRelation rel(logicnum);
TRelation_description reldes(rel);
const RecDes& rd = prefix().get_recdes(logicnum);
for (int i = 0; i < rd.NFields; i++)
{
const RecFieldDes& fd = rd.Fd[i];
TToken_string data;
data << logicnum << '.' << fd.Name;
data.add(reldes.get_field_description(fd.Name));
items.add(data);
}
}
}
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// TVendite_mask // TVendite_mask
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
@ -32,6 +103,8 @@ protected:
bool get_printer_name(TString& name) const; bool get_printer_name(TString& name) const;
void reset_printer_config() const; void reset_printer_config() const;
bool on_tri_event(TOperable_field& o, TField_event e, long jolly);
bool on_tip_event(TOperable_field& o, TField_event e, long jolly);
bool on_num_event(TOperable_field& o, TField_event e, long jolly); bool on_num_event(TOperable_field& o, TField_event e, long jolly);
public: public:
@ -41,10 +114,52 @@ public:
virtual ~TVendite_mask() { } virtual ~TVendite_mask() { }
}; };
///////////////////////////////////////////////////////////
// TTIP_handlers_mask
///////////////////////////////////////////////////////////
class TTIP_handlers_mask : public TAutomask
{
TDocumento_mask * _docmask;
protected:
void add_mask_items(TList_field& l);
void build_items(TEdit_field& e, const char * flist);
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
void mask2prof(TTipo_documento & tipo);
void prof2mask(TTipo_documento & tipo);
TTIP_handlers_mask(const char * tipodoc);
virtual ~TTIP_handlers_mask() { delete _docmask; }
};
///////////////////////////////////////////////////////////
// TTRI_handlers_mask
///////////////////////////////////////////////////////////
class TTRI_handlers_mask : public TAutomask
{
TMask* _rigamask;
protected:
void add_mask_items(TList_field& l);
void build_items(TEdit_field& e, const char * flist);
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
void mask2prof(TTipo_riga_documento & tipo);
void prof2mask(TTipo_riga_documento & tipo);
TTRI_handlers_mask(const TTipo_riga_documento & tiporiga);
virtual ~TTRI_handlers_mask() { delete _rigamask; }
};
void TVendite_mask::get_printer_config(TString& config) const void TVendite_mask::get_printer_config(TString& config) const
{ {
config = _tab; config = _tab;
for (TEditable_field* f = get_key_field(1, TRUE); f; f = get_key_field(1, FALSE)) for (TEditable_field* f = get_key_field(1, true); f; f = get_key_field(1, false))
{ {
if (f->shown()) if (f->shown())
config << f->get(); config << f->get();
@ -84,15 +199,67 @@ static bool tab_tip_filter(const TRelation* r)
return false; return false;
} }
bool TVendite_mask::on_tip_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case F_PROFILO:
if (e == fe_init || e == fe_modify)
enable(DLG_CONFIG, !o.empty());
break;
case DLG_CONFIG:
if (e == fe_button && get(F_PROFILO).full())
{
TTipo_documento t(get(F_CODTAB));
TTIP_handlers_mask m(get(F_CODTAB));
m.set(F_NAMETIP, get(F_PROFILO));
m.prof2mask(t);
if (m.run() == K_ENTER)
m.mask2prof(t);
}
break;
default: break;
}
return true;
}
bool TVendite_mask::on_tri_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case F_CODTAB:
if (e == fe_init || e == fe_modify)
enable(DLG_CONFIG, !o.empty());
break;
case DLG_CONFIG:
if (e == fe_button)
{
TTipo_riga_documento t(get(F_CODTAB));
TTRI_handlers_mask m(t);
TString name("verig");
name << t.codice();
m.set(F_NAMETRI, name);
m.prof2mask(t);
if (m.run() == K_ENTER)
m.mask2prof(t);
}
break;
default: break;
}
return true;
}
bool TVendite_mask::on_num_event(TOperable_field& o, TField_event e, long jolly) bool TVendite_mask::on_num_event(TOperable_field& o, TField_event e, long jolly)
{ {
switch (o.dlg()) switch (o.dlg())
{ {
case F_CODNUM: case FN_CODNUM:
if (e == fe_init || e == fe_modify) if (e == fe_init || e == fe_modify)
{ {
__tab_codnum = o.get(); __tab_codnum = o.get();
efield(F_TIPODOC).browse()->cursor()->set_filterfunction(tab_tip_filter); efield(FN_TIPODOC).browse()->cursor()->set_filterfunction(tab_tip_filter);
} }
break; break;
default: default:
@ -105,6 +272,10 @@ bool TVendite_mask::on_field_event(TOperable_field& o, TField_event e, long joll
{ {
if (is_table("NUM")) if (is_table("NUM"))
return on_num_event(o, e, jolly); return on_num_event(o, e, jolly);
if (is_table("TIP"))
return on_tip_event(o, e, jolly);
if (is_table("TRI"))
return on_tri_event(o, e, jolly);
return true; return true;
} }
@ -115,6 +286,704 @@ TVendite_mask::TVendite_mask(const char* name) : TAutomask(name)
_tab.upper(); _tab.upper();
} }
void TTIP_handlers_mask::mask2prof(TTipo_documento & tipo)
{
TFilename profname;
tipo.profile_name(profname);
profname.custom_path();
if (profname.find("custom") < 0)
{
TFilename srcname(profname);
profname = prefix().get_studio();
profname << SLASH << "custom" << SLASH << srcname;
fcopy(srcname, profname);
}
TConfig profile(profname, "MAIN");
profile.set("MODULE", get(F_MODULE));
profile.set("TIPOCR", get(F_TIPOCR));
profile.set("CONTROLLO_PREZZI", get(F_CNTPRZ));
profile.set(RDOC_PREZZO, get(F_PREZZO));
profile.set(RDOC_QTA, get(F_QTA));
profile.set(RDOC_QTAEVASA, get(F_QTAEVASA));
profile.set("QTA_MAG", get(F_QTAMAG));
profile.set("QTAEVASA_MAG", get(F_QTAEVASAMAG));
profile.set("TOTALECONT", get(F_TOTALECONT));
profile.set("CHECK_QTA", get(F_CHECK_QTA));
profile.set("LOAD_CONT", get(F_LOAD_CONT));
profile.set("DESCRIZIONE_DOC", get(F_DESCDOC));
profile.set("DESCRIZIONE_RDOC", get(F_DESCRDOC));
profile.set("NASCONDI_RIGHE_EVASE", get(F_HIDEEVASE));
profile.set("NON_EVADERE", get(F_NOTEVADI));
profile.remove_array("Title");
TSheet_field & sl = sfield(F_LABELS);
FOR_EACH_SHEET_ROW(sl, rl, rowl)
profile.set("Title", rowl->get(0), NULL, true, rl + 1);
profile.set_paragraph("HANDLERS");
profile.remove_array("Handler");
for (int i = 0 ; i < 10; i++)
profile.remove(format("%d", i));
TSheet_field & sh = sfield(F_HANDLERS);
FOR_EACH_SHEET_ROW(sh, r, row)
{
const short id = row->get_int(1);
profile.set("Handler", row->get_int(0), NULL, true, id);
}
profile.set_paragraph("DEFAULT");
profile.remove_array("Default");
TSheet_field & sd = sfield(F_DEFAULTS);
FOR_EACH_SHEET_ROW(sd, dr, drow)
{
const short id = drow->get_int(0);
profile.set("Default", drow->get(), NULL, true, id);
}
}
void TTIP_handlers_mask::prof2mask(TTipo_documento & tipo)
{
TFilename profname;
tipo.profile_name(profname);
TConfig profile(profname, "MAIN");
profile.write_protect();
set(F_MODULE, profile.get("MODULE"));
set(F_TIPOCR, profile.get("TIPOCR"));
set(F_CNTPRZ, profile.get("CONTROLLO_PREZZI"));
set(F_PREZZO, profile.get(RDOC_PREZZO));
set(F_QTA, profile.get(RDOC_QTA));
set(F_QTAEVASA, profile.get(RDOC_QTAEVASA));
set(F_QTAMAG, profile.get("QTA_MAG"));
set(F_QTAEVASAMAG, profile.get("QTAEVASA_MAG"));
set(F_TOTALECONT, profile.get("TOTALECONT"));
set(F_CHECK_QTA, profile.get("CHECK_QTA"));
set(F_LOAD_CONT, profile.get("LOAD_CONT"));
set(F_DESCDOC, profile.get("DESCRIZIONE_DOC"));
set(F_DESCRDOC, profile.get("DESCRIZIONE_RDOC"));
set(F_HIDEEVASE, profile.get("NASCONDI_RIGHE_EVASE"));
set(F_NOTEVADI, profile.get("NON_EVADERE"));
TSheet_field & sl = sfield(F_LABELS);
int npages = 1;
for (; _docmask->page_win(npages) != NULL_WIN; npages++);
if (_docmask->id2pos(F_CDC1) >= 0)
npages--;
sl.destroy();
for (int i = 1 ; i <= npages; i++)
{
TToken_string & row = sl.row(i - 1);
row = profile.get("Title", NULL, i, "");
}
profile.set_paragraph("HANDLERS");
TAssoc_array& handlers = profile.list_variables();
TSheet_field & sh = sfield(F_HANDLERS);
sh.destroy();
FOR_EACH_ASSOC_STRING(handlers, obj, key, str)
{
TToken_string & row = sh.row(-1);
int id = 0, hd = 0;
if (*key == 'H' && strchr(str, '|') == NULL) // Provo a gestire il caso Handler(105) = 3
{
row.add(atoi(str));
const TFixed_string k(key);
row.add(atoi(k.after('(')));
}
else // Provo a gestire il caso 1 = 105|3
{
TToken_string riga = str;
row.add(riga.get_int(1));
row.add(riga.get_int(0));
}
sh.check_row(sh.items() - 1);
}
profile.set_paragraph("DEFAULT");
TSheet_field & sd = sfield(F_DEFAULTS);
sd.destroy();
TAssoc_array& defaults = profile.list_variables();
FOR_EACH_ASSOC_STRING(defaults, obj, dkey, dstr)
{
TToken_string & row = sd.row(-1);
if (strchr(dstr, '|') == NULL) // Provo a gestire il caso Default(105) = 3
{
const TFixed_string k(dkey);
row.add(atoi(k.after('(')));
row.add(dstr);
}
else // Provo a gestire il caso Default(0) = 105|3
row = dstr;
}
}
void TTIP_handlers_mask::add_mask_items(TList_field& l)
{
TToken_string codes;
TToken_string descrs;
FOR_EACH_MASK_FIELD(*_docmask, i, f)
{
const short id = f->dlg();
if (f->is_editable() && f->enabled_default() && f->shown_default())
{
TString descr;
codes.add(id);
descr << id << " - " << f->prompt();
const TFieldref * fld = f->field();
if (fld != NULL)
descr << " - " << fld->name();
descr.strip(":!");
descr.strip_double_spaces();
descrs.add(descr);
}
}
l.replace_items(codes, descrs);
}
void TTIP_handlers_mask::build_items(TEdit_field& e, const char * flist)
{
TList_sheet * l = e.sheet();
if (l != NULL)
{
TString_array & data = l->rows_array();
data.destroy();
if (flist && *flist)
{
TToken_string tok(flist);
FOR_EACH_TOKEN(tok, sid)
{
short id = atoi(sid);
const int pos = _docmask->id2pos(id);
if (pos >= 0)
{
TString descr(_docmask->fld(pos).prompt());
TToken_string r;
r.add(id);
descr.strip(":-!");
descr.strip_double_spaces();
r.add(descr);
data.add(r);
}
}
}
FOR_EACH_MASK_FIELD(*_docmask, i, f)
{
const short id = f->dlg();
if (id >= F_USERFLD && id < BASE_PIEDE)
{
TString descr(f->prompt());
if (descr.full())
{
TToken_string r;
r.add(id);
descr.strip(":-!");
descr.strip_double_spaces();
r.add(descr);
data.add(r);
}
}
}
if (data.items() == 0)
data.add("|Non utilizzabile");
}
}
bool TTIP_handlers_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case FH_HANDLER:
if ((o.mask().get_sheet()->dlg() == F_HANDLERS) && (e == fe_init || e == fe_modify))
{
const int hnum = (int) o.get_long();
switch (hnum)
{
case 1:
build_items(o.mask().efield(FH_FIELD), TOSTRING(F_ORAPART));
break;
case 2:
build_items(o.mask().efield(FH_FIELD), "");
break;
case 3:
build_items(o.mask().efield(FH_FIELD), TOSTRING(F_NUMDOCRIF));
break;
case 4:
build_items(o.mask().efield(FH_FIELD), "");
break;
case 6:
build_items(o.mask().efield(FH_FIELD), "");
break;
default:
break;
}
}
break;
default:
break;
}
return true;
}
TTIP_handlers_mask::TTIP_handlers_mask(const char * tipodoc) : TAutomask("vehntip")
{
_docmask = new TDocumento_mask(tipodoc);
add_frr_list(efield(F_PREZZO));
add_frd_list(efield(F_TOTALECONT));
add_frr_list(efield(F_QTA));
add_frr_list(efield(F_QTAEVASA));
add_frr_list(efield(F_QTAMAG));
add_frr_list(efield(F_QTAEVASAMAG));
add_mask_items(sfield(F_DEFAULTS).sheet_mask().lfield(FD_FIELD));
}
void TTRI_handlers_mask::add_mask_items(TList_field& l)
{
TToken_string codes;
TToken_string descrs;
FOR_EACH_MASK_FIELD(*_rigamask, i, f)
{
const short id = f->dlg();
if (f->is_editable() && f->enabled_default() && f->shown_default() && id < FR_END)
{
TString descr;
TString fldname;
codes.add(id);
descr << id << " - " << f->prompt();
switch (id)
{
case FR_TIPORIGA :
fldname = RDOC_TIPORIGA;
break;
case FR_CODMAG :
case FR_CODDEP :
fldname = RDOC_CODMAG;
break;
case FR_CODART :
fldname = RDOC_CODART;
break;
case FR_LIV1 :
case FR_LIV2 :
case FR_LIV3 :
case FR_LIV4 :
fldname = RDOC_LIVELLO;
break;
case FR_DESCR :
fldname = RDOC_DESCR;
break;
case FR_UMQTA :
fldname = RDOC_UMQTA;
break;
case FR_PREZZO :
fldname = RDOC_PREZZO;
break;
case FR_CODIVA :
fldname = RDOC_CODIVA;
break;
case FR_QTA :
fldname = RDOC_QTA;
break;
case FR_QTAEVASA :
fldname = RDOC_QTAEVASA;
break;
case FR_RIGAEVASA :
fldname = RDOC_RIGAEVASA;
break;
case FR_TARA :
fldname = RDOC_TARA;
break;
case FR_PNETTO :
fldname = RDOC_PNETTO;
break;
case FR_NCOLLI :
fldname = RDOC_NCOLLI;
break;
case FR_DAEVADERE :
fldname = RDOC_DAEVADERE;
break;
case FR_SCONTO :
fldname = RDOC_SCONTO;
break;
case FR_PERCPROV :
fldname = RDOC_PERCPROV;
break;
case FR_IMPFISUN :
fldname = RDOC_IMPFISUN;
break;
case FR_IMPFISSO :
fldname = RDOC_IMPFISSO;
break;
case FR_ADDIVA :
fldname = RDOC_ADDIVA;
break;
case FR_ASPBENI :
fldname = RDOC_ASPBENI;
break;
case FR_CAUS :
fldname = RDOC_CAUSMAG;
break;
case FR_CODMAGC :
case FR_CODDEPC :
fldname = RDOC_CODMAGC;
break;
case FR_DATACONS :
fldname = RDOC_DATACONS;
break;
case FR_CODARTMAG :
fldname = RDOC_CODARTMAG;
break;
case FR_CHECKED :
fldname = RDOC_CHECKED;
break;
case FR_QTAGG1 :
fldname = RDOC_QTAGG1;
break;
case FR_QTAGG2 :
fldname = RDOC_QTAGG2;
break;
case FR_QTAGG3 :
fldname = RDOC_QTAGG3;
break;
case FR_QTAGG4 :
fldname = RDOC_QTAGG4;
break;
case FR_QTAGG5 :
fldname = RDOC_QTAGG5;
break;
case FR_IMPIANTO :
fldname = RDOC_IMPIANTO;
break;
case FR_LINEA :
fldname = RDOC_LINEA;
break;
case FR_CODAGG1 :
fldname = RDOC_CODAGG1;
break;
case FR_CODAGG2 :
fldname = RDOC_CODAGG2;
break;
case FR_RIDPREZZO :
fldname = RDOC_RIDPREZZO;
break;
case FR_PERCPROV1 :
fldname = RDOC_PERCPROV1;
break;
case FR_TIPODET :
fldname = RDOC_TIPODET;
break;
default:
const TFieldref * fld = f->field();
if (fld != NULL)
fldname = fld->name();
break;
}
if (fldname.full())
descr << " - " << fldname;
descr.strip(":!");
descr.strip_double_spaces();
descrs.add(descr);
}
}
l.replace_items(codes, descrs);
}
void TTRI_handlers_mask::build_items(TEdit_field& e, const char * flist)
{
TList_sheet * l = e.sheet();
if (l != NULL)
{
TString_array & data = l->rows_array();
data.destroy();
if (flist && *flist)
{
TToken_string tok(flist);
FOR_EACH_TOKEN(tok, sid)
{
short id = atoi(sid);
const int pos = _rigamask->id2pos(id);
if (pos >= 0)
{
TString descr(_rigamask->fld(pos).prompt());
TToken_string r;
r.add(id);
descr.strip(":_-!");
descr.strip_double_spaces();
r.add(descr);
data.add(r);
}
}
}
FOR_EACH_MASK_FIELD(*_rigamask, i, f)
{
const short id = f->dlg();
if (((id >= FR_JOLLY1 && id <= FR_JOLLY10) ||
(id >= FR_CODAGG1 && id <= FR_CODAGG2)))
{
TString descr(f->prompt());
if (descr.full())
{
TToken_string r;
r.add(id);
descr.strip(":-!");
descr.strip_double_spaces();
r.add(descr);
data.add(r);
}
}
}
if (data.items() == 0)
data.add("|Non utilizzabile");
}
}
bool TTRI_handlers_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case FH_HANDLERR:
if ((o.mask().get_sheet()->dlg() == F_HANDLERSR) && (e == fe_init || e == fe_modify))
{
const int hnum = (int) o.get_long();
switch (hnum)
{
case 1:
build_items(o.mask().efield(FH_FIELDR), TOSTRING(FR_PREZZO));
break;
case 3:
build_items(o.mask().efield(FH_FIELDR), TOSTRING(FR_CODART));
break;
case 4:
build_items(o.mask().efield(FH_FIELDR), TOSTRING(FR_CODART));
break;
case 5:
build_items(o.mask().efield(FH_FIELDR), TOSTRING(FR_CODART));
break;
case 6:
build_items(o.mask().efield(FH_FIELDR), TOSTRING(FR_CODART));
break;
case 7:
build_items(o.mask().efield(FH_FIELDR), TOSTRING(FR_CODART));
break;
case 8:
build_items(o.mask().efield(FH_FIELDR), TOSTRING(FR_LIV1) "|" TOSTRING(FR_LIV2) "|" TOSTRING(FR_LIV3) "|" TOSTRING(FR_LIV4));
break;
default:
build_items(o.mask().efield(FH_FIELDR),"\"" "\"");
break;
}
}
break;
default:
break;
}
return true;
}
void TTRI_handlers_mask::mask2prof(TTipo_riga_documento & tipo)
{
TFilename profname("verig");
profname << tipo.codice();
profname.ext("ini");
profname.custom_path();
if (profname.find("custom") < 0)
{
TFilename srcname(profname);
profname = prefix().get_studio();
profname << SLASH << "custom" << SLASH << srcname;
fcopy(srcname, profname);
}
TConfig profile(profname, "MAIN");
profile.set("NODESC", get(F_NODESC));
profile.set("VARP+", get(F_VARP));
profile.set("VARP-", get(F_VARN));
profile.set(RDOC_PREZZO, get(F_PREZZO));
profile.set(RDOC_QTA, get(F_QTAR));
profile.set(RDOC_QTAEVASA, get(F_QTAEVASAR));
profile.set("QTA_MAG", get(F_QTAMAGR));
profile.set("QTAEVASA_MAG", get(F_QTAEVASAMAGR));
profile.set("LIVGEN", get(F_LIVGEN1), NULL, true, 1);
profile.set("LIVGEN", get(F_LIVGEN2), NULL, true, 2);
profile.set("LIVGEN", get(F_LIVGEN3), NULL, true, 3);
profile.set("LIVGEN", get(F_LIVGEN4), NULL, true, 4);
profile.set("SEARCNUMS", get(F_SEARCNUMS));
profile.set("MAXROWSART", get(F_MAXROWSART));
profile.set("SEARCHACTDOCS", get(F_SEARCHACTDOCS));
profile.set("SELCLIFO", get(F_SELCLIFO));
profile.set("FIELDSTOUPDATE", get(F_FIELDSTOUPDATE));
profile.set_paragraph("HANDLERS");
profile.remove_array("Handler");
profile.remove("NHANDLERS");
for (int i = 0 ; i < 10; i++)
profile.remove(format("%d", i));
TSheet_field & sh = sfield(F_HANDLERSR);
FOR_EACH_SHEET_ROW(sh, r, row)
{
const short id = row->get_int(1);
profile.set("Handler", row->get_int(0), NULL, true, id);
}
profile.set_paragraph("DEFAULT");
profile.remove_array("Default");
TSheet_field & sd = sfield(F_DEFAULTSR);
FOR_EACH_SHEET_ROW(sd, dr, drow)
{
const short id = drow->get_int(0);
profile.set("Default", drow->get(), NULL, true, id);
}
}
void TTRI_handlers_mask::prof2mask(TTipo_riga_documento & tipo)
{
TFilename profname;
tipo.profile_name(profname);
TConfig profile(profname, "MAIN");
profile.write_protect(); // Altrimenti non si distrugge!!!
set(F_NODESC, profile.get("NODESC"));
set(F_VARP, profile.get("VARP+"));
set(F_VARN, profile.get("VARP-"));
set(F_PREZZO, profile.get(RDOC_PREZZO));
set(F_QTAR, profile.get(RDOC_QTA));
set(F_QTAEVASAR, profile.get(RDOC_QTAEVASA));
set(F_QTAMAGR, profile.get("QTA_MAG"));
set(F_QTAEVASAMAGR, profile.get("QTAEVASA_MAG"));
set(F_LIVGEN1, profile.get("LIVGEN", NULL, 1));
set(F_LIVGEN2, profile.get("LIVGEN", NULL, 2));
set(F_LIVGEN3, profile.get("LIVGEN", NULL, 3));
set(F_LIVGEN4, profile.get("LIVGEN", NULL, 4));
set(F_SERCHYEARS, profile.get("SERCHYEARS"));
set(F_SEARCNUMS, profile.get("SEARCNUMS"));
set(F_MAXROWSART, profile.get("MAXROWSART"));
set(F_SEARCHACTDOCS, profile.get("SEARCHACTDOCS"));
set(F_SELCLIFO, profile.get("SELCLIFO"));
set(F_FIELDSTOUPDATE, profile.get("FIELDSTOUPDATE"));
profile.set_paragraph("HANDLERS");
TAssoc_array& handlers = profile.list_variables();
TSheet_field & sh = sfield(F_HANDLERSR);
sh.destroy();
FOR_EACH_ASSOC_STRING(handlers, obj, key, str)
{
int id = 0, hd = 0;
if (*key == 'H' && strchr(str, '|') == NULL) // Provo a gestire il caso Handler(105) = 3
{
const TFixed_string k(key);
id = atoi(k.after('('));
hd = atoi(str);
}
else // Provo a gestire il caso 1 = 105|3
if (*key != 'N')
{
const TToken_string riga = str;
riga.get(0, id);
riga.get(1, hd);
}
if (hd > 0)
{
TToken_string & row = sh.row(-1);
row.add(hd);
row.add(id);
sh.check_row(sh.items() - 1);
}
}
profile.set_paragraph("DEFAULT");
TSheet_field & sd = sfield(F_DEFAULTSR);
sd.destroy();
TAssoc_array& defaults = profile.list_variables();
FOR_EACH_ASSOC_STRING(defaults, obj, dkey, s)
{
TToken_string & row = sd.row(-1);
if (strchr(s, '|') == NULL) // Provo a gestire il caso Default(105) = 3
{
const TFixed_string k(dkey);
row.add(atoi(k.after('(')));
row.add(s);
}
else // Provo a gestire il caso Default(0) = 105|3
row = s;
}
}
TTRI_handlers_mask::TTRI_handlers_mask(const TTipo_riga_documento & tiporiga) : TAutomask("vehntri")
{
TString name;
tiporiga.mask_name(name);
_rigamask = new TMask(name);
add_frd_list(efield(F_TOTALECONT));
add_frr_list(efield(F_QTAR));
add_frr_list(efield(F_QTAEVASAR));
add_frr_list(efield(F_QTAMAGR));
add_frr_list(efield(F_QTAEVASAMAGR));
for (int i = 0 ; i < 4; i++)
{
const short id = F_LIVGEN1 + i;
TEdit_field & e = efield(id);
add_fld_list(e, LF_ANAMAG);
add_fld_list(e, LF_DOC);
add_fld_list(e, LF_RIGHEDOC);
}
add_mask_items(sfield(F_DEFAULTSR).sheet_mask().lfield(FD_FIELDR));
}
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// TVendite_tabapp // TVendite_tabapp
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////

28
ve/vehntip.h Normal file
View File

@ -0,0 +1,28 @@
#define F_NAMETIP 201
#define F_MODULE 202
#define F_TIPOCR 203
#define F_CNTPRZ 204
#define F_PREZZO 205
#define F_TOTALECONT 206
#define F_QTA 207
#define F_QTAEVASA 208
#define F_QTAMAG 209
#define F_QTAEVASAMAG 210
#define F_CHECK_QTA 211
#define F_LOAD_CONT 212
#define F_DESCDOC 213
#define F_DESCRDOC 214
#define F_HIDEEVASE 215
#define F_NOTEVADI 216
#define F_HANDLERS 217
#define F_LABELS 218
#define F_DEFAULTS 219
#define FH_HANDLER 101
#define FH_FIELD 102
#define FH_DESCR 103
#define FL_DESCR 101
#define FD_FIELD 101
#define FD_VALUE 102

359
ve/vehntip.uml Normal file
View File

@ -0,0 +1,359 @@
#include "vehntip.h"
TOOLBAR "Toolbar" 0 0 0 2
#include <stdbar.h>
ENDPAGE
PAGE "Parametri" 0 0 0 0
GROUPBOX DLG_NULL 75 3
BEGIN
PROMPT 1 0 ""
FLAGS "R"
END
STRING F_NAMETIP 8
BEGIN
PROMPT 2 1 "Nome profilo "
FLAGS "DG"
MESSAGE COPY,1@
END
LISTBOX F_MODULE 2 22
BEGIN
PROMPT 40 1 "Modulo "
ITEM "ve|Vendite"
ITEM "vd|Vendite al dettaglio"
ITEM "lv|Lavanderie"
ITEM "pe|Preventivazione"
ITEM "co|Conferimenti coop."
END
LISTBOX F_TIPOCR 1 9
BEGIN
PROMPT 2 5 "Tipi ammessi "
ITEM "C|Clienti"
ITEM "F|Fornitori"
ITEM " |Tutti"
END
BOOLEAN F_CNTPRZ
BEGIN
PROMPT 2 6 "Controllo prezzi "
END
STRING F_PREZZO 10
BEGIN
PROMPT 2 7 "Campo prezzo "
SHEET "Campo@10|Descrizione@50"
INPUT F_PREZZO
OUTPUT F_PREZZO
ITEM "|Prezzo di anagrafica"
ITEM "COSTSTD|Costo standard"
ITEM "ULTCOS1|Ultimo costo"
ITEM "ULTCOS2|Penultimo costo"
CHECKTYPE NORMAL
END
STRING F_TOTALECONT 10
BEGIN
PROMPT 40 7 "Tot.documento imm.acq. "
SHEET "Campo@10|Descrizione@50"
INPUT F_TOTALECONT
OUTPUT F_TOTALECONT
CHECKTYPE SEARCH
END
STRING F_QTA 10
BEGIN
PROMPT 2 8 "Campo quantita' "
SHEET "Campo@10|Descrizione@50"
INPUT F_QTA
OUTPUT F_QTA
ITEM "PREZZO|Prezzo o valore"
ITEM "PREZZOL|Prezzo o valore lordo"
ITEM "QTA|Quantita'"
ITEM "QTAEVASA|Quantita' evasa"
ITEM "QTAGG1|1a quantita' aggiuntiva"
ITEM "QTAGG2|2a quantita' aggiuntiva"
ITEM "QTAGG3|3a quantita' aggiuntiva"
ITEM "QTAGG4|4a quantita' aggiuntiva"
ITEM "QTAGG5|5a quantita' aggiuntiva"
CHECKTYPE SEARCH
END
STRING F_QTAEVASA 10
BEGIN
PROMPT 40 8 "Campo quantita' evasa "
SHEET "Campo@10|Descrizione@50"
INPUT F_QTAEVASA
OUTPUT F_QTAEVASA
ITEM "PREZZO|Prezzo o valore"
ITEM "PREZZOL|Prezzo o valore lordo"
ITEM "QTA|Quantita'"
ITEM "QTAEVASA|Quantita' evasa"
ITEM "QTAGG1|1a quantita' aggiuntiva"
ITEM "QTAGG2|2a quantita' aggiuntiva"
ITEM "QTAGG3|3a quantita' aggiuntiva"
ITEM "QTAGG4|4a quantita' aggiuntiva"
ITEM "QTAGG5|5a quantita' aggiuntiva"
CHECKTYPE SEARCH
END
GROUPBOX DLG_NULL 75 3
BEGIN
PROMPT 1 9 "Movimenti di Magazzino"
FLAGS "R"
END
STRING F_QTAMAG 10
BEGIN
PROMPT 2 10 "Campo quantita' "
SHEET "Campo@10|Descrizione@50"
INPUT F_QTAMAG
OUTPUT F_QTAMAG
ITEM "PREZZO|Prezzo o valore"
ITEM "PREZZOL|Prezzo o valore lordo"
ITEM "QTA|Quantita'"
ITEM "QTAEVASA|Quantita' evasa"
ITEM "QTAGG1|1a quantita' aggiuntiva"
ITEM "QTAGG2|2a quantita' aggiuntiva"
ITEM "QTAGG3|3a quantita' aggiuntiva"
ITEM "QTAGG4|4a quantita' aggiuntiva"
ITEM "QTAGG5|5a quantita' aggiuntiva"
CHECKTYPE SEARCH
END
STRING F_QTAEVASAMAG 10
BEGIN
PROMPT 40 10 "Campo quantita' evasa "
SHEET "Campo@10|Descrizione@50"
INPUT F_QTAEVASAMAG
OUTPUT F_QTAEVASAMAG
ITEM "PREZZO|Prezzo o valore"
ITEM "PREZZOL|Prezzo o valore lordo"
ITEM "QTA|Quantita'"
ITEM "QTAEVASA|Quantita' evasa"
ITEM "QTAGG1|1a quantita' aggiuntiva"
ITEM "QTAGG2|2a quantita' aggiuntiva"
ITEM "QTAGG3|3a quantita' aggiuntiva"
ITEM "QTAGG4|4a quantita' aggiuntiva"
ITEM "QTAGG5|5a quantita' aggiuntiva"
CHECKTYPE SEARCH
END
LISTBOX F_CHECK_QTA 1 16
BEGIN
PROMPT 2 12 "Segnala giac. su "
ITEM " |Nulla"
ITEM "G|Giacenza"
ITEM "D|Disponibilita'"
END
BOOLEAN F_LOAD_CONT
BEGIN
PROMPT 2 13 "Proponi il contratto cliente in inserimento"
END
GROUPBOX DLG_NULL 75 6
BEGIN
PROMPT 1 14 "Evasione ordini"
FLAGS "R"
END
STRING F_DESCDOC 80 40
BEGIN
PROMPT 2 15 "Descr.documento "
END
STRING F_DESCRDOC 80 40
BEGIN
PROMPT 2 16 "Descr.riga doc. "
END
BOOLEAN F_HIDEEVASE
BEGIN
PROMPT 2 17 "Nascondi le righe evase"
END
BOOLEAN F_NOTEVADI
BEGIN
PROMPT 2 18 "Non evadere le righe ordine"
END
ENDPAGE
PAGE "Handlers" 0 0 0 0
GROUPBOX DLG_NULL 75 3
BEGIN
PROMPT 1 0 ""
FLAGS "R"
END
STRING DLG_NULL 8
BEGIN
PROMPT 2 1 "Nome profilo "
GROUP 1
FLAGS "D"
END
SPREADSHEET F_HANDLERS 0 6
BEGIN
PROMPT 1 5 ""
ITEM "Handler@40"
ITEM "Campo"
ITEM "Descrizione@50"
END
SPREADSHEET F_LABELS 0 8
BEGIN
PROMPT 1 13 ""
ITEM "Intestazione pagina@50"
END
ENDPAGE
PAGE "Defaults" 0 0 0 0
GROUPBOX DLG_NULL 75 3
BEGIN
PROMPT 1 0 ""
FLAGS "R"
END
STRING DLG_NULL 8
BEGIN
PROMPT 2 1 "Nome profilo "
GROUP 1
FLAGS "D"
END
SPREADSHEET F_DEFAULTS
BEGIN
PROMPT 1 5 ""
ITEM "Campo@40"
ITEM "Valore@40"
END
ENDPAGE
ENDMASK
PAGE "Handlers" -1 -1 75 7
LISTBOX FH_HANDLER 2 50
BEGIN
PROMPT 2 4 "Handler "
ITEM "1|Controllo ora sulle bolle"
ITEM "2|Controllo totale documento"
ITEM "3|Ricerca riferimento documenti"
ITEM "4|Supporto Smartcard"
ITEM "6|Controllo fido"
END
NUMBER FH_FIELD 4
BEGIN
PROMPT 2 2 "Campo "
SHEET "Campo|Descrizione@50"
INPUT FH_FIELD
OUTPUT FH_FIELD
OUTPUT FH_DESCR
CHECKTYPE REQUIRED
END
STRING FH_DESCR 50
BEGIN
PROMPT 20 2 ""
FLAGS "D"
END
ENDPAGE
TOOLBAR "Toolbar" 0 0 0 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -33 -1 "Elimina"
MESSAGE EXIT,K_DEL
END
ENDPAGE
ENDMASK
PAGE "Labels" -1 -1 75 6
STRING FL_DESCR 50
BEGIN
PROMPT 2 4 "Intestazione "
END
ENDPAGE
TOOLBAR "Toolbar" 0 0 0 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -33 -1 "Elimina"
MESSAGE EXIT,K_DEL
END
ENDPAGE
ENDMASK
PAGE "Defaults" -1 -1 75 7
LISTBOX FD_FIELD 4 50
BEGIN
PROMPT 2 2 "Campo "
END
STRING FD_VALUE 80 60
BEGIN
PROMPT 2 4 "Valore "
END
ENDPAGE
TOOLBAR "Toolbar" 0 0 0 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -33 -1 "Elimina"
MESSAGE EXIT,K_DEL
END
ENDPAGE
ENDMASK

27
ve/vehntri.h Normal file
View File

@ -0,0 +1,27 @@
#define F_NAMETRI 201
#define F_NODESC 202
#define F_VARP 203
#define F_VARN 204
#define F_QTAR 205
#define F_QTAEVASAR 206
#define F_QTAMAGR 207
#define F_QTAEVASAMAGR 208
#define F_LIVGEN1 209
#define F_LIVGEN2 210
#define F_LIVGEN3 211
#define F_LIVGEN4 212
#define F_SERCHYEARS 213
#define F_SEARCNUMS 214
#define F_MAXROWSART 215
#define F_SEARCHACTDOCS 216
#define F_SELCLIFO 217
#define F_FIELDSTOUPDATE 218
#define F_HANDLERSR 219
#define F_DEFAULTSR 220
#define FH_HANDLERR 101
#define FH_FIELDR 102
#define FH_DESCRR 103
#define FD_FIELDR 101
#define FD_VALUER 102

336
ve/vehntri.uml Normal file
View File

@ -0,0 +1,336 @@
#include "vehntri.h"
TOOLBAR "Toolbar" 0 0 0 2
#include <stdbar.h>
ENDPAGE
PAGE "Handlers tipo di riga" 0 0 0 0
GROUPBOX DLG_NULL 75 3
BEGIN
PROMPT 1 0 ""
FLAGS "R"
END
STRING F_NAMETRI 8
BEGIN
PROMPT 2 1 "Nome profilo "
FLAGS "D"
END
BOOLEAN F_NODESC
BEGIN
PROMPT 2 5 "Non caricare la descrizione articolo"
END
NUMBER F_VARP 6 2
BEGIN
PROMPT 2 6 "Variaz. Prezzi + "
END
NUMBER F_VARN 6 2
BEGIN
PROMPT 40 6 "Variaz. Prezzi - "
END
STRING F_QTAR 10
BEGIN
PROMPT 2 7 "Campo quantita' "
SHEET "Campo@10|Descrizione@50"
INPUT F_QTAR
OUTPUT F_QTAR
ITEM "PREZZO|Prezzo o valore"
ITEM "PREZZOL|Prezzo o valore lordo"
ITEM "QTA|Quantita'"
ITEM "QTAEVASA|Quantita' evasa"
ITEM "QTAGG1|1a quantita' aggiuntiva"
ITEM "QTAGG2|2a quantita' aggiuntiva"
ITEM "QTAGG3|3a quantita' aggiuntiva"
ITEM "QTAGG4|4a quantita' aggiuntiva"
ITEM "QTAGG5|5a quantita' aggiuntiva"
CHECKTYPE SEARCH
END
STRING F_QTAEVASAR 10
BEGIN
PROMPT 40 7 "Campo quantità evasa "
SHEET "Campo@10|Descrizione@50"
INPUT F_QTAEVASAR
OUTPUT F_QTAEVASAR
ITEM "PREZZO|Prezzo o valore"
ITEM "PREZZOL|Prezzo o valore lordo"
ITEM "QTA|Quantita'"
ITEM "QTAEVASA|Quantita' evasa"
ITEM "QTAGG1|1a quantita' aggiuntiva"
ITEM "QTAGG2|2a quantita' aggiuntiva"
ITEM "QTAGG3|3a quantita' aggiuntiva"
ITEM "QTAGG4|4a quantita' aggiuntiva"
ITEM "QTAGG5|5a quantita' aggiuntiva"
CHECKTYPE SEARCH
END
GROUPBOX DLG_NULL 75 3
BEGIN
PROMPT 1 8 "Movimenti di Magazzino"
FLAGS "R"
END
STRING F_QTAMAGR 10
BEGIN
PROMPT 2 9 "Campo quantità "
SHEET "Campo@10|Descrizione@50"
INPUT F_QTAMAGR
OUTPUT F_QTAMAGR
ITEM "PREZZO|Prezzo o valore"
ITEM "PREZZOL|Prezzo o valore lordo"
ITEM "QTA|Quantita'"
ITEM "QTAEVASA|Quantita' evasa"
ITEM "QTAGG1|1a quantita' aggiuntiva"
ITEM "QTAGG2|2a quantita' aggiuntiva"
ITEM "QTAGG3|3a quantita' aggiuntiva"
ITEM "QTAGG4|4a quantita' aggiuntiva"
ITEM "QTAGG5|5a quantita' aggiuntiva"
CHECKTYPE SEARCH
END
STRING F_QTAEVASAMAGR 10
BEGIN
PROMPT 40 9 "Campo quantità evasa "
SHEET "Campo@10|Descrizione@50"
INPUT F_QTAEVASAMAGR
OUTPUT F_QTAEVASAMAGR
ITEM "PREZZO|Prezzo o valore"
ITEM "PREZZOL|Prezzo o valore lordo"
ITEM "QTA|Quantita'"
ITEM "QTAEVASA|Quantità evasa"
ITEM "QTAGG1|1a quantità aggiuntiva"
ITEM "QTAGG2|2a quantità aggiuntiva"
ITEM "QTAGG3|3a quantità aggiuntiva"
ITEM "QTAGG4|4a quantità aggiuntiva"
ITEM "QTAGG5|5a quantità aggiuntiva"
CHECKTYPE SEARCH
END
GROUPBOX DLG_NULL 75 4
BEGIN
PROMPT 1 11 "Generazione Livelli di Giacenza"
FLAGS "R"
END
STRING F_LIVGEN1 13
BEGIN
PROMPT 2 12 "Livello 1 "
SHEET "Campo@10|Descrizione@50"
INPUT F_LIVGEN1
OUTPUT F_LIVGEN1
ITEM "PROG|Progressivo"
CHECKTYPE SEARCH
END
STRING F_LIVGEN2 13
BEGIN
PROMPT 40 12 "Livello 2 "
SHEET "Campo@10|Descrizione@50"
INPUT F_LIVGEN2
OUTPUT F_LIVGEN2
ITEM "PROG|Progressivo"
CHECKTYPE SEARCH
END
STRING F_LIVGEN3 13
BEGIN
PROMPT 2 13 "Livello 3 "
SHEET "Campo@10|Descrizione@50"
INPUT F_LIVGEN3
OUTPUT F_LIVGEN3
ITEM "PROG|Progressivo"
CHECKTYPE SEARCH
END
STRING F_LIVGEN4 13
BEGIN
PROMPT 40 13 "Livello 4 "
SHEET "Campo@10|Descrizione@50"
INPUT F_LIVGEN4
OUTPUT F_LIVGEN4
ITEM "PROG|Progressivo"
CHECKTYPE SEARCH
END
GROUPBOX DLG_NULL 75 5
BEGIN
PROMPT 1 15 "Ricerca prezzi ed Evasione diretta"
FLAGS "R"
END
NUMBER F_SERCHYEARS 2
BEGIN
PROMPT 2 16 "Numero anni "
END
STRING F_SEARCNUMS 80 20
BEGIN
PROMPT 30 16 "Numerazioni (sep. da |) "
END
NUMBER F_MAXROWSART 2
BEGIN
PROMPT 2 17 "Numero di righe "
END
STRING F_SEARCHACTDOCS 80 20
BEGIN
PROMPT 30 17 "Tipi docum. (sep. da |) "
END
BOOLEAN F_SELCLIFO
BEGIN
PROMPT 2 18 "Ric.per Cli/For. "
END
STRING F_FIELDSTOUPDATE 80 20
BEGIN
PROMPT 30 18 "Campi output(sep. da |) "
END
ENDPAGE
PAGE "Handlers" 0 0 0 0
GROUPBOX DLG_NULL 75 3
BEGIN
PROMPT 1 0 ""
FLAGS "R"
END
STRING DLG_NULL 8
BEGIN
PROMPT 2 1 "Nome profilo "
GROUP 1
FLAGS "D"
END
SPREADSHEET F_HANDLERSR
BEGIN
PROMPT 1 5 ""
ITEM "Handler@40"
ITEM "Campo"
ITEM "Descrizione@50"
END
ENDPAGE
PAGE "Defaults" 0 0 0 0
GROUPBOX DLG_NULL 75 3
BEGIN
PROMPT 1 0 ""
FLAGS "R"
END
STRING DLG_NULL 8
BEGIN
PROMPT 2 1 "Nome profilo "
GROUP 1
FLAGS "D"
END
SPREADSHEET F_DEFAULTSR
BEGIN
PROMPT 1 5 ""
ITEM "Campo@40"
ITEM "Valore@40"
END
ENDPAGE
ENDMASK
PAGE "Handlers" -1 -1 75 7
LISTBOX FH_HANDLERR 2 50
BEGIN
PROMPT 2 4 "Handler "
ITEM "1|Controllo sul range di prezzi"
ITEM "3|Ricerca prezzi con F8"
ITEM "4|Ricerca prezzi con solo con F9"
ITEM "5|Evasione interattiva documenti"
ITEM "6|Aggiornamento automatico evaso"
ITEM "7|Richiamo Distinta Base"
ITEM "8|Generazione automatica livelli di giacenza"
END
NUMBER FH_FIELDR 4
BEGIN
PROMPT 2 2 "Campo "
SHEET "Campo|Descrizione@50"
INPUT FH_FIELDR
OUTPUT FH_FIELDR
OUTPUT FH_DESCRR
CHECKTYPE REQUIRED
END
STRING FH_DESCRR 50
BEGIN
PROMPT 20 2 ""
FLAGS "D"
END
ENDPAGE
TOOLBAR "Toolbar" 0 0 0 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -33 -1 "Elimina"
MESSAGE EXIT,K_DEL
END
ENDPAGE
ENDMASK
PAGE "Defaults" -1 -1 75 7
LISTBOX FD_FIELDR 4 50
BEGIN
PROMPT 2 2 "Campo "
END
STRING FD_VALUER 80 60
BEGIN
PROMPT 2 4 "Valore "
END
ENDPAGE
TOOLBAR "Toolbar" 0 0 0 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -33 -1 "Elimina"
MESSAGE EXIT,K_DEL
END
ENDPAGE
ENDMASK

View File

@ -1,18 +1,18 @@
#define F_CODTAB 101 #define F_CODTAB 101
#define F_DESNUM 102 #define FN_DESNUM 102
#define F_ULTNUM 103 #define F_ULTNUM 103
#define F_ULTNUMPROV 104 #define F_ULTNUMPROV 104
#define F_PREFISSO 105 #define F_PREFISSO 105
#define F_SUFFISSO 106 #define F_SUFFISSO 106
#define F_ULTDATA 107 #define F_ULTDATA 107
#define F_ANNO 108 //#define F_ANNO 108
#define F_TIPO 109 #define F_TIPONUM 109
#define F_NODATADOCTEST 110 #define F_NODATADOCTEST 110
#define F_SAVEANDNEW 111 #define F_SAVEANDNEW 111
#define F_AUTOREOPEN 112 #define F_AUTOREOPEN 112
#define F_DOCDEFDIV 113 #define F_DOCDEFDIV 113
#define F_CODNUM 114 #define FN_CODNUM 114
#define F_TIPODOC 115 #define FN_TIPODOC 115
#define F_TIPODOC1 210 #define F_TIPODOC1 210

View File

@ -25,23 +25,23 @@ BEGIN
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT F_CODTAB CODTAB OUTPUT F_CODTAB CODTAB
OUTPUT F_DESNUM S0 OUTPUT FN_DESNUM S0
KEY 1 KEY 1
FLAG "UZ" FLAG "UZ"
END END
STRING F_DESNUM 50 STRING FN_DESNUM 50
BEGIN BEGIN
PROMPT 2 4 "Descrizione " PROMPT 2 4 "Descrizione "
FIELD S0 FIELD S0
HELP "Descrizione numerazione" HELP "Descrizione numerazione"
USE %NUM KEY 2 USE %NUM KEY 2
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
INPUT S0 F_DESNUM INPUT S0 FN_DESNUM
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT F_CODTAB CODTAB OUTPUT F_CODTAB CODTAB
OUTPUT F_DESNUM S0 OUTPUT FN_DESNUM S0
KEY 2 KEY 2
END END
@ -68,42 +68,42 @@ END
BOOLEAN F_DOCDEFDIV BOOLEAN F_DOCDEFDIV
BEGIN BEGIN
PROMPT 2 11 "Documento definitivo diverso" PROMPT 2 11 "Documento definitivo diverso"
MESSAGE FALSE CLEAR,F_CODNUM|CLEAR,F_TIPODOC MESSAGE FALSE CLEAR,FN_CODNUM|CLEAR,FN_TIPODOC
MESSAGE TRUE ENABLE,F_CODNUM|DISABLE,F_TIPODOC MESSAGE TRUE ENABLE,FN_CODNUM|DISABLE,FN_TIPODOC
GROUP 1 GROUP 1
FIELD B8 FIELD B8
FLAGS "G" FLAGS "G"
END END
STRING F_CODNUM 4 STRING FN_CODNUM 4
BEGIN BEGIN
PROMPT 35 11 "Numerazione " PROMPT 35 11 "Numerazione "
FIELD CODNUM FIELD CODNUM
HELP "Codice numerazione" HELP "Codice numerazione"
USE %NUM USE %NUM
INPUT CODTAB F_CODNUM INPUT CODTAB FN_CODNUM
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT F_CODNUM CODTAB OUTPUT FN_CODNUM CODTAB
CHECKTYPE NORMAL CHECKTYPE NORMAL
FLAGS "UDG" FLAGS "UDG"
WARNING "Numerazione assente" WARNING "Numerazione assente"
FIELD S8 FIELD S8
MESSAGE EMPTY CLEAR,F_TIPODOC MESSAGE EMPTY CLEAR,FN_TIPODOC
MESSAGE ENABLE,F_TIPODOC MESSAGE ENABLE,FN_TIPODOC
GROUP 1 GROUP 1
END END
STRING F_TIPODOC 4 STRING FN_TIPODOC 4
BEGIN BEGIN
PROMPT 63 11 "Tipo " PROMPT 63 11 "Tipo "
FIELD TIPODOC FIELD TIPODOC
HELP "Codice tipo documento" HELP "Codice tipo documento"
USE %TIP USE %TIP
INPUT CODTAB F_TIPODOC INPUT CODTAB FN_TIPODOC
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT F_TIPODOC CODTAB OUTPUT FN_TIPODOC CODTAB
CHECKTYPE NORMAL CHECKTYPE NORMAL
FLAGS "UD" FLAGS "UD"
FIELD S9 FIELD S9
@ -177,7 +177,7 @@ PAGE "Tipi documento validi" -1 -1 60 14
PROMPT 1 1 "Tipi di documento validi per la numerazione" PROMPT 1 1 "Tipi di documento validi per la numerazione"
END END
LIST F_TIPO 24 LIST F_TIPONUM 24
BEGIN BEGIN
PROMPT 2 2 "Tipo dei documenti " PROMPT 2 2 "Tipo dei documenti "
FIELD I1 FIELD I1
@ -202,7 +202,7 @@ PAGE "Tipi documento validi" -1 -1 60 14
BEGIN BEGIN
PROMPT 2 4 "" PROMPT 2 4 ""
FLAGS "U" FLAGS "U"
USE %TIP SELECT I1==#F_TIPO USE %TIP SELECT I1==#F_TIPONUM
INPUT CODTAB F_TIPODOC1 INPUT CODTAB F_TIPODOC1
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
@ -216,7 +216,7 @@ PAGE "Tipi documento validi" -1 -1 60 14
STRING F_DESDOC1 50 STRING F_DESDOC1 50
BEGIN BEGIN
PROMPT 12 4 "" PROMPT 12 4 ""
USE %TIP KEY 2 SELECT I1==#F_TIPO USE %TIP KEY 2 SELECT I1==#F_TIPONUM
INPUT S0 F_DESDOC1 INPUT S0 F_DESDOC1
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB

View File

@ -1,10 +1,10 @@
#define F_CODTAB 101 #define F_CODTAB 101
#define F_DESNUM 102 #define FT_DESNUM 102
#define F_PROFILO 103 #define F_PROFILO 103
#define F_PSTAMPA 104 #define F_PSTAMPA 104
#define F_CODCAUS 105 #define F_CODCAUS 105
#define F_DESCAUS 106 #define F_DESCAUS 106
#define F_NCOPIE 107 #define FT_NCOPIE 107
#define F_RIFERIMENTO 108 #define F_RIFERIMENTO 108
#define F_SPESEAUT 109 #define F_SPESEAUT 109
#define F_TIPO 110 #define F_TIPO 110
@ -14,7 +14,7 @@
#define F_CAUS_MAG 114 #define F_CAUS_MAG 114
#define F_DESCAUS_MAG 115 #define F_DESCAUS_MAG 115
#define F_STATV 116 #define F_STATV 116
#define F_PROVV 117 #define FT_PROVV 117
#define F_STATO_PROVV 118 #define F_STATO_PROVV 118
#define F_SCARES 119 #define F_SCARES 119
#define F_CODCAUSANT 120 #define F_CODCAUSANT 120
@ -36,8 +36,6 @@
#define F_STATOCHI 153 #define F_STATOCHI 153
#define F_CODELAB 154 #define F_CODELAB 154
#define F_DESCELAB 155 #define F_DESCELAB 155
#define F_CODELABPR 156
#define F_DESCELABPR 157
#define F_STATOI_MOD_1 201 #define F_STATOI_MOD_1 201
#define F_STATOI_MOD_2 202 #define F_STATOI_MOD_2 202
@ -108,5 +106,5 @@
#define F_IVA_NI 504 #define F_IVA_NI 504
#define F_IVA_NS 505 #define F_IVA_NS 505
#define F_GOLEM 511 #define FT_GOLEM 511
#define F_ADDROW 512 #define F_ADDROW 512

View File

@ -1,7 +1,21 @@
#include "vetbtip.h" #include "vetbtip.h"
TOOLBAR "Toolbar" 0 0 0 2 TOOLBAR "Toolbar" 0 0 0 2
#include <relapbar.h>
#include <filebar.h>
BUTTON DLG_NULL 2 2
BEGIN
END
BUTTON DLG_CONFIG 2 2
BEGIN
PROMPT -12 -1 "~Handlers"
PICTURE TOOL_CONFIG
END
#include <cancelbar.h>
ENDPAGE ENDPAGE
PAGE "Tipi documento" 0 2 0 0 PAGE "Tipi documento" 0 2 0 0
@ -22,19 +36,19 @@ BEGIN
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT F_CODTAB CODTAB OUTPUT F_CODTAB CODTAB
OUTPUT F_DESNUM S0 OUTPUT FT_DESNUM S0
KEY 1 KEY 1
FLAGS "UZ" FLAGS "UZ"
END END
STRING F_DESNUM 50 STRING FT_DESNUM 50
BEGIN BEGIN
PROMPT 23 1 "" PROMPT 23 1 ""
FIELD S0 FIELD S0
HELP "Descrizione tipo documento" HELP "Descrizione tipo documento"
USE %TIP KEY 2 USE %TIP KEY 2
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
INPUT S0 F_DESNUM INPUT S0 FT_DESNUM
DISPLAY "Descrizione@40" S0 DISPLAY "Descrizione@40" S0
DISPLAY "Codice@10" CODTAB DISPLAY "Codice@10" CODTAB
COPY OUTPUT F_CODTAB COPY OUTPUT F_CODTAB
@ -81,7 +95,7 @@ BEGIN
MESSAGE ENABLE,4@ MESSAGE ENABLE,4@
END END
NUMBER F_NCOPIE 3 NUMBER FT_NCOPIE 3
BEGIN BEGIN
PROMPT 42 6 "Numero di copie " PROMPT 42 6 "Numero di copie "
FIELD I0 FIELD I0
@ -281,7 +295,7 @@ BEGIN
FIELD B5 FIELD B5
END END
BOOLEAN F_PROVV BOOLEAN FT_PROVV
BEGIN BEGIN
PROMPT 2 17 "Attivo per le provvigioni" PROMPT 2 17 "Attivo per le provvigioni"
FIELD B3 FIELD B3
@ -373,7 +387,7 @@ BEGIN
COPY USE F_STATOF_INS COPY USE F_STATOF_INS
INPUT CODTAB F_STATOBLC INPUT CODTAB F_STATOBLC
COPY DISPLAY F_STATOF_INS COPY DISPLAY F_STATOF_INS
OUTPUT F_STATOBLC CODTAB OUTPUT F_STATOCHI CODTAB
CHECKYTPE NORMAL CHECKYTPE NORMAL
FLAGS "U" FLAGS "U"
WARNING "Stato assente" WARNING "Stato assente"
@ -1219,7 +1233,7 @@ BEGIN
PROMPT 1 8 "@bStampa documenti avanzata" PROMPT 1 8 "@bStampa documenti avanzata"
END END
BOOLEAN F_GOLEM BOOLEAN FT_GOLEM
BEGIN BEGIN
PROMPT 2 9 "Allega documenti specificati in anagrafica articoli" PROMPT 2 9 "Allega documenti specificati in anagrafica articoli"
FIELD B10 FIELD B10
@ -1233,7 +1247,7 @@ END
STRING F_CODELAB 8 STRING F_CODELAB 8
BEGIN BEGIN
PROMPT 2 12 "Elab. " PROMPT 2 12 "Codice "
FLAG "U" FLAG "U"
FIELD S3[5,12] FIELD S3[5,12]
CHECKTYPE NORMAL CHECKTYPE NORMAL
@ -1248,7 +1262,7 @@ END
STRING F_DESCELAB 50 STRING F_DESCELAB 50
BEGIN BEGIN
PROMPT 28 12 "" PROMPT 20 12 ""
CHECKTYPE SEARCH CHECKTYPE SEARCH
WARNING "E' necessario specificare un valore" WARNING "E' necessario specificare un valore"
USE %ELD KEY 2 USE %ELD KEY 2
@ -1258,33 +1272,6 @@ BEGIN
COPY OUTPUT F_CODELAB COPY OUTPUT F_CODELAB
END END
STRING F_CODELABPR 8
BEGIN
PROMPT 2 13 "Elab.in stampa"
FLAG "U"
FIELD S3[13,20]
CHECKTYPE NORMAL
USE %ELD
INPUT CODTAB F_CODELABPR
DISPLAY "Codice@10" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CODELABPR CODTAB
OUTPUT F_DESCELABPR S0
HELP "Codice dell'elaborazione differita da eseguire"
END
STRING F_DESCELABPR 50
BEGIN
PROMPT 28 13 ""
CHECKTYPE SEARCH
WARNING "E' necessario specificare un valore"
USE %ELD KEY 2
INPUT S0 F_DESCELABPR
DISPLAY "Descrizione@50" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODELABPR
END
ENDPAGE ENDPAGE

View File

@ -2,7 +2,19 @@
TOOLBAR "Toolbar" 0 0 0 2 TOOLBAR "Toolbar" 0 0 0 2
#include <relapbar.h> #include <filebar.h>
BUTTON DLG_NULL 2 2
BEGIN
END
BUTTON DLG_CONFIG 2 2
BEGIN
PROMPT -12 -1 "~Handlers"
PICTURE TOOL_CONFIG
END
#include <cancelbar.h>
ENDPAGE ENDPAGE