From 12e7b7a43fc40124dd9527fa4a0f1030d1869248 Mon Sep 17 00:00:00 2001 From: cris Date: Mon, 20 Jan 1997 09:53:43 +0000 Subject: [PATCH] corretto errore MI6148, MI2220 git-svn-id: svn://10.65.10.50/trunk@4095 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba3300.cpp | 626 +++++++++++++++++++++++++------------------------ ba/ba3300.h | 104 ++++---- ba/ba3300a.uml | 453 ++++++++++++++++++++--------------- 3 files changed, 631 insertions(+), 552 deletions(-) diff --git a/ba/ba3300.cpp b/ba/ba3300.cpp index 8501e17a8..7fbd23306 100755 --- a/ba/ba3300.cpp +++ b/ba/ba3300.cpp @@ -1,303 +1,323 @@ -#include -#include -#include -#include - -#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 +#include +#include +#include +#include + +#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; +} diff --git a/ba/ba3300.h b/ba/ba3300.h index 95ae885af..ee9dc9b97 100755 --- a/ba/ba3300.h +++ b/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 diff --git a/ba/ba3300a.uml b/ba/ba3300a.uml index a87924856..2b6aed691 100755 --- a/ba/ba3300a.uml +++ b/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 + 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 + 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