From 1224ad9565a575858de021cf735f72cd15851f18 Mon Sep 17 00:00:00 2001 From: angelo Date: Fri, 21 Feb 1997 09:51:34 +0000 Subject: [PATCH] Correzione alla stampa fogli libro bollato: se la ditta non esiste va leggere LF_TABREG git-svn-id: svn://10.65.10.50/trunk@4145 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba3300.cpp | 649 +++++++++++++++++++++++++------------------------ ba/ba3300.h | 83 +++---- ba/ba3300a.uml | 559 ++++++++++++++++++++++-------------------- 3 files changed, 660 insertions(+), 631 deletions(-) diff --git a/ba/ba3300.cpp b/ba/ba3300.cpp index 7fbd23306..6ea0175da 100755 --- a/ba/ba3300.cpp +++ b/ba/ba3300.cpp @@ -1,323 +1,326 @@ -#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; -} +#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); + const bool exist_firm = prefix().exist(codditta); + if (exist_firm) + app().set_firm(codditta); + m.hide(exist_firm ? -4 : -3); + m.show(exist_firm ? -3 : -4); + //else + //{ + //m.field(F_ANNO).hide(); + //m.field(F_CODICE).hide(); + //m.field(F_ANNOREG).show(); + //m.field(F_CODICEREG).show(); + //} + 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 ee9dc9b97..445d29374 100755 --- a/ba/ba3300.h +++ b/ba/ba3300.h @@ -1,41 +1,42 @@ -#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 +#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 +#define F_TIPOREGCOM 122 + +#endif // __BA3300_H diff --git a/ba/ba3300a.uml b/ba/ba3300a.uml index 2b6aed691..cfd7b7f09 100755 --- a/ba/ba3300a.uml +++ b/ba/ba3300a.uml @@ -1,267 +1,292 @@ -#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 +#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 60 50 +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 50 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 + +LIST F_TIPOREGCOM 1 25 +BEGIN + PROMPT 2 11 "Tipo " + FLAGS "H" + HELP "Tipo registro da stampare" + ITEM "1|Vendite" + MESSAGE HIDE,1@|SHOW,2@ + ITEM "2|Acquisti" + MESSAGE HIDE,1@|SHOW,2@ + ITEM "3|Libro IVA riepilogativo" + MESSAGE HIDE,1@|SHOW,2@ + // ITEM "4|Libro incassi e pagamenti" + ITEM "5|Libro giornale" + MESSAGE HIDE,1@|SHOW,2@ + ITEM "6|Libri sociali" + MESSAGE HIDE,1@|SHOW,2@ + ITEM "7|Libro cespiti" + MESSAGE HIDE,1@|SHOW,2@ + ITEM "8|Libro inventari" + MESSAGE HIDE,1@|SHOW,2@ + ITEM "9|Libro procedure" + MESSAGE HIDE,1@|SHOW,2@ + GROUP 4 +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 4 +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 4 +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