Migliorato caricamento immagini del menu, modificata richiesta ditta
modifica alle maschere del libro unico e relativi indici Gestiti permessi d'uso del programma di manutenzione(Superprassi-Umano mortale) git-svn-id: svn://10.65.10.50/trunk@1331 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
caea7e7e46
commit
5ee2fbbd4c
133
ba/ba0.cpp
133
ba/ba0.cpp
@ -8,20 +8,6 @@
|
|||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
|
|
||||||
/*
|
|
||||||
#if XVT_OS == XVT_OS_SCOUNIX
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#else
|
|
||||||
#include <direct.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_WIN
|
|
||||||
#include <dos.h>
|
|
||||||
#else
|
|
||||||
#include <dirent.h>
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ba0.h"
|
#include "ba0.h"
|
||||||
#include "ba0100a.h"
|
#include "ba0100a.h"
|
||||||
|
|
||||||
@ -37,22 +23,16 @@ protected:
|
|||||||
virtual void handler(WINDOW win, EVENT* ep);
|
virtual void handler(WINDOW win, EVENT* ep);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TPicture_mask(const char* name, int dx, int dy, TImage & image, bool remap);
|
TPicture_mask(const char* name, int dx, int dy, TImage& image);
|
||||||
virtual ~TPicture_mask() {}
|
virtual ~TPicture_mask() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
TPicture_mask::TPicture_mask(const char* name, int dx, int dy, TImage & image, bool remap)
|
TPicture_mask::TPicture_mask(const char* name, int dx, int dy, TImage& image)
|
||||||
: TMask(name, 1, dx, dy), _image(image)
|
: TMask(name, 1, dx, dy), _image(image)
|
||||||
{
|
{
|
||||||
if (_image.ok())
|
if (_image.ok())
|
||||||
{
|
_image.set_palette(win());
|
||||||
if (!remap && MASK_BACK_COLOR != COLOR_DKCYAN)
|
|
||||||
_image.set_clut(6, MASK_BACK_COLOR);
|
|
||||||
else
|
|
||||||
_image.set_palette(win());
|
|
||||||
_image.set_pos(1, 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -66,21 +46,15 @@ void TPicture_mask::handler(WINDOW win, EVENT* ep)
|
|||||||
#if XVT_OS == XVT_OS_WIN
|
#if XVT_OS == XVT_OS_WIN
|
||||||
if (_image.ok())
|
if (_image.ok())
|
||||||
{
|
{
|
||||||
RCT src; xvt_rect_set(&src, 0, 0, _image.width(), _image.height());
|
_image.draw(win);
|
||||||
const short maxx = 42*CHARX;
|
|
||||||
const short maxy = short((long)maxx*src.bottom/src.right);
|
|
||||||
RCT dst; xvt_rect_set(&dst, 1, 1, maxx, maxy);
|
|
||||||
_image.draw(win, dst);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
TTemp_window w(win);
|
||||||
const int max = 16;
|
const int max = 16;
|
||||||
for (int i = 0; i < max; i++)
|
for (int i = 0; i < max; i++)
|
||||||
{
|
|
||||||
TTemp_window w(win);
|
|
||||||
w.rect(i*2, i, max-i*2, max-i);
|
w.rect(i*2, i, max-i*2, max-i);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -100,7 +74,7 @@ class TMenu_application : public TApplication
|
|||||||
TArray _modules, _images;
|
TArray _modules, _images;
|
||||||
|
|
||||||
int _level, _max;
|
int _level, _max;
|
||||||
bool _ditta_asked;
|
/* bool _ditta_asked; */
|
||||||
|
|
||||||
static int _last_button;
|
static int _last_button;
|
||||||
static bool _find_button;
|
static bool _find_button;
|
||||||
@ -112,6 +86,7 @@ protected:
|
|||||||
int find_menu(const char* s) const;
|
int find_menu(const char* s) const;
|
||||||
bool check_user();
|
bool check_user();
|
||||||
virtual bool create();
|
virtual bool create();
|
||||||
|
virtual bool destroy();
|
||||||
virtual bool menu(MENU_TAG m);
|
virtual bool menu(MENU_TAG m);
|
||||||
virtual bool build_firm_data(long cod, bool flagcom = FALSE);
|
virtual bool build_firm_data(long cod, bool flagcom = FALSE);
|
||||||
|
|
||||||
@ -121,7 +96,7 @@ protected:
|
|||||||
bool module_enabled(int module) const { return has_module(module);}
|
bool module_enabled(int module) const { return has_module(module);}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TMenu_application(const char* name) : _name(name), _ditta_asked(FALSE) {}
|
TMenu_application(const char* name) : _name(name) /*, _ditta_asked(FALSE) */ {}
|
||||||
};
|
};
|
||||||
|
|
||||||
int TMenu_application::_last_button = 0;
|
int TMenu_application::_last_button = 0;
|
||||||
@ -371,7 +346,7 @@ int TMenu_application::do_level()
|
|||||||
const int width = 78;
|
const int width = 78;
|
||||||
const int height = 18;
|
const int height = 18;
|
||||||
const int bwidth = 20;
|
const int bwidth = 20;
|
||||||
const int x = width-bwidth-12;
|
const int x = width / 2;
|
||||||
short id = (short)row.get_int();
|
short id = (short)row.get_int();
|
||||||
|
|
||||||
if (_images.objptr(id) == NULL)
|
if (_images.objptr(id) == NULL)
|
||||||
@ -379,12 +354,21 @@ int TMenu_application::do_level()
|
|||||||
char* n = format("ba%02d.bmp", id);
|
char* n = format("ba%02d.bmp", id);
|
||||||
if (id > 0 && !fexist(n))
|
if (id > 0 && !fexist(n))
|
||||||
n = format("ba%02d.bmp", id = 0);
|
n = format("ba%02d.bmp", id = 0);
|
||||||
TImage * image = new TImage(n);
|
|
||||||
|
TImage orig(n);
|
||||||
|
RCT src; xvt_rect_set(&src, 0, 0, orig.width(), orig.height());
|
||||||
|
const short maxx = width * CHARX / 2 - 4;
|
||||||
|
const short maxy = short((long)maxx*src.bottom/src.right);
|
||||||
|
|
||||||
|
TImage* image = new TImage(orig, maxx, maxy);
|
||||||
|
if (id == 0 && MASK_BACK_COLOR != COLOR_DKCYAN)
|
||||||
|
image->set_clut(6, MASK_BACK_COLOR);
|
||||||
|
image->set_pos(1, 1);
|
||||||
|
|
||||||
_images.add(image, id);
|
_images.add(image, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
TPicture_mask menu(head, width, height, (TImage &) _images[id], id != 0);
|
TPicture_mask menu(head, width, height, (TImage &) _images[id]);
|
||||||
|
|
||||||
int y = 1;
|
int y = 1;
|
||||||
|
|
||||||
@ -480,21 +464,54 @@ bool TMenu_application::check_user()
|
|||||||
users.put("USERNAME", utente);
|
users.put("USERNAME", utente);
|
||||||
|
|
||||||
pwd = "";
|
pwd = "";
|
||||||
if (users.read() == NOERR)
|
|
||||||
|
int err = users.read(_isequal, _lock);
|
||||||
|
if (err == NOERR)
|
||||||
|
{
|
||||||
pwd = decode(users.get("PASSWORD"));
|
pwd = decode(users.get("PASSWORD"));
|
||||||
|
}
|
||||||
else
|
else
|
||||||
if (utente == "PRASSI")
|
if (utente == "PRASSI")
|
||||||
pwd = "pr.assi";
|
{
|
||||||
|
pwd = "pr.assi";
|
||||||
|
users.zero();
|
||||||
|
users.put("USERNAME", utente);
|
||||||
|
users.put("USERDESC", utente);
|
||||||
|
users.put("PASSWORD", encode(pwd));
|
||||||
|
users.write();
|
||||||
|
err = users.read(_isequal, _lock);
|
||||||
|
}
|
||||||
|
|
||||||
ok = pwd.not_empty() && pwd == m.get(F_PASSWORD);
|
ok = pwd.not_empty() && pwd == m.get(F_PASSWORD);
|
||||||
|
|
||||||
if (ok)
|
if (ok)
|
||||||
user() = utente;
|
{
|
||||||
|
ok = !users.get_bool("CONNECTED");
|
||||||
|
if (!ok)
|
||||||
|
{
|
||||||
|
ok = yesno_box("L'utente %s risulta essere gia' collegato\n"
|
||||||
|
"Si desidera continuare ugualmente?", (const char*)utente);
|
||||||
|
}
|
||||||
|
if (ok)
|
||||||
|
user() = utente;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
error_box("Utente e/o password errata:\nfare attenzione alle maiuscole");
|
error_box("Utente e/o password errata:\nfare attenzione alle maiuscole");
|
||||||
m.set(F_PASSWORD,"");
|
m.set(F_PASSWORD,"");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
if (err == NOERR)
|
||||||
|
{
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
users.put("CONNECTED", "X");
|
||||||
|
users.rewrite();
|
||||||
|
}
|
||||||
|
else users.read(_isequal, _unlock);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -515,6 +532,19 @@ bool TMenu_application::create()
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TMenu_application::destroy()
|
||||||
|
{
|
||||||
|
TLocalisamfile users(LF_USER);
|
||||||
|
users.put("USERNAME", user());
|
||||||
|
int err = users.read(_isequal, _lock);
|
||||||
|
if (err == NOERR)
|
||||||
|
{
|
||||||
|
users.zero("CONNECTED");
|
||||||
|
users.rewrite();
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
bool TMenu_application::menu(MENU_TAG)
|
bool TMenu_application::menu(MENU_TAG)
|
||||||
{
|
{
|
||||||
@ -540,7 +570,7 @@ bool TMenu_application::menu(MENU_TAG)
|
|||||||
{
|
{
|
||||||
const TString16 flags(row.get());
|
const TString16 flags(row.get());
|
||||||
if (flags.find('F') >= 0)
|
if (flags.find('F') >= 0)
|
||||||
_ditta_asked = ok = set_firm();
|
/*_ditta_asked = */ ok = set_firm();
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
refarray[i++] = _level;
|
refarray[i++] = _level;
|
||||||
@ -549,15 +579,16 @@ bool TMenu_application::menu(MENU_TAG)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const TString16 module(cmd2name(option));
|
/*
|
||||||
if (!_ditta_asked && module.left(2) == "cg" && module != "cg5100")
|
const TString16 module(cmd2name(option));
|
||||||
_ditta_asked = ok = set_firm();
|
if (!_ditta_asked && module.left(2) == "cg" && module.left(3) != "cg5")
|
||||||
if (ok)
|
_ditta_asked = ok = set_firm();
|
||||||
{
|
*/
|
||||||
prefix().set("DEF"); // Aggiorna prefix
|
prefix().set("DEF"); // Aggiorna prefix
|
||||||
TExternal_app a(option);
|
if (get_firm() == 0)
|
||||||
a.run();
|
set_firm();
|
||||||
}
|
TExternal_app a(option);
|
||||||
|
a.run();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -580,6 +611,8 @@ bool TMenu_application::menu(MENU_TAG)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
TApplication::check_parameters(argc, argv);
|
TApplication::check_parameters(argc, argv);
|
||||||
|
232
ba/ba1100.cpp
232
ba/ba1100.cpp
@ -31,10 +31,10 @@ struct direct
|
|||||||
|
|
||||||
class TManutenzione_app : public TApplication
|
class TManutenzione_app : public TApplication
|
||||||
{
|
{
|
||||||
TDir_sheet * _browse;
|
TDir_sheet* _browse;
|
||||||
TMask * _mask;
|
TMask* _mask;
|
||||||
long _firm;
|
long _firm;
|
||||||
TRec_sheet* _rec;
|
TRec_sheet* _rec;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool menu (MENU_TAG);
|
virtual bool menu (MENU_TAG);
|
||||||
@ -52,7 +52,7 @@ protected:
|
|||||||
const char* dumpfilename(const FileDes& dep) const;
|
const char* dumpfilename(const FileDes& dep) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TManutenzione_app() : _browse(NULL), _rec(NULL), _mask(NULL) {}
|
TManutenzione_app() : _browse(NULL), _rec(NULL), _mask(NULL), _firm(0) {}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -253,12 +253,23 @@ bool TManutenzione_app::create() // initvar e arrmask
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (!set_firm())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
const bool superprassi = user() == "PRASSI";
|
||||||
|
|
||||||
_mask = new TMask ("ba1100a");
|
_mask = new TMask ("ba1100a");
|
||||||
set_firm();
|
_browse = new TDir_sheet ("Manutenzione file di sistema", superprassi ? 0xC : 0x8);
|
||||||
_browse = new TDir_sheet ("Manutenzione file di sistema") ;
|
|
||||||
_browse->add_button(DLG_INSFILE, "Inserisce", K_F6);
|
if (superprassi)
|
||||||
_browse->add_button(DLG_CONVERT, "Converte", K_F7);
|
{
|
||||||
_browse->add_button(DLG_ADDFILE, "Aggiunge", K_F8);
|
_mask->enable(-1); // Abilita campi privilegiati
|
||||||
|
|
||||||
|
_browse->add_button(DLG_INSFILE, "~Inserisci", K_F6);
|
||||||
|
_browse->add_button(DLG_CONVERT, "~Converti", K_F7);
|
||||||
|
_browse->add_button(DLG_ADDFILE, "~Aggiungi", K_F8);
|
||||||
|
}
|
||||||
|
|
||||||
dispatch_e_menu(BAR_ITEM(1));
|
dispatch_e_menu(BAR_ITEM(1));
|
||||||
}
|
}
|
||||||
enable_menu_item(M_FILE_PRINT);
|
enable_menu_item(M_FILE_PRINT);
|
||||||
@ -337,11 +348,14 @@ void TManutenzione_app::edit_riga (long riga_sel, TToken_string& riga)
|
|||||||
FileDes dep;
|
FileDes dep;
|
||||||
TDir d;
|
TDir d;
|
||||||
const int logicnum = int(riga_sel) + 1;
|
const int logicnum = int(riga_sel) + 1;
|
||||||
|
|
||||||
_mask->enable(DLG_PACK);
|
const bool superprassi = user() == "PRASSI";
|
||||||
_mask->enable(DLG_RECORD);
|
|
||||||
_mask->enable(DLG_LOAD);
|
_mask->enable(DLG_PACK, superprassi);
|
||||||
|
_mask->enable(DLG_RECORD, superprassi);
|
||||||
|
_mask->enable(DLG_LOAD, superprassi);
|
||||||
_mask->enable(DLG_DUMP);
|
_mask->enable(DLG_DUMP);
|
||||||
|
|
||||||
_mask->show(F_TAB, logicnum >= LF_TABGEN && logicnum <= LF_TAB);
|
_mask->show(F_TAB, logicnum >= LF_TABGEN && logicnum <= LF_TAB);
|
||||||
_mask->set (FLD_NUM, riga.get(0));
|
_mask->set (FLD_NUM, riga.get(0));
|
||||||
_mask->set (FLD_NOME, riga.get());
|
_mask->set (FLD_NOME, riga.get());
|
||||||
@ -366,100 +380,102 @@ void TManutenzione_app::edit_riga (long riga_sel, TToken_string& riga)
|
|||||||
switch (tasto)
|
switch (tasto)
|
||||||
{
|
{
|
||||||
case K_F4:
|
case K_F4:
|
||||||
{
|
|
||||||
const TFilename filename(_mask->get(FLD_NOME));
|
|
||||||
|
|
||||||
if (logicnum > 1)
|
if (logicnum > 1)
|
||||||
{
|
{
|
||||||
|
const TFilename filename(_mask->get(FLD_NOME));
|
||||||
TEdit_file ef;
|
TEdit_file ef;
|
||||||
ef.browse(logicnum, filename);
|
ef.browse(logicnum, filename);
|
||||||
}
|
}
|
||||||
}
|
break;
|
||||||
break;
|
case K_F5:
|
||||||
case K_F5:
|
case K_F6:
|
||||||
case K_F6:
|
case K_F8:
|
||||||
case K_F7:
|
if (!superprassi)
|
||||||
case K_F8:
|
|
||||||
case K_ENTER:
|
|
||||||
{
|
|
||||||
strcpy (dep.SysName,_mask->get (FLD_NOME));
|
|
||||||
dep.EOD = atol(_mask->get (FLD_EOD));
|
|
||||||
dep.Flags = atol(_mask->get (FLD_FLAG));
|
|
||||||
strcpy (dep.Des,_mask->get (FLD_DESC));
|
|
||||||
strcpy (dep.FCalc,_mask->get (FLD_FORMULA));
|
|
||||||
const TRecnotype eox = atol(_mask->get(FLD_EOX));
|
|
||||||
|
|
||||||
_browse->dir()->get(logicnum, _lock, _nordir, _sysdirop);
|
|
||||||
_browse->dir()->set(dep.SysName, dep.EOD, dep.Flags,
|
|
||||||
dep.Des, dep.FCalc);
|
|
||||||
_browse->dir()->put(logicnum, _nordir, _sysdirop);
|
|
||||||
|
|
||||||
{
|
|
||||||
TSystemisamfile f(logicnum);
|
|
||||||
|
|
||||||
if (eox != oldeox)
|
|
||||||
{
|
|
||||||
d.get(logicnum);
|
|
||||||
if (!fexist(d.name())) f.build(eox);
|
|
||||||
else f.extend(eox);
|
|
||||||
_browse->dir()->get(logicnum, _nolock, _nordir, _sysdirop);
|
|
||||||
}
|
|
||||||
if (tasto == K_F5)
|
|
||||||
{
|
|
||||||
f.packfile();
|
|
||||||
f.packindex();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
if (tasto == K_F6)
|
|
||||||
{
|
{
|
||||||
_rec = new TRec_sheet(logicnum, _mask->get(F_TAB));
|
error_box("Funzione non ammessa per l'utente %s", (const char*)user());
|
||||||
_rec->edit();
|
break;
|
||||||
delete _rec;
|
}
|
||||||
_rec = NULL;
|
case K_F7:
|
||||||
|
case K_ENTER:
|
||||||
|
{
|
||||||
|
strcpy (dep.SysName,_mask->get (FLD_NOME));
|
||||||
|
dep.EOD = atol(_mask->get (FLD_EOD));
|
||||||
|
dep.Flags = atol(_mask->get (FLD_FLAG));
|
||||||
|
strcpy (dep.Des,_mask->get (FLD_DESC));
|
||||||
|
strcpy (dep.FCalc,_mask->get (FLD_FORMULA));
|
||||||
|
const TRecnotype eox = atol(_mask->get(FLD_EOX));
|
||||||
|
|
||||||
|
_browse->dir()->get(logicnum, _lock, _nordir, _sysdirop);
|
||||||
|
_browse->dir()->set(dep.SysName, dep.EOD, dep.Flags,
|
||||||
|
dep.Des, dep.FCalc);
|
||||||
|
_browse->dir()->put(logicnum, _nordir, _sysdirop);
|
||||||
|
|
||||||
|
{
|
||||||
|
TSystemisamfile f(logicnum);
|
||||||
|
|
||||||
|
if (eox != oldeox)
|
||||||
|
{
|
||||||
|
d.get(logicnum);
|
||||||
|
if (!fexist(d.name())) f.build(eox);
|
||||||
|
else f.extend(eox);
|
||||||
|
_browse->dir()->get(logicnum, _nolock, _nordir, _sysdirop);
|
||||||
|
}
|
||||||
|
if (tasto == K_F5)
|
||||||
|
{
|
||||||
|
f.packfile();
|
||||||
|
f.packindex();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (tasto == K_F7)
|
if (tasto == K_F6)
|
||||||
{
|
{
|
||||||
TMask m("ba1100b");
|
_rec = new TRec_sheet(logicnum, _mask->get(F_TAB));
|
||||||
|
_rec->edit();
|
||||||
TFilename nout(dumpfilename(dep));
|
delete _rec;
|
||||||
m.set(FLD_OUTFILE, nout);
|
_rec = NULL;
|
||||||
|
|
||||||
if (m.run() == K_ENTER)
|
|
||||||
{
|
|
||||||
nout = m.get(FLD_OUTFILE);
|
|
||||||
if (nout.not_empty())
|
|
||||||
{
|
|
||||||
const char fs = *esc(m.get(FLD_FS));
|
|
||||||
const char fd = *esc(m.get(FLD_FD));
|
|
||||||
const char rs = *esc(m.get(FLD_RS));
|
|
||||||
const bool withdel = m.get_bool(FLD_WITHDEL);
|
|
||||||
const int keyno = m.get_int(FLD_KEYNO);
|
|
||||||
f.dump(nout, keyno, fs, fd, rs, withdel);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (tasto == K_F8)
|
if (tasto == K_F7)
|
||||||
{
|
{
|
||||||
TMask m("ba1100c");
|
TMask m("ba1100b");
|
||||||
TFilename ninp(dumpfilename(dep));
|
|
||||||
m.set(FLD_INFILE, ninp);
|
TFilename nout(dumpfilename(dep));
|
||||||
|
m.set(FLD_OUTFILE, nout);
|
||||||
|
|
||||||
if (m.run() == K_ENTER)
|
if (m.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
char fs = *esc(m.get(FLD_FS));
|
nout = m.get(FLD_OUTFILE);
|
||||||
char fd = *esc(m.get(FLD_FD));
|
if (nout.not_empty())
|
||||||
char rs = *esc(m.get(FLD_RS));
|
{
|
||||||
ninp = m.get(FLD_INFILE);
|
const char fs = *esc(m.get(FLD_FS));
|
||||||
f.load(ninp, fs, fd, rs);
|
const char fd = *esc(m.get(FLD_FD));
|
||||||
|
const char rs = *esc(m.get(FLD_RS));
|
||||||
|
const bool withdel = m.get_bool(FLD_WITHDEL);
|
||||||
|
const int keyno = m.get_int(FLD_KEYNO);
|
||||||
|
f.dump(nout, keyno, fs, fd, rs, withdel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
}
|
if (tasto == K_F8)
|
||||||
break;
|
{
|
||||||
default:
|
TMask m("ba1100c");
|
||||||
break;
|
TFilename ninp(dumpfilename(dep));
|
||||||
}
|
m.set(FLD_INFILE, ninp);
|
||||||
|
if (m.run() == K_ENTER)
|
||||||
|
{
|
||||||
|
char fs = *esc(m.get(FLD_FS));
|
||||||
|
char fd = *esc(m.get(FLD_FD));
|
||||||
|
char rs = *esc(m.get(FLD_RS));
|
||||||
|
ninp = m.get(FLD_INFILE);
|
||||||
|
f.load(ninp, fs, fd, rs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TManutenzione_app::delete_riga ()
|
void TManutenzione_app::delete_riga ()
|
||||||
@ -648,8 +664,22 @@ void TManutenzione_app::convert_dir()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TManutenzione_app::update()
|
void TManutenzione_app::update()
|
||||||
|
|
||||||
{
|
{
|
||||||
|
TIsamfile utenti(LF_USER, FALSE);
|
||||||
|
utenti.open(_excllock);
|
||||||
|
|
||||||
|
for (int err = utenti.first(); err == NOERR; err = utenti.next())
|
||||||
|
{
|
||||||
|
const TString16 u = utenti.get("USERNAME");
|
||||||
|
if (u != "PRASSI" && utenti.get_bool("CONNECTED"))
|
||||||
|
{
|
||||||
|
error_box("La conversione non puo' essere effettuata\n"
|
||||||
|
"se ci sono utenti collegati: %s", (const char*)u);
|
||||||
|
utenti.close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
long firm = get_firm();
|
long firm = get_firm();
|
||||||
TString pref;
|
TString pref;
|
||||||
if (firm == 0) pref = prefix().name();
|
if (firm == 0) pref = prefix().name();
|
||||||
@ -691,6 +721,7 @@ void TManutenzione_app::update()
|
|||||||
if (firm > 0) set_firm(firm);
|
if (firm > 0) set_firm(firm);
|
||||||
else prefix().set(pref);
|
else prefix().set(pref);
|
||||||
|
|
||||||
|
utenti.close();
|
||||||
end_wait();
|
end_wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -707,7 +738,15 @@ bool TManutenzione_app::menu(MENU_TAG m)
|
|||||||
|
|
||||||
disable_menu_item(M_FILE_NEW);
|
disable_menu_item(M_FILE_NEW);
|
||||||
|
|
||||||
switch (_browse->run())
|
KEY key = _browse->run();
|
||||||
|
|
||||||
|
if (key != K_ENTER && key != K_ESC && user() != "PRASSI")
|
||||||
|
{
|
||||||
|
error_box("Operazione non permessa all'utente %s", (const char*)user());
|
||||||
|
key = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (key)
|
||||||
{
|
{
|
||||||
case K_F6:
|
case K_F6:
|
||||||
riga_selezionata = _browse->selected();
|
riga_selezionata = _browse->selected();
|
||||||
@ -724,8 +763,9 @@ bool TManutenzione_app::menu(MENU_TAG m)
|
|||||||
case K_DEL: delete_riga(); break;
|
case K_DEL: delete_riga(); break;
|
||||||
|
|
||||||
case K_ESC: done = TRUE; break;
|
case K_ESC: done = TRUE; break;
|
||||||
|
|
||||||
case K_F7: update(); break;
|
case K_F7:
|
||||||
|
update(); break;
|
||||||
|
|
||||||
case K_F8:
|
case K_F8:
|
||||||
_browse->add();
|
_browse->add();
|
||||||
|
@ -22,12 +22,12 @@ class TDir_sheet : public TSheet
|
|||||||
FileDes _s_dir;
|
FileDes _s_dir;
|
||||||
long _items;
|
long _items;
|
||||||
|
|
||||||
protected: set_firm();
|
protected:
|
||||||
|
virtual void page_build(long first, byte rows);
|
||||||
void page_build(long first, byte rows);
|
virtual bool on_key(KEY k);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TDir_sheet(const char* title,const char* columns="N.@5|Nome@20|EOD@7|EOX@7|Lung. |Descrizione@43|Formula@33|Flags@7",byte buttons=0xC);
|
TDir_sheet(const char* title,byte buttons=0x8,const char* col = "N.@5|Nome@20|EOD@7|EOX@7|Lung. |Descrizione@43|Formula@33|Flags@7");
|
||||||
~TDir_sheet();
|
~TDir_sheet();
|
||||||
TDir* dir() const { return _dir; }
|
TDir* dir() const { return _dir; }
|
||||||
TTrec* rec() const { return _rec; }
|
TTrec* rec() const { return _rec; }
|
||||||
|
@ -1,117 +1,136 @@
|
|||||||
#include <defmask.h>
|
#include <defmask.h>
|
||||||
#include <tokens.h>
|
#include <tokens.h>
|
||||||
|
|
||||||
#include "ba1100a.h"
|
#include "ba1100a.h"
|
||||||
|
|
||||||
PAGE "Modifica Archivio" -1 -1 70 15
|
PAGE "Modifica Archivio" -1 -1 70 15
|
||||||
|
|
||||||
NUMBER FLD_NUM 4
|
NUMBER FLD_NUM 4
|
||||||
BEGIN
|
BEGIN
|
||||||
FLAGS "RD"
|
FLAGS "RD"
|
||||||
PROMPT 2 1 "Numero "
|
PROMPT 2 1 "Numero "
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING FLD_NOME 43
|
STRING FLD_NOME 43
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 "Nome "
|
PROMPT 2 2 "Nome "
|
||||||
HELP "Nome del file"
|
HELP "Nome del file"
|
||||||
|
FLAGS "D"
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING FLD_DESC 43
|
STRING FLD_DESC 43
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 3 "Descrizione "
|
PROMPT 2 3 "Descrizione "
|
||||||
HELP "Descrizione assegnata al file"
|
HELP "Descrizione assegnata al file"
|
||||||
|
FLAGS "D"
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING FLD_FORMULA 43
|
STRING FLD_FORMULA 43
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 4 "Formula "
|
PROMPT 2 4 "Formula "
|
||||||
HELP "Formula per il calcolo su file"
|
HELP "Formula per il calcolo su file"
|
||||||
|
FLAGS "D"
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER FLD_EOD 7
|
NUMBER FLD_EOD 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 5 "Record usati "
|
PROMPT 2 5 "Record usati "
|
||||||
HELP "Numero di record utilizzati"
|
HELP "Numero di record utilizzati"
|
||||||
WARNING "Numero di record errato"
|
WARNING "Numero di record errato"
|
||||||
NUM_EXPR {(#THIS_FIELD>=0) && (#THIS_FIELD<=#FLD_EOX)}
|
NUM_EXPR {(#THIS_FIELD>=0) && (#THIS_FIELD<=#FLD_EOX)}
|
||||||
FLAGS "R"
|
FLAGS "DR"
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN FLD_EXTEND
|
BOOLEAN FLD_EXTEND
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 6 "Cambia dimensione"
|
PROMPT 2 6 "Cambia dimensione"
|
||||||
HELP "Indicare se si desidera cambiare la dimensione del file"
|
HELP "Indicare se si desidera cambiare la dimensione del file"
|
||||||
MESSAGE FALSE DISABLE,FLD_EOX|UNDO,FLD_EOX
|
MESSAGE FALSE DISABLE,FLD_EOX|UNDO,FLD_EOX
|
||||||
MESSAGE TRUE ENABLE,FLD_EOX
|
MESSAGE TRUE ENABLE,FLD_EOX
|
||||||
|
FLAGS "D"
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER FLD_EOX 7
|
NUMBER FLD_EOX 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 6 "Dimensione "
|
PROMPT 30 6 "Dimensione "
|
||||||
HELP "Dimensione da assegnare al file"
|
HELP "Dimensione da assegnare al file"
|
||||||
WARNING "Dimensione non corretta"
|
WARNING "Dimensione non corretta"
|
||||||
NUM_EXPR {#THIS_FIELD>=#FLD_EOD}
|
NUM_EXPR {#THIS_FIELD>=#FLD_EOD}
|
||||||
FLAGS "RD"
|
FLAGS "DR"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER FLD_FLAG 7
|
NUMBER FLD_FLAG 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "Flags "
|
PROMPT 2 7 "Flags "
|
||||||
HELP "Flags del file"
|
HELP "Flags del file"
|
||||||
FLAGS "R"
|
FLAGS "DR"
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_LEN 7
|
NUMBER F_LEN 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 7 "Lunghezza "
|
PROMPT 30 7 "Lunghezza "
|
||||||
FLAGS "RD"
|
FLAGS "RD"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_TAB 3
|
STRING F_TAB 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 9 "Tabella "
|
PROMPT 2 9 "Tabella "
|
||||||
FLAGS "U"
|
FLAGS "DU"
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_OK 9 2
|
BUTTON DLG_OK 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -14 -3 ""
|
PROMPT -14 -3 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_CANCEL 9 2
|
BUTTON DLG_CANCEL 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -24 -3 ""
|
PROMPT -24 -3 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_PACK 9 2
|
BUTTON DLG_PACK 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -34 -3 "Compatta"
|
PROMPT -34 -3 "Compatta"
|
||||||
MESSAGE EXIT,K_F5
|
MESSAGE EXIT,K_F5
|
||||||
|
FLAGS "D"
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_RECORD 9 2
|
BUTTON DLG_RECORD 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -44 -3 "Record"
|
PROMPT -44 -3 "Record"
|
||||||
MESSAGE EXIT,K_F6
|
MESSAGE EXIT,K_F6
|
||||||
|
FLAGS "D"
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_DUMP 9 2
|
BUTTON DLG_DUMP 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -14 -1 "Scarica"
|
PROMPT -14 -1 "Scarica"
|
||||||
MESSAGE EXIT,K_F7
|
MESSAGE EXIT,K_F7
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_LOAD 9 2
|
BUTTON DLG_LOAD 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -24 -1 "Carica"
|
PROMPT -24 -1 "Carica"
|
||||||
MESSAGE EXIT,K_F8
|
MESSAGE EXIT,K_F8
|
||||||
|
FLAGS "D"
|
||||||
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_EDIT 9 2
|
BUTTON DLG_EDIT 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -34 -1 "Modifica"
|
PROMPT -34 -1 "Modifica"
|
||||||
MESSAGE EXIT,K_F4
|
MESSAGE EXIT,K_F4
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
@ -59,14 +59,14 @@ BEGIN
|
|||||||
HELP "Carattere delimitatore di record"
|
HELP "Carattere delimitatore di record"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_OK 9 2
|
BUTTON DLG_OK 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -14 -1 ""
|
PROMPT -12 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_CANCEL 9 2
|
BUTTON DLG_CANCEL 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -24 -1 ""
|
PROMPT -22 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
@ -36,11 +36,13 @@ void TDir_sheet::add ()
|
|||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
TDir_sheet::TDir_sheet(const char* title, const char * columns, byte buttons)
|
TDir_sheet::TDir_sheet(const char* title, byte buttons, const char* colonne)
|
||||||
:TSheet(-1,-1, 0, 0, title,columns,buttons)
|
:TSheet(-1,-1, 0, 0, title, colonne, buttons)
|
||||||
{
|
{
|
||||||
_dir = new TDir;
|
_dir = new TDir;
|
||||||
_rec = new TTrec;
|
_rec = new TTrec;
|
||||||
|
|
||||||
|
maximize();
|
||||||
rebuild();
|
rebuild();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,6 +52,26 @@ TDir_sheet::~TDir_sheet()
|
|||||||
delete _rec;
|
delete _rec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool TDir_sheet::on_key(KEY key)
|
||||||
|
{
|
||||||
|
if (key > K_CTRL)
|
||||||
|
switch (key-K_CTRL)
|
||||||
|
{
|
||||||
|
case 'A':
|
||||||
|
key = K_F8; break;
|
||||||
|
case 'C':
|
||||||
|
key = K_F7; break;
|
||||||
|
case 'E':
|
||||||
|
key = K_DEL; break;
|
||||||
|
case 'I':
|
||||||
|
key = K_INS; break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return TSheet::on_key(key);
|
||||||
|
}
|
||||||
|
|
||||||
void TDir_sheet::page_build(long first, byte rows)
|
void TDir_sheet::page_build(long first, byte rows)
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
#include <relation.h>
|
|
||||||
#include <mask.h>
|
|
||||||
#include <sheet.h>
|
|
||||||
#include <progind.h>
|
|
||||||
#include <defmask.h>
|
#include <defmask.h>
|
||||||
|
#include <mask.h>
|
||||||
|
#include <relation.h>
|
||||||
|
#include <prefix.h>
|
||||||
|
#include <progind.h>
|
||||||
|
#include <sheet.h>
|
||||||
|
|
||||||
#include "ba1100.h"
|
#include "ba1100.h"
|
||||||
|
|
||||||
@ -34,12 +35,20 @@ bool TEdit_file::browse(int logicnum, const char* name)
|
|||||||
if (t == _realfld || t == _intfld || t == _longfld || t == _wordfld || t == _realfld)
|
if (t == _realfld || t == _intfld || t == _longfld || t == _wordfld || t == _realfld)
|
||||||
head << 'R';
|
head << 'R';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const bool superprassi = user() == "PRASSI";
|
||||||
|
|
||||||
KEY ch;
|
KEY ch;
|
||||||
TCursor_sheet sheet(&cursor, trac, name, head, 6);
|
TCursor_sheet sheet(&cursor, trac, name, head, superprassi ? 6 : 0);
|
||||||
|
|
||||||
while ((ch = sheet.run()) != K_ESC)
|
while ((ch = sheet.run()) != K_ESC)
|
||||||
{
|
{
|
||||||
|
if (!superprassi)
|
||||||
|
{
|
||||||
|
error_box("Funzione non ammessa per l'utente %s", (const char*)user());
|
||||||
|
ch = K_ESC;
|
||||||
|
}
|
||||||
|
|
||||||
if (ch == K_DEL && sheet.one_checked())
|
if (ch == K_DEL && sheet.one_checked())
|
||||||
{
|
{
|
||||||
TProgind* pind = NULL;
|
TProgind* pind = NULL;
|
||||||
@ -52,8 +61,7 @@ bool TEdit_file::browse(int logicnum, const char* name)
|
|||||||
if (sheet.checked(j))
|
if (sheet.checked(j))
|
||||||
{
|
{
|
||||||
if (!go && !first)
|
if (!go && !first)
|
||||||
go = yesno_box("Confermi la cancellazione dei %d "
|
go = yesno_box("Si desidera cancellare i %d record indicati?", sheet.checked());
|
||||||
"record indicati?", sheet.checked());
|
|
||||||
first = TRUE;
|
first = TRUE;
|
||||||
|
|
||||||
if (!pind)
|
if (!pind)
|
||||||
@ -110,6 +118,8 @@ bool TEdit_file::browse(int logicnum, const char* name)
|
|||||||
if (edit_record(curr,FALSE) == K_ENTER)
|
if (edit_record(curr,FALSE) == K_ENTER)
|
||||||
cursor.file().write();
|
cursor.file().write();
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
sheet.force_update();
|
sheet.force_update();
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ class TTestSheet : public TDir_sheet
|
|||||||
protected:
|
protected:
|
||||||
void page_build(long first, byte rows);
|
void page_build(long first, byte rows);
|
||||||
public:
|
public:
|
||||||
TTestSheet(const char* titolo, const char* colonne="@1|N.@5|Nome@20|EOD@7|EOX@7|Lung. |Descrizione@43|Flags@7", byte bottoni=0x0);
|
TTestSheet(const char* titolo, byte bottoni = 0x0);
|
||||||
~TTestSheet() ;
|
~TTestSheet() ;
|
||||||
void sr_status(bool save=TRUE);
|
void sr_status(bool save=TRUE);
|
||||||
};
|
};
|
||||||
|
@ -22,8 +22,8 @@ extern "C" {
|
|||||||
void cgettime(char *);
|
void cgettime(char *);
|
||||||
}
|
}
|
||||||
|
|
||||||
TTestSheet::TTestSheet(const char* titolo, const char* colonne,byte bottoni)
|
TTestSheet::TTestSheet(const char* titolo, byte bottoni)
|
||||||
:TDir_sheet(titolo, colonne, bottoni)
|
:TDir_sheet(titolo, bottoni, "@1|N.@5|Nome@20|EOD@7|EOX@7|Lung. |Descrizione@43|Flags@7")
|
||||||
{}
|
{}
|
||||||
|
|
||||||
TTestSheet::~TTestSheet()
|
TTestSheet::~TTestSheet()
|
||||||
|
@ -28,6 +28,8 @@ int main(int argc, char** argv)
|
|||||||
rt = ba3700(argc,argv) ; break;
|
rt = ba3700(argc,argv) ; break;
|
||||||
case 7:
|
case 7:
|
||||||
rt = ba3800(argc,argv) ; break;
|
rt = ba3800(argc,argv) ; break;
|
||||||
|
case 8:
|
||||||
|
rt = ba3900(argc,argv) ; break;
|
||||||
default:
|
default:
|
||||||
error_box(usage, argv[0]) ; break;
|
error_box(usage, argv[0]) ; break;
|
||||||
}
|
}
|
||||||
|
1
ba/ba3.h
1
ba/ba3.h
@ -9,5 +9,6 @@ int ba3500(int argc, char* argv[]);
|
|||||||
int ba3600(int argc, char* argv[]);
|
int ba3600(int argc, char* argv[]);
|
||||||
int ba3700(int argc, char* argv[]);
|
int ba3700(int argc, char* argv[]);
|
||||||
int ba3800(int argc, char* argv[]);
|
int ba3800(int argc, char* argv[]);
|
||||||
|
int ba3900(int argc, char* argv[]);
|
||||||
|
|
||||||
#endif // __BA3_H
|
#endif // __BA3_H
|
||||||
|
@ -53,3 +53,12 @@ MENUBAR MENU_BAR(7)
|
|||||||
MENU MENU_BAR(7)
|
MENU MENU_BAR(7)
|
||||||
SUBMENU MENU_FILE "~File"
|
SUBMENU MENU_FILE "~File"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ba3 -8
|
||||||
|
*/
|
||||||
|
|
||||||
|
MENUBAR MENU_BAR(8)
|
||||||
|
|
||||||
|
MENU MENU_BAR(8)
|
||||||
|
SUBMENU MENU_FILE "~File"
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
#include "batbban.h"
|
#include "batbban.h"
|
||||||
|
|
||||||
TOOLBAR "" 0 18 0 3
|
TOOLBAR "" 0 18 0 3
|
||||||
|
/*
|
||||||
BUTTON DLG_NULL 8
|
BUTTON DLG_NULL 8
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -16 -3 "~Delega"
|
PROMPT -16 -3 "~Delega"
|
||||||
MESSAGE RUN,ba2,-0,del#F_CODICEABI
|
MESSAGE RUN,ba2,-0,del#F_CODICEABI
|
||||||
END
|
END
|
||||||
|
*/
|
||||||
#include <toolbar.h>
|
#include <toolbar.h>
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
@ -42,14 +42,17 @@ BEGIN
|
|||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
FIELD NUMREG
|
FIELD NUMREG
|
||||||
USE LF_INDLIB
|
USE LF_INDLIB
|
||||||
JOIN %LBU INTO CODTAB=ANNO+CODLIB
|
// JOIN %LBU INTO CODTAB=ANNO+CODLIB
|
||||||
INPUT ANNO F_ANNO
|
INPUT ANNO F_ANNO
|
||||||
INPUT CODLIB F_CODLIB
|
INPUT CODLIB F_CODLIB
|
||||||
INPUT NUMREG F_INDEX
|
INPUT NUMREG F_INDEX
|
||||||
DISPLAY "Anno" ANNO
|
DISPLAY "Anno" ANNO
|
||||||
DISPLAY "Codice Libro Unico" CODLIB
|
DISPLAY "Codice Libro Unico" CODLIB
|
||||||
|
// DISPLAY "Descrizione@50" %LBU->S0
|
||||||
DISPLAY "Indice@7" NUMREG
|
DISPLAY "Indice@7" NUMREG
|
||||||
DISPLAY "Descrizione@50" %LBU->S0
|
DISPLAY "Ditta" CODDITTA
|
||||||
|
DISPLAY "Mese" MESEREG
|
||||||
|
DISPLAY "Registro" CODREG
|
||||||
OUTPUT F_ANNO ANNO
|
OUTPUT F_ANNO ANNO
|
||||||
OUTPUT F_CODLIB CODLIB
|
OUTPUT F_CODLIB CODLIB
|
||||||
OUTPUT F_INDEX NUMREG
|
OUTPUT F_INDEX NUMREG
|
||||||
|
@ -101,7 +101,7 @@ BEGIN
|
|||||||
HELP "Codice del libro sociale a cui fa riferimento il registro"
|
HELP "Codice del libro sociale a cui fa riferimento il registro"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_TIPO 26
|
LIST F_TIPO 1 26
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 5 "Tipo "
|
PROMPT 30 5 "Tipo "
|
||||||
HELP "Tipo di registro"
|
HELP "Tipo di registro"
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
8|IV direttiva CEE|ba3 -7 D
|
8|IV direttiva CEE|ba3 -7 D
|
||||||
9|Prima nota|2|7
|
9|Prima nota|2|7
|
||||||
9|Prima nota|cg2 -0
|
9|Prima nota|cg2 -0
|
||||||
9|Elimina movimenti provvisori|cg2 -1
|
9|Gestione movimenti provvisori|cg2 -1
|
||||||
9|IVA|10|5
|
9|IVA|10|5
|
||||||
9|Lista movimenti|cg3 -0
|
9|Lista movimenti|cg3 -0
|
||||||
9|Stampa Mastrini|cg3 -1
|
9|Stampa Mastrini|cg3 -1
|
||||||
@ -103,6 +103,8 @@
|
|||||||
10|IVA|2|5
|
10|IVA|2|5
|
||||||
10|Parametri liquidazione|cg5 -3
|
10|Parametri liquidazione|cg5 -3
|
||||||
10|Liquidazione|cg4 -2
|
10|Liquidazione|cg4 -2
|
||||||
|
10|Estrazione deleghe|cg4 -2 -D
|
||||||
|
10|Calcolo acconti|cg4 -2 -A
|
||||||
10|Visualizzazione liquidazione|cg5 -5
|
10|Visualizzazione liquidazione|cg5 -5
|
||||||
10|Deleghe|ba3 -0 %del
|
10|Deleghe|ba3 -0 %del
|
||||||
10|Stampa deleghe|cg1 -3
|
10|Stampa deleghe|cg1 -3
|
||||||
@ -129,7 +131,7 @@
|
|||||||
13|Servizio|16|7
|
13|Servizio|16|7
|
||||||
14|Gestione libro unico|2|7
|
14|Gestione libro unico|2|7
|
||||||
14|Gestione libro unico|ba3 -0 %lbu
|
14|Gestione libro unico|ba3 -0 %lbu
|
||||||
14|Gestione indici libro unico|ba3 -0 %inl
|
14|Gestione indici libro unico|ba3 -8
|
||||||
14|Tabella vidimazioni|ba3 -0 %vid
|
14|Tabella vidimazioni|ba3 -0 %vid
|
||||||
14|Stampa indici libro unico|ba3 -5
|
14|Stampa indici libro unico|ba3 -5
|
||||||
14|Ripristino indici libro unico|cg5 -4 inl
|
14|Ripristino indici libro unico|cg5 -4 inl
|
||||||
|
Loading…
x
Reference in New Issue
Block a user