corretto errore MI6148, MI2220
git-svn-id: svn://10.65.10.50/trunk@4095 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ed494477fb
commit
12e7b7a43f
626
ba/ba3300.cpp
626
ba/ba3300.cpp
@ -1,303 +1,323 @@
|
||||
#include <mask.h>
|
||||
#include <printapp.h>
|
||||
#include <tabutil.h>
|
||||
#include <progind.h>
|
||||
|
||||
#include "ba3.h"
|
||||
#include "ba3300.h"
|
||||
|
||||
class BA3300_application : public TPrintapp
|
||||
{
|
||||
friend bool codice_handler(TMask_field& field, KEY key);
|
||||
|
||||
TMask* _msk;
|
||||
TTable* _tab; // Tabella dei registri
|
||||
TString _cod_reg, _comulc, _ragsoc, _indulc, _civulc, _capulc, _com, _prov, _cofi, _paiv;
|
||||
TString80 _descr;
|
||||
TProgind *_p;
|
||||
long _codice_ditta, _agg;
|
||||
long _num_pag, _pag_ini, _pag_fin;
|
||||
int _cod_anno;
|
||||
bool _inizia_dopo;
|
||||
TLocalisamfile* _nditte;
|
||||
TLocalisamfile* _anag;
|
||||
TLocalisamfile* _unloc;
|
||||
TLocalisamfile* _comuni;
|
||||
|
||||
protected:
|
||||
|
||||
bool menu (MENU_TAG m) { return TPrintapp::menu(m) ; }
|
||||
virtual bool user_destroy();
|
||||
virtual bool user_create() ;
|
||||
virtual void on_firm_change();
|
||||
bool set_print(int);
|
||||
|
||||
const char* decodifica_reg ();
|
||||
|
||||
virtual void set_page (int, int);
|
||||
virtual print_action postprocess_page (int, int);
|
||||
virtual bool preprocess_print(int, int);
|
||||
virtual print_action postprocess_print(int, int);
|
||||
|
||||
public:
|
||||
BA3300_application() : _p(NULL) {}
|
||||
~BA3300_application() {}
|
||||
};
|
||||
|
||||
print_action BA3300_application::postprocess_page(int, int counter)
|
||||
{
|
||||
if (counter == _num_pag - 1)
|
||||
{
|
||||
TString16 dep; dep.format("%04d%-3s", _cod_anno, (const char*)_cod_reg);
|
||||
_tab->curr().put("CODTAB", (const char*)dep);
|
||||
_tab->read();
|
||||
if (_tab->good())
|
||||
{
|
||||
// _agg = _tab->curr().get_long("I2");
|
||||
// _agg = _agg + _num_pag;
|
||||
_tab->put("I2", _pag_fin);
|
||||
_tab->rewrite();
|
||||
}
|
||||
return NEXT_PAGE;
|
||||
}
|
||||
|
||||
return REPEAT_PAGE;
|
||||
}
|
||||
|
||||
bool BA3300_application::preprocess_print(int, int)
|
||||
{
|
||||
_p = new TProgind(_pag_fin - _pag_ini +1, "Preparazione stampa", FALSE, TRUE, 60);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
print_action BA3300_application::postprocess_print(int, int)
|
||||
{
|
||||
if (_p != NULL)
|
||||
{
|
||||
delete _p;
|
||||
_p = NULL;
|
||||
}
|
||||
return NEXT_PAGE;
|
||||
}
|
||||
|
||||
void BA3300_application::set_page(int , int counter)
|
||||
{
|
||||
reset_print();
|
||||
_p->addstatus(1);
|
||||
|
||||
long contatore = _pag_ini + counter;
|
||||
|
||||
if (_inizia_dopo) contatore--;
|
||||
reset_row(1);
|
||||
reset_row(2);
|
||||
reset_row(3);
|
||||
reset_row(4);
|
||||
reset_row(5);
|
||||
reset_row(6);
|
||||
reset_row(7);
|
||||
reset_row(8);
|
||||
reset_row(9);
|
||||
if (counter == 0)
|
||||
{
|
||||
if (!_inizia_dopo)
|
||||
set_row(3, "@120gPag. %ld", contatore);
|
||||
int pos = printer().formlen() / 2 - 3;
|
||||
set_row (pos++, "@36g%-50s", (const char*) _descr);
|
||||
set_row (pos++, "@36g%-50s", (const char*)_ragsoc);
|
||||
TString s(_indulc);
|
||||
|
||||
s << " " << _civulc ;
|
||||
set_row (pos++, "@36g%-52s", (const char*) s);
|
||||
s = _capulc;
|
||||
s << " " << _com << " " << _prov;
|
||||
set_row (pos++, "@36g%-62s", (const char*) s);
|
||||
set_row (pos++, "@36gCODICE FISCALE %-16s", (const char*)_cofi);
|
||||
set_row (pos, "@36gPARTITA I.V.A. %-11s", (const char*)_paiv);
|
||||
|
||||
}
|
||||
else if (counter == _num_pag - 1)
|
||||
{
|
||||
set_row (1, "@1g%-50s", (const char*) _ragsoc);
|
||||
TString s(_indulc);
|
||||
|
||||
s << " " << _civulc << " " << _capulc << " " << _com << " " << _prov;
|
||||
set_row (1, "@62g%-65s", (const char*) s);
|
||||
set_row (2, "@1g%-50s", (const char*) _descr);
|
||||
set_row (2, "@52gCODICE FISCALE %-16s", (const char*) _cofi);
|
||||
set_row (2, "@85gPARTITA I.V.A. %-11s", (const char*) _paiv);
|
||||
set_row (2, "@120gPag. %ld", contatore);
|
||||
set_row (25, "@50gN. ........ DI REPERTORIO");
|
||||
set_row (27, "@50gIL PRESENTE LIBRO DELLA@75g%-50s", (const char*) _ragsoc);
|
||||
|
||||
s = _indulc;
|
||||
s << " " << _civulc;
|
||||
set_row (29, "@50g%-52s", (const char*) s);
|
||||
s = _capulc;
|
||||
s << " " << _com << " " << _prov;
|
||||
set_row (31, "@50g%-62s", (const char*) s);
|
||||
set_row (33, "@50gCONSTA DI %ld PAGINE UTILI, BOLLATE E NUMERATE", _num_pag - (_inizia_dopo ? 1 : 0));
|
||||
set_row (35, "@50gE VIENE OGGI VIDIMATO, il .........");
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row (1, "@1g%-50s", (const char*) _ragsoc);
|
||||
TString s(_indulc);
|
||||
|
||||
s << " " << _civulc << " " << _capulc << " " << _com << " " << _prov;
|
||||
set_row (1, "@52g%-68s", (const char*) s);
|
||||
set_row (2, "@1g%-50s", (const char*) _descr);
|
||||
set_row (2, "@52gCODICE FISCALE %-16s", (const char*) _cofi);
|
||||
set_row (2, "@85gPARTITA I.V.A. %-11s", (const char*) _paiv);
|
||||
set_row (2, "@120gPag. %ld", contatore);
|
||||
}
|
||||
}
|
||||
|
||||
void BA3300_application::on_firm_change()
|
||||
|
||||
{
|
||||
TPrintapp::on_firm_change();
|
||||
|
||||
if (_msk == NULL) return;
|
||||
_msk->reset();
|
||||
_nditte->setkey(1);
|
||||
_codice_ditta = get_firm();
|
||||
_nditte->curr().zero();
|
||||
_nditte->curr().put(N_CODDITTA,_codice_ditta);
|
||||
_nditte->read();
|
||||
if (_nditte->bad())
|
||||
return;
|
||||
|
||||
_msk->set(F_CODDITTA, _codice_ditta);
|
||||
_ragsoc="SOCIETA' ";
|
||||
_ragsoc << _nditte->curr().get(N_RAGSOC);
|
||||
const TString16 tipoa =_nditte->curr().get(N_TIPOA);
|
||||
const long codanagr =atol(_nditte->curr().get(N_CODANAGR));
|
||||
_msk->set(F_RAGSOC,_ragsoc);
|
||||
|
||||
_unloc->setkey(1);
|
||||
_unloc->curr().zero();
|
||||
_unloc->curr().put(N_CODDITTA, _codice_ditta);
|
||||
_unloc->curr().put(N_CODULC,"1");
|
||||
_unloc->read();
|
||||
_indulc=_unloc->curr().get(N_INDULC);
|
||||
_msk->set(F_INDIRIZZO,_indulc);
|
||||
_civulc=_unloc->curr().get(N_CIVULC);
|
||||
_msk->set(F_CIV,_civulc);
|
||||
_capulc=_unloc->curr().get(N_CAPULC);
|
||||
_msk->set(F_CAP,_capulc);
|
||||
_comulc=_unloc->curr().get(N_COMULC);
|
||||
_msk->set(F_CODCOM,_comulc);
|
||||
|
||||
_comuni->setkey(1);
|
||||
_comuni->curr().zero();
|
||||
_comuni->curr().put(N_CODCOM,_comulc);
|
||||
_comuni->read();
|
||||
_com=_comuni->curr().get(N_COM);
|
||||
_msk->set(F_COM,_com);
|
||||
_prov=_comuni->curr().get(N_PROV);
|
||||
_msk->set(F_PROV,_prov);
|
||||
|
||||
_anag->setkey(1);
|
||||
_anag->curr().zero();
|
||||
_anag->curr().put(N_TIPOA,tipoa);
|
||||
_anag->curr().put(N_CODANAGR,codanagr);
|
||||
_anag->read();
|
||||
_cofi=_anag->curr().get(N_COFI);
|
||||
_msk->set(F_COFI,_cofi);
|
||||
_paiv=_anag->curr().get(N_PAIV);
|
||||
_msk->set(F_PAIV,_paiv);
|
||||
_msk->set(F_LUNG,66);
|
||||
}
|
||||
|
||||
bool BA3300_application::set_print(int)
|
||||
{
|
||||
//on_firm_change();
|
||||
if (_msk->run() == K_ENTER)
|
||||
{
|
||||
printer().formlen(_msk->get_int(F_LUNG));
|
||||
_cod_reg = _msk->get(F_CODICE);
|
||||
_cod_anno = _msk->get_int(F_ANNO);
|
||||
_pag_ini = _msk->get_long(F_NPAGINI);
|
||||
_pag_fin = _msk->get_long(F_NPAGFI);
|
||||
_inizia_dopo = _msk->get_bool(F_PRIMO);
|
||||
_num_pag = (_pag_fin - _pag_ini) + 1;
|
||||
_ragsoc = _msk->get(F_RAGSOC);
|
||||
_indulc= _msk->get(F_INDIRIZZO);
|
||||
_civulc= _msk->get(F_CIV);
|
||||
_capulc= _msk->get(F_CAP);
|
||||
_comulc= _msk->get(F_CODCOM);
|
||||
_com= _msk->get(F_COM);
|
||||
_prov= _msk->get(F_PROV);
|
||||
_paiv = _msk->get(F_PAIV);
|
||||
_cofi = _msk->get(F_COFI);
|
||||
_descr = decodifica_reg();
|
||||
if (_inizia_dopo) _num_pag++;
|
||||
enable_print_menu();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool codice_handler (TMask_field& field, KEY key)
|
||||
{
|
||||
if (key == K_TAB && field.focusdirty())
|
||||
{
|
||||
const TEdit_field& e = (const TEdit_field&)field;
|
||||
// const TLocalisamfile& t = e.browse()->cursor()->file();
|
||||
// const long num = t.get_long("I2");
|
||||
field.mask().set(F_NPAGINI, 0L);
|
||||
field.mask().set(F_NPAGFI, 0L);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
const char* BA3300_application::decodifica_reg ()
|
||||
{
|
||||
TString16 dep; dep.format("%04d%-3s", _cod_anno, (const char*)_cod_reg);
|
||||
|
||||
_tab->curr().put("CODTAB", (const char*)dep);
|
||||
_tab->read();
|
||||
if (_tab->bad()) _tab->curr().zero();
|
||||
return _tab->curr().get ("S0");
|
||||
}
|
||||
|
||||
bool BA3300_application::user_create()
|
||||
{
|
||||
_msk = NULL;
|
||||
if (get_firm() == 0L)
|
||||
if (!set_firm()) return FALSE;
|
||||
|
||||
enable_print_menu();
|
||||
_nditte = new TLocalisamfile (LF_NDITTE);
|
||||
_unloc = new TLocalisamfile (LF_UNLOC);
|
||||
_comuni = new TLocalisamfile (LF_COMUNI);
|
||||
_anag = new TLocalisamfile (LF_ANAG);
|
||||
_tab = new TTable(TAB_REG);
|
||||
|
||||
_msk = new TMask ("ba3300a") ;
|
||||
_msk->set_handler(F_CODICE, codice_handler);
|
||||
|
||||
add_cursor (NULL);
|
||||
set_auto_ff (TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool BA3300_application::user_destroy() // releasev e arrmask
|
||||
{
|
||||
delete _msk;
|
||||
delete _nditte;
|
||||
delete _unloc;
|
||||
delete _comuni;
|
||||
delete _anag;
|
||||
delete _tab;
|
||||
if (_p != NULL) delete _p;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int ba3300(int argc, char* argv[])
|
||||
{
|
||||
BA3300_application a;
|
||||
a.run(argc, argv, "Stampa fogli libro bollato");
|
||||
return 0;
|
||||
}
|
||||
#include <mask.h>
|
||||
#include <prefix.h>
|
||||
#include <printapp.h>
|
||||
#include <progind.h>
|
||||
#include <tabutil.h>
|
||||
|
||||
#include "ba3.h"
|
||||
#include "ba3300.h"
|
||||
|
||||
class Libribollati_print : public TPrintapp
|
||||
{
|
||||
friend bool registro_handler(TMask_field& field, KEY key);
|
||||
friend bool codditta_handler(TMask_field& field, KEY key);
|
||||
|
||||
TMask* _msk;
|
||||
TTable* _tab; // Tabella dei registri
|
||||
TProgind *_p;
|
||||
|
||||
TString _cod_reg, _comulc, _ragsoc, _indulc, _civulc;
|
||||
TString _capulc, _com, _prov, _cofi, _paiv;
|
||||
TString80 _descr;
|
||||
long _num_pag, _pag_ini, _pag_fin;
|
||||
int _cod_anno, _anno_stampa;
|
||||
bool _inizia_dopo;
|
||||
TLocalisamfile* _nditte;
|
||||
TLocalisamfile* _anag;
|
||||
TLocalisamfile* _unloc;
|
||||
TLocalisamfile* _comuni;
|
||||
|
||||
protected:
|
||||
|
||||
bool menu(MENU_TAG m) { return TPrintapp::menu(m) ; }
|
||||
virtual bool user_destroy();
|
||||
virtual bool user_create() ;
|
||||
bool set_print(int);
|
||||
|
||||
virtual void set_page(int, int);
|
||||
virtual print_action postprocess_page(int, int);
|
||||
virtual bool preprocess_print(int, int);
|
||||
virtual print_action postprocess_print(int, int);
|
||||
|
||||
public:
|
||||
Libribollati_print() : _p(NULL) {}
|
||||
~Libribollati_print() {}
|
||||
};
|
||||
|
||||
HIDDEN inline Libribollati_print& app() { return (Libribollati_print&) main_app(); }
|
||||
|
||||
print_action Libribollati_print::postprocess_page(int, int counter)
|
||||
{
|
||||
if (counter == _num_pag - 1)
|
||||
{
|
||||
TString16 dep; dep.format("%04d%-3s", _cod_anno, (const char*) _cod_reg);
|
||||
_tab->put("CODTAB", (const char*) dep);
|
||||
_tab->read();
|
||||
if (_tab->good())
|
||||
{
|
||||
_tab->put("I2", _pag_fin);
|
||||
_tab->rewrite();
|
||||
}
|
||||
return NEXT_PAGE;
|
||||
}
|
||||
return REPEAT_PAGE;
|
||||
}
|
||||
|
||||
bool Libribollati_print::preprocess_print(int, int)
|
||||
{
|
||||
_p = new TProgind(_pag_fin-_pag_ini+1, "Preparazione stampa", FALSE, TRUE, 60);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
print_action Libribollati_print::postprocess_print(int, int)
|
||||
{
|
||||
if (_p != NULL)
|
||||
{
|
||||
delete _p;
|
||||
_p = NULL;
|
||||
}
|
||||
return NEXT_PAGE;
|
||||
}
|
||||
|
||||
void Libribollati_print::set_page(int , int counter)
|
||||
{
|
||||
reset_print();
|
||||
_p->addstatus(1);
|
||||
|
||||
long contatore = _pag_ini + counter;
|
||||
|
||||
if (_inizia_dopo) contatore--;
|
||||
reset_row(1);
|
||||
reset_row(2);
|
||||
reset_row(3);
|
||||
reset_row(4);
|
||||
reset_row(5);
|
||||
reset_row(6);
|
||||
reset_row(7);
|
||||
reset_row(8);
|
||||
reset_row(9);
|
||||
if (counter == 0)
|
||||
{
|
||||
if (!_inizia_dopo)
|
||||
{
|
||||
if (_anno_stampa == 0)
|
||||
set_row(3, "@120gPag. %ld", contatore);
|
||||
else
|
||||
set_row(3, "@120gPag. %4d/%ld", _anno_stampa, contatore);
|
||||
}
|
||||
int pos = printer().formlen() / 2 - 3;
|
||||
set_row(pos++, "@36g%-50s", (const char*) _descr);
|
||||
set_row(pos++, "@36g%-50s", (const char*) _ragsoc);
|
||||
TString s(_indulc);
|
||||
|
||||
s << " " << _civulc ;
|
||||
set_row(pos++, "@36g%-52s", (const char*) s);
|
||||
s = _capulc;
|
||||
s << " " << _com << " " << _prov;
|
||||
set_row(pos++, "@36g%-62s", (const char*) s);
|
||||
set_row(pos++, "@36gCODICE FISCALE %-16s", (const char*)_cofi);
|
||||
set_row(pos, "@36gPARTITA I.V.A. %-11s", (const char*) _paiv);
|
||||
|
||||
}
|
||||
else if (counter == _num_pag - 1)
|
||||
{
|
||||
set_row(1, "@1g%-50s", (const char*) _ragsoc);
|
||||
TString s(_indulc);
|
||||
|
||||
s << " " << _civulc << " " << _capulc << " " << _com << " " << _prov;
|
||||
set_row(1, "@62g%-65s", (const char*) s);
|
||||
set_row(2, "@1g%-50s", (const char*) _descr);
|
||||
set_row(2, "@52gCODICE FISCALE %-16s", (const char*) _cofi);
|
||||
set_row(2, "@85gPARTITA I.V.A. %-11s", (const char*) _paiv);
|
||||
if (_anno_stampa == 0)
|
||||
set_row(2, "@120gPag. %ld", contatore);
|
||||
else
|
||||
set_row(2, "@120gPag. %4d/%ld", _anno_stampa, contatore);
|
||||
set_row(25, "@50gN. ........ DI REPERTORIO");
|
||||
set_row(27, "@50gIL PRESENTE LIBRO DELLA@75g%-50s", (const char*) _ragsoc);
|
||||
|
||||
s = _indulc;
|
||||
s << " " << _civulc;
|
||||
set_row(29, "@50g%-52s", (const char*) s);
|
||||
s = _capulc;
|
||||
s << " " << _com << " " << _prov;
|
||||
set_row(31, "@50g%-62s", (const char*) s);
|
||||
set_row(33, "@50gCONSTA DI %ld PAGINE UTILI, BOLLATE E NUMERATE", _num_pag - (_inizia_dopo ? 1 : 0));
|
||||
set_row(35, "@50gE VIENE OGGI VIDIMATO, il .........");
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row(1, "@1g%-50s", (const char*) _ragsoc);
|
||||
TString s(_indulc);
|
||||
|
||||
s << " " << _civulc << " " << _capulc << " " << _com << " " << _prov;
|
||||
set_row(1, "@52g%-68s1", (const char*) s);
|
||||
set_row(2, "@1g%-50s", (const char*) _descr);
|
||||
set_row(2, "@52gCODICE FISCALE %-16s", (const char*) _cofi);
|
||||
set_row(2, "@85gPARTITA I.V.A. %-11s", (const char*) _paiv);
|
||||
if (_anno_stampa == 0)
|
||||
set_row(2, "@120gPag. %ld", contatore);
|
||||
else
|
||||
set_row(2, "@120gPag. %4d/%ld", _anno_stampa, contatore);
|
||||
}
|
||||
}
|
||||
|
||||
bool Libribollati_print::set_print(int)
|
||||
{
|
||||
if (_msk->run() == K_ENTER)
|
||||
{
|
||||
TPrinter& pr = printer();
|
||||
//pr.formlen(_msk->get_int(F_LUNG));
|
||||
int font_size = pr.calc_font_size(132);
|
||||
if (font_size != pr.get_char_size())
|
||||
{
|
||||
warning_box("Il font e' stato ridimensionato a %d punti per\n"
|
||||
"adattarsi alle dimensioni attuali della pagina.", font_size);
|
||||
pr.set_char_size(font_size);
|
||||
}
|
||||
_cod_reg = _msk->get(F_CODICE);
|
||||
_cod_anno = _msk->get_int(F_ANNO);
|
||||
_pag_ini = _msk->get_long(F_NPAGINI);
|
||||
_pag_fin = _msk->get_long(F_NPAGFI);
|
||||
_inizia_dopo = _msk->get_bool(F_PRIMO);
|
||||
_num_pag = (_pag_fin - _pag_ini) + 1;
|
||||
_ragsoc = _msk->get(F_RAGSOC);
|
||||
_indulc = _msk->get(F_INDIRIZZO);
|
||||
_civulc = _msk->get(F_CIV);
|
||||
_capulc = _msk->get(F_CAP);
|
||||
_comulc = _msk->get(F_CODCOM);
|
||||
_com = _msk->get(F_COM);
|
||||
_prov = _msk->get(F_PROV);
|
||||
_paiv = _msk->get(F_PAIV);
|
||||
_cofi = _msk->get(F_COFI);
|
||||
_anno_stampa = _msk->get_int(F_ANNOSTAMPA);
|
||||
if (_inizia_dopo) _num_pag++;
|
||||
enable_print_menu();
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool registro_handler(TMask_field& field, KEY key)
|
||||
{
|
||||
if (key == K_TAB && field.focusdirty())
|
||||
{
|
||||
//field.mask().set(F_LUNG,66);
|
||||
field.mask().set(F_NPAGINI, 0L);
|
||||
field.mask().set(F_NPAGFI, 0L);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
static bool codditta_handler(TMask_field& field, KEY key)
|
||||
{
|
||||
if (key == K_TAB && field.focusdirty())
|
||||
{
|
||||
TMask& m = field.mask();
|
||||
const long codditta = m.get_long(F_CODDITTA);
|
||||
if (codditta == 0)
|
||||
m.reset();
|
||||
else
|
||||
{
|
||||
TLocalisamfile nditte(LF_NDITTE);
|
||||
TLocalisamfile unloc(LF_UNLOC);
|
||||
TLocalisamfile comuni(LF_COMUNI);
|
||||
TLocalisamfile anag(LF_ANAG);
|
||||
|
||||
nditte.setkey(1);
|
||||
nditte.zero();
|
||||
nditte.put(N_CODDITTA, codditta);
|
||||
nditte.read();
|
||||
if (nditte.bad())
|
||||
return error_box("Il codice ditta %d non esiste", codditta);
|
||||
if (prefix().exist(codditta))
|
||||
app().set_firm(codditta);
|
||||
else
|
||||
{
|
||||
m.field(F_ANNO).hide();
|
||||
m.field(F_CODICE).hide();
|
||||
m.field(F_ANNOREG).shown();
|
||||
m.field(F_CODICEREG).shown();
|
||||
}
|
||||
app()._ragsoc = "SOCIETA' ";
|
||||
app()._ragsoc << nditte.get(N_RAGSOC);
|
||||
m.set(F_RAGSOC,app()._ragsoc);
|
||||
|
||||
const TString16 tipoa = nditte.get(N_TIPOA);
|
||||
const long codanagr = atol(nditte.get(N_CODANAGR));
|
||||
|
||||
unloc.setkey(1);
|
||||
unloc.zero();
|
||||
unloc.put(N_CODDITTA, codditta);
|
||||
unloc.put(N_CODULC,"1");
|
||||
unloc.read();
|
||||
app()._indulc = unloc.get(N_INDULC);
|
||||
m.set(F_INDIRIZZO, app()._indulc);
|
||||
app()._civulc = unloc.get(N_CIVULC);
|
||||
m.set(F_CIV, app()._civulc);
|
||||
app()._capulc = unloc.get(N_CAPULC);
|
||||
m.set(F_CAP, app()._capulc);
|
||||
app()._comulc = unloc.get(N_COMULC);
|
||||
m.set(F_CODCOM, app()._comulc);
|
||||
|
||||
comuni.setkey(1);
|
||||
comuni.zero();
|
||||
comuni.put(N_CODCOM, app()._comulc);
|
||||
comuni.read();
|
||||
app()._com = comuni.get(N_COM);
|
||||
m.set(F_COM, app()._com);
|
||||
app()._prov = comuni.get(N_PROV);
|
||||
m.set(F_PROV, app()._prov);
|
||||
|
||||
anag.setkey(1);
|
||||
anag.zero();
|
||||
anag.put(N_TIPOA, tipoa);
|
||||
anag.put(N_CODANAGR, codanagr);
|
||||
anag.read();
|
||||
app()._cofi = anag.get(N_COFI);
|
||||
m.set(F_COFI, app()._cofi);
|
||||
app()._paiv = anag.get(N_PAIV);
|
||||
m.set(F_PAIV, app()._paiv);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool Libribollati_print::user_create()
|
||||
{
|
||||
if (get_firm() == 0L)
|
||||
if (!set_firm()) return FALSE;
|
||||
|
||||
enable_print_menu();
|
||||
_nditte = new TLocalisamfile(LF_NDITTE);
|
||||
_unloc = new TLocalisamfile(LF_UNLOC);
|
||||
_comuni = new TLocalisamfile(LF_COMUNI);
|
||||
_anag = new TLocalisamfile(LF_ANAG);
|
||||
_tab = new TTable("REG");
|
||||
|
||||
_msk = new TMask("ba3300a") ;
|
||||
_msk->set_handler(F_REGISTRO, registro_handler);
|
||||
_msk->set_handler(F_CODDITTA, codditta_handler);
|
||||
|
||||
add_cursor(NULL);
|
||||
set_auto_ff(TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool Libribollati_print::user_destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _nditte;
|
||||
delete _unloc;
|
||||
delete _comuni;
|
||||
delete _anag;
|
||||
delete _tab;
|
||||
if (_p != NULL) delete _p;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int ba3300(int argc, char* argv[])
|
||||
{
|
||||
Libribollati_print a;
|
||||
a.run(argc, argv, "Stampa fogli libri bollati");
|
||||
return 0;
|
||||
}
|
||||
|
104
ba/ba3300.h
104
ba/ba3300.h
@ -1,63 +1,41 @@
|
||||
#ifndef __BA3300_H
|
||||
#define __BA3300_H
|
||||
|
||||
#define REGISTRO "F_REGISTRO"
|
||||
#define INDIRIZZO "F_INDIRIZZO"
|
||||
#define COFI "F_COFI"
|
||||
#define PAIV "F_PAIV"
|
||||
#define TAB_REG "REG"
|
||||
#define CODTABLEN 7
|
||||
#define CODICE "F_CODICE"
|
||||
|
||||
#define N_CODDITTA "CODDITTA"
|
||||
#define N_RAGSOC "RAGSOC"
|
||||
#define N_CODULC "CODULC"
|
||||
#define N_INDULC "INDULC"
|
||||
#define N_COFI "COFI"
|
||||
#define N_PAIV "PAIV"
|
||||
#define N_CIVULC "CIVULC"
|
||||
#define N_CAPULC "CAPULC"
|
||||
#define N_COMULC "COMULC"
|
||||
#define N_COM "DENCOM"
|
||||
#define N_PROV "PROVCOM"
|
||||
#define N_CODCOM "COM"
|
||||
#define N_TIPOA "TIPOA"
|
||||
#define N_CODANAGR "CODANAGR"
|
||||
|
||||
#define F_CODDITTA 101
|
||||
#define F_ANNO 102
|
||||
#define F_CODICE 103
|
||||
#define F_REGISTRO 104
|
||||
#define F_RAGSOC 105
|
||||
#define F_INDIRIZZO 106
|
||||
#define F_COFI 107
|
||||
#define F_PAIV 108
|
||||
#define F_NPAGINI 109
|
||||
#define F_NPAGFI 110
|
||||
#define F_PRIMO 111
|
||||
#define F_TIPOST 112
|
||||
#define F_LUNG 113
|
||||
#define F_CIV 114
|
||||
#define F_CAP 115
|
||||
#define F_CODCOM 116
|
||||
#define F_COM 117
|
||||
#define F_PROV 118
|
||||
#define F_STATO 119
|
||||
|
||||
#endif // __BA3300_H
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef __BA3300_H
|
||||
#define __BA3300_H
|
||||
|
||||
#define N_CODDITTA "CODDITTA"
|
||||
#define N_RAGSOC "RAGSOC"
|
||||
#define N_CODULC "CODULC"
|
||||
#define N_INDULC "INDULC"
|
||||
#define N_COFI "COFI"
|
||||
#define N_PAIV "PAIV"
|
||||
#define N_CIVULC "CIVULC"
|
||||
#define N_CAPULC "CAPULC"
|
||||
#define N_COMULC "COMULC"
|
||||
#define N_COM "DENCOM"
|
||||
#define N_PROV "PROVCOM"
|
||||
#define N_CODCOM "COM"
|
||||
#define N_TIPOA "TIPOA"
|
||||
#define N_CODANAGR "CODANAGR"
|
||||
|
||||
#define F_CODDITTA 101
|
||||
#define F_RAGSOC 102
|
||||
#define F_INDIRIZZO 103
|
||||
#define F_CIV 104
|
||||
#define F_CAP 105
|
||||
#define F_CODCOM 106
|
||||
#define F_COM 107
|
||||
#define F_PROV 108
|
||||
#define F_STATO 109
|
||||
#define F_COFI 110
|
||||
#define F_PAIV 111
|
||||
#define F_TIPOREG 112
|
||||
#define F_ANNO 113
|
||||
#define F_CODICE 114
|
||||
#define F_ANNOREG 115
|
||||
#define F_CODICEREG 116
|
||||
#define F_REGISTRO 117
|
||||
#define F_NPAGINI 118
|
||||
#define F_NPAGFI 119
|
||||
#define F_PRIMO 120
|
||||
#define F_ANNOSTAMPA 121
|
||||
|
||||
#endif // __BA3300_H
|
||||
|
453
ba/ba3300a.uml
453
ba/ba3300a.uml
@ -1,186 +1,267 @@
|
||||
#include "ba3300.h"
|
||||
|
||||
PAGE "Stampa fogli libro bollato" -1 -1 76 19
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 3 3 "Anno Riferimento "
|
||||
HELP "Anno a cui si riferisce il bollato"
|
||||
USE REG
|
||||
INPUT CODTAB[1,4] F_ANNO
|
||||
INPUT CODTAB[5,7] F_CODICE
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice Registro" CODTAB[5,7]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Tipo" I0
|
||||
OUTPUT F_ANNO CODTAB[1,4]
|
||||
OUTPUT F_CODICE CODTAB[5,7]
|
||||
OUTPUT F_REGISTRO S0
|
||||
FLAGS "Z"
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 3 2 "Ditta "
|
||||
FLAGS "DFR"
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_CODICE 3
|
||||
BEGIN
|
||||
PROMPT 3 4 "Codice Registro "
|
||||
HELP "Codice del registro da numerare"
|
||||
FLAGS "UZ"
|
||||
COPY ALL F_ANNO
|
||||
CHECKTYPE REQUIRED
|
||||
KEY 1
|
||||
WARNING "Registro assente"
|
||||
END
|
||||
|
||||
STRING F_REGISTRO 50
|
||||
BEGIN
|
||||
PROMPT 3 6 "Registro "
|
||||
HELP "Descrizione del registro da numerare"
|
||||
USE REG KEY 2
|
||||
INPUT S0 F_REGISTRO
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice Registro" CODTAB[5,7]
|
||||
DISPLAY "Tipo" I0
|
||||
COPY OUTPUT F_CODICE
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Registro assente"
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 60 50
|
||||
BEGIN
|
||||
PROMPT 3 7 "Ragione sociale "
|
||||
HELP "Ragione sociale dell'intestatario del registro"
|
||||
END
|
||||
|
||||
STRING F_INDIRIZZO 35
|
||||
BEGIN
|
||||
PROMPT 3 8 "Indirizzo "
|
||||
HELP "Indirizzo dell'intestatario del registro"
|
||||
END
|
||||
|
||||
STRING F_CIV 10
|
||||
BEGIN
|
||||
PROMPT 51 8 "N.civico "
|
||||
HELP "Numero civico dell'intestatario del registro"
|
||||
END
|
||||
|
||||
STRING F_CAP 5
|
||||
BEGIN
|
||||
PROMPT 3 9 "CAP "
|
||||
HELP "CAP del comune dell'intestatario del registro"
|
||||
END
|
||||
|
||||
STRING F_CODCOM 4
|
||||
BEGIN
|
||||
PROMPT 15 9 "Comune "
|
||||
HELP "Codice del comune dell'intestatario del registro"
|
||||
END
|
||||
|
||||
STRING F_COM 28
|
||||
BEGIN
|
||||
PROMPT 29 9 ""
|
||||
HELP "Nome del comune dell'intestatario del registro"
|
||||
END
|
||||
|
||||
STRING F_PROV 5
|
||||
BEGIN
|
||||
PROMPT 60 9 "Prov."
|
||||
HELP "Provincia dell'intestatario del registro"
|
||||
END
|
||||
|
||||
LIST F_STATO 20
|
||||
BEGIN
|
||||
PROMPT 3 10 "Stato "
|
||||
FIELD LF_ANAG->STATOPAIV
|
||||
HELP "Codice dello stato cui si riferisce la partita IVA"
|
||||
ITEM " |Italia o extra CEE"
|
||||
ITEM "BE|Belgio"
|
||||
ITEM "DE|Germania"
|
||||
ITEM "DK|Danimarca"
|
||||
ITEM "EL|Grecia"
|
||||
ITEM "ES|Spagna"
|
||||
ITEM "FR|Francia"
|
||||
ITEM "GB|Gran Bretagna"
|
||||
ITEM "IE|Irlanda"
|
||||
ITEM "IT|Italia"
|
||||
ITEM "LU|Lussemburgo"
|
||||
ITEM "NL|Olanda"
|
||||
ITEM "PT|Portogallo"
|
||||
END
|
||||
|
||||
STRING F_COFI 16
|
||||
BEGIN
|
||||
PROMPT 3 11 "Codice fiscale "
|
||||
HELP "Codice fiscale dell'intestatario del registro"
|
||||
VALIDATE CF_FUNC F_STATO
|
||||
WARNING "Codice fiscale errato"
|
||||
END
|
||||
|
||||
STRING F_PAIV 12
|
||||
BEGIN
|
||||
PROMPT 44 11 "Partita I.V.A "
|
||||
HELP "Partita IVA dell'intestatario del registro"
|
||||
VALIDATE PI_FUNC F_STATO
|
||||
WARNING "Partita IVA errata"
|
||||
END
|
||||
|
||||
NUMBER F_NPAGINI 6
|
||||
BEGIN
|
||||
PROMPT 3 12 "Numero pagina iniziale "
|
||||
HELP "Numero della prima pagina da numerare"
|
||||
FLAGS "R"
|
||||
NUM_EXPR {#THIS_FIELD >= 0}
|
||||
WARNING "Numero pagina iniziale errato: non puo' essere negativo"
|
||||
END
|
||||
|
||||
NUMBER F_NPAGFI 6
|
||||
BEGIN
|
||||
PROMPT 3 13 "Numero pagina finale "
|
||||
HELP "Numero dell'ultima pagina da numerare"
|
||||
FLAGS "R"
|
||||
NUM_EXPR {#THIS_FIELD >= #F_NPAGINI}
|
||||
WARNING "Numero pagina finale errato: deve essere maggiore o uguale a quello iniziale"
|
||||
END
|
||||
|
||||
BOOLEAN F_PRIMO
|
||||
BEGIN
|
||||
PROMPT 3 14 "Inizio numerazione dopo primo foglio "
|
||||
HELP "Indicare se iniziare la numerazione nel secondo foglio"
|
||||
END
|
||||
|
||||
LIST F_TIPOST 7
|
||||
BEGIN
|
||||
PROMPT 3 15 "Tipo di stampa "
|
||||
HELP "Larghezza del foglio"
|
||||
ITEM "0|132"
|
||||
ITEM "1|132 c."
|
||||
ITEM "2|198"
|
||||
END
|
||||
|
||||
NUMBER F_LUNG 2
|
||||
BEGIN
|
||||
PROMPT 3 16 "Numero di righe "
|
||||
HELP "Lunghezza del foglio"
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
#include "ba3300.h"
|
||||
|
||||
PAGE "Stampa fogli libri bollati" -1 -1 78 20
|
||||
|
||||
GROUPBOX DLG_NULL 77 9
|
||||
BEGIN
|
||||
PROMPT 1 1 "Dati intestatario libro bollato"
|
||||
END
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 2 2 "Codice "
|
||||
HELP "Codice della ditta da selezionare"
|
||||
FLAGS "R"
|
||||
USE LF_NDITTE KEY 1
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_CODDITTA CODDITTA
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Ditta assente"
|
||||
MESSAGE ENABLE,3@
|
||||
MESSAGE EMPTY DISABLE,3@
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50 60
|
||||
BEGIN
|
||||
PROMPT 2 3 "Rag. Soc. "
|
||||
USE LF_NDITTE KEY 2
|
||||
HELP "Ragione sociale dell'intestatario del libro bollato"
|
||||
INPUT RAGSOC F_RAGSOC
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODDITTA
|
||||
COPY OUTPUT F_CODDITTA
|
||||
CHECKTYPE SEARCH
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
WARNING "Inserire la ragione sociale"
|
||||
END
|
||||
|
||||
STRING F_INDIRIZZO 35
|
||||
BEGIN
|
||||
PROMPT 2 4 "Indirizzo "
|
||||
HELP "Indirizzo dell'intestatario"
|
||||
END
|
||||
|
||||
STRING F_CIV 10
|
||||
BEGIN
|
||||
PROMPT 50 4 "N.ro "
|
||||
HELP "Numero civico dell'intestatario"
|
||||
END
|
||||
|
||||
STRING F_CAP 5
|
||||
BEGIN
|
||||
PROMPT 2 5 "CAP "
|
||||
HELP "CAP dell'intestatario"
|
||||
END
|
||||
|
||||
STRING F_CODCOM 4
|
||||
BEGIN
|
||||
PROMPT 21 5 "Comune "
|
||||
FLAGS "U"
|
||||
USE LF_COMUNI
|
||||
INPUT STATO ""
|
||||
INPUT COM F_CODCOM
|
||||
#include <comdcod.h>
|
||||
OUTPUT F_CODCOM COM
|
||||
OUTPUT F_COM DENCOM
|
||||
OUTPUT F_PROV PROVCOM
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Comune assente"
|
||||
HELP "Codice del comune dell'intestatario"
|
||||
END
|
||||
|
||||
STRING F_COM 28
|
||||
BEGIN
|
||||
PROMPT 35 5 ""
|
||||
USE LF_COMUNI KEY 2
|
||||
INPUT DENCOM F_COM
|
||||
#include <comdden.h>
|
||||
COPY OUTPUT F_CODCOM
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Denominazione comune dell'intestatario"
|
||||
END
|
||||
|
||||
STRING F_PROV 5
|
||||
BEGIN
|
||||
PROMPT 66 5 "Prov."
|
||||
HELP "Provincia dell'intestatario"
|
||||
END
|
||||
|
||||
LIST F_STATO 20
|
||||
BEGIN
|
||||
PROMPT 2 6 "Stato "
|
||||
HELP "Codice dello stato cui si riferisce la partita IVA"
|
||||
ITEM " |Italia o extra CEE"
|
||||
ITEM "BE|Belgio"
|
||||
ITEM "DE|Germania"
|
||||
ITEM "DK|Danimarca"
|
||||
ITEM "EL|Grecia"
|
||||
ITEM "ES|Spagna"
|
||||
ITEM "FR|Francia"
|
||||
ITEM "GB|Gran Bretagna"
|
||||
ITEM "IE|Irlanda"
|
||||
ITEM "IT|Italia"
|
||||
ITEM "LU|Lussemburgo"
|
||||
ITEM "NL|Olanda"
|
||||
ITEM "PT|Portogallo"
|
||||
END
|
||||
|
||||
STRING F_PAIV 12
|
||||
BEGIN
|
||||
PROMPT 2 7 "Part. IVA "
|
||||
HELP "Partita IVA dell'intestatario"
|
||||
VALIDATE PI_FUNC F_STATO
|
||||
WARNING "Partita IVA errata"
|
||||
END
|
||||
|
||||
STRING F_COFI 16
|
||||
BEGIN
|
||||
PROMPT 2 8 "Cod. fisc. "
|
||||
HELP "Codice fiscale dell'intestatario"
|
||||
VALIDATE CF_FUNC F_STATO
|
||||
WARNING "Codice fiscale errato"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 77 9
|
||||
BEGIN
|
||||
PROMPT 1 10 "Dati registro"
|
||||
END
|
||||
|
||||
LIST F_TIPOREG 1 25
|
||||
BEGIN
|
||||
PROMPT 2 11 "Tipo "
|
||||
HELP "Tipo registro da stampare"
|
||||
ITEM "1|Vendite"
|
||||
MESSAGE HIDE,2@|SHOW,1@
|
||||
ITEM "2|Acquisti"
|
||||
MESSAGE HIDE,2@|SHOW,1@
|
||||
ITEM "3|Libro IVA riepilogativo"
|
||||
MESSAGE HIDE,2@|SHOW,1@
|
||||
// ITEM "4|Libro incassi e pagamenti"
|
||||
ITEM "5|Libro giornale"
|
||||
MESSAGE HIDE,2@|SHOW,1@
|
||||
ITEM "6|Libri sociali"
|
||||
MESSAGE HIDE,2@|SHOW,1@
|
||||
ITEM "7|Libro cespiti"
|
||||
MESSAGE HIDE,1@|SHOW,2@
|
||||
ITEM "8|Libro inventari"
|
||||
MESSAGE HIDE,1@|SHOW,2@
|
||||
ITEM "9|Libro procedure"
|
||||
MESSAGE HIDE,2@|SHOW,1@
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 12 "Anno rifer. "
|
||||
HELP "Anno a cui si riferisce il bollato"
|
||||
USE REG SELECT I0=#F_TIPOREG
|
||||
INPUT CODTAB[1,4] F_ANNO
|
||||
INPUT CODTAB[5,7] F_CODICE
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Cod. reg." CODTAB[5,7]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Tipo" I0
|
||||
OUTPUT F_ANNO CODTAB[1,4]
|
||||
OUTPUT F_CODICE CODTAB[5,7]
|
||||
OUTPUT F_REGISTRO S0
|
||||
FLAGS "Z"
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 1 3
|
||||
END
|
||||
|
||||
STRING F_CODICE 3
|
||||
BEGIN
|
||||
PROMPT 21 12 "Codice "
|
||||
HELP "Codice del registro da numerare"
|
||||
FLAGS "UZ"
|
||||
COPY ALL F_ANNO
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Registro assente"
|
||||
GROUP 1 3
|
||||
END
|
||||
|
||||
NUMBER F_ANNOREG 4
|
||||
BEGIN
|
||||
PROMPT 2 12 "Anno rifer. "
|
||||
HELP "Anno a cui si riferisce il bollato"
|
||||
USE LF_TABREG SELECT TIPO=#F_TIPOREG
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
INPUT ANNO F_ANNOREG
|
||||
INPUT CODREG F_CODICEREG
|
||||
DISPLAY "Anno " ANNO
|
||||
DISPLAY "Cod. reg." CODREG
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_ANNOREG ANNO
|
||||
OUTPUT F_CODICEREG CODREG
|
||||
OUTPUT F_REGISTRO DESCR
|
||||
FLAGS "ZH"
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 2 3
|
||||
END
|
||||
|
||||
|
||||
STRING F_CODICEREG 3
|
||||
BEGIN
|
||||
PROMPT 21 12 "Codice "
|
||||
HELP "Codice del registro da numerare"
|
||||
FLAGS "UZH"
|
||||
COPY ALL F_ANNOREG
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Registro assente"
|
||||
GROUP 2 3
|
||||
END
|
||||
|
||||
STRING F_REGISTRO 50
|
||||
BEGIN
|
||||
PROMPT 2 13 "Descrizione "
|
||||
HELP "Descrizione del registro da numerare"
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
WARNING "Inserire la descrizione del registro"
|
||||
END
|
||||
|
||||
NUMBER F_NPAGINI 6
|
||||
BEGIN
|
||||
PROMPT 2 14 "Numero pagina iniziale "
|
||||
HELP "Numero della prima pagina da numerare"
|
||||
FLAGS "R"
|
||||
NUM_EXPR {#THIS_FIELD >= 0}
|
||||
WARNING "Numero pagina iniziale errato: non puo' essere negativo"
|
||||
END
|
||||
|
||||
NUMBER F_NPAGFI 6
|
||||
BEGIN
|
||||
PROMPT 2 15 "Numero pagina finale "
|
||||
HELP "Numero dell'ultima pagina da numerare"
|
||||
FLAGS "R"
|
||||
NUM_EXPR {#THIS_FIELD>=(#F_NPAGINI+2)}
|
||||
WARNING "Numero pagina finale errato: deve essere maggiore o uguale a quello iniziale + 2"
|
||||
END
|
||||
|
||||
BOOLEAN F_PRIMO
|
||||
BEGIN
|
||||
PROMPT 2 16 "Inizio numerazione dopo primo foglio "
|
||||
HELP "Indicare se iniziare la numerazione nel secondo foglio"
|
||||
END
|
||||
|
||||
NUMBER F_ANNOSTAMPA 4
|
||||
BEGIN
|
||||
PROMPT 2 17 "Anno per numerazione pagina "
|
||||
HELP "Indicare l'anno se si vuole la numerazione pagine con indicazione anno"
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
Loading…
x
Reference in New Issue
Block a user