corretto errore MI6148, MI2220

git-svn-id: svn://10.65.10.50/trunk@4095 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 1997-01-20 09:53:43 +00:00
parent ed494477fb
commit 12e7b7a43f
3 changed files with 631 additions and 552 deletions

View File

@ -1,303 +1,323 @@
#include <mask.h> #include <mask.h>
#include <printapp.h> #include <prefix.h>
#include <tabutil.h> #include <printapp.h>
#include <progind.h> #include <progind.h>
#include <tabutil.h>
#include "ba3.h"
#include "ba3300.h" #include "ba3.h"
#include "ba3300.h"
class BA3300_application : public TPrintapp
{ class Libribollati_print : public TPrintapp
friend bool codice_handler(TMask_field& field, KEY key); {
friend bool registro_handler(TMask_field& field, KEY key);
TMask* _msk; friend bool codditta_handler(TMask_field& field, KEY key);
TTable* _tab; // Tabella dei registri
TString _cod_reg, _comulc, _ragsoc, _indulc, _civulc, _capulc, _com, _prov, _cofi, _paiv; TMask* _msk;
TString80 _descr; TTable* _tab; // Tabella dei registri
TProgind *_p; TProgind *_p;
long _codice_ditta, _agg;
long _num_pag, _pag_ini, _pag_fin; TString _cod_reg, _comulc, _ragsoc, _indulc, _civulc;
int _cod_anno; TString _capulc, _com, _prov, _cofi, _paiv;
bool _inizia_dopo; TString80 _descr;
TLocalisamfile* _nditte; long _num_pag, _pag_ini, _pag_fin;
TLocalisamfile* _anag; int _cod_anno, _anno_stampa;
TLocalisamfile* _unloc; bool _inizia_dopo;
TLocalisamfile* _comuni; TLocalisamfile* _nditte;
TLocalisamfile* _anag;
protected: TLocalisamfile* _unloc;
TLocalisamfile* _comuni;
bool menu (MENU_TAG m) { return TPrintapp::menu(m) ; }
virtual bool user_destroy(); protected:
virtual bool user_create() ;
virtual void on_firm_change(); bool menu(MENU_TAG m) { return TPrintapp::menu(m) ; }
bool set_print(int); virtual bool user_destroy();
virtual bool user_create() ;
const char* decodifica_reg (); bool set_print(int);
virtual void set_page (int, int); virtual void set_page(int, int);
virtual print_action postprocess_page (int, int); virtual print_action postprocess_page(int, int);
virtual bool preprocess_print(int, int); virtual bool preprocess_print(int, int);
virtual print_action postprocess_print(int, int); virtual print_action postprocess_print(int, int);
public: public:
BA3300_application() : _p(NULL) {} Libribollati_print() : _p(NULL) {}
~BA3300_application() {} ~Libribollati_print() {}
}; };
print_action BA3300_application::postprocess_page(int, int counter) HIDDEN inline Libribollati_print& app() { return (Libribollati_print&) main_app(); }
{
if (counter == _num_pag - 1) print_action Libribollati_print::postprocess_page(int, int counter)
{ {
TString16 dep; dep.format("%04d%-3s", _cod_anno, (const char*)_cod_reg); if (counter == _num_pag - 1)
_tab->curr().put("CODTAB", (const char*)dep); {
_tab->read(); TString16 dep; dep.format("%04d%-3s", _cod_anno, (const char*) _cod_reg);
if (_tab->good()) _tab->put("CODTAB", (const char*) dep);
{ _tab->read();
// _agg = _tab->curr().get_long("I2"); if (_tab->good())
// _agg = _agg + _num_pag; {
_tab->put("I2", _pag_fin); _tab->put("I2", _pag_fin);
_tab->rewrite(); _tab->rewrite();
} }
return NEXT_PAGE; return NEXT_PAGE;
} }
return REPEAT_PAGE;
return REPEAT_PAGE; }
}
bool Libribollati_print::preprocess_print(int, int)
bool BA3300_application::preprocess_print(int, int) {
{ _p = new TProgind(_pag_fin-_pag_ini+1, "Preparazione stampa", FALSE, TRUE, 60);
_p = new TProgind(_pag_fin - _pag_ini +1, "Preparazione stampa", FALSE, TRUE, 60); return TRUE;
return TRUE; }
}
print_action Libribollati_print::postprocess_print(int, int)
print_action BA3300_application::postprocess_print(int, int) {
{ if (_p != NULL)
if (_p != NULL) {
{ delete _p;
delete _p; _p = NULL;
_p = NULL; }
} return NEXT_PAGE;
return NEXT_PAGE; }
}
void Libribollati_print::set_page(int , int counter)
void BA3300_application::set_page(int , int counter) {
{ reset_print();
reset_print(); _p->addstatus(1);
_p->addstatus(1);
long contatore = _pag_ini + counter;
long contatore = _pag_ini + counter;
if (_inizia_dopo) contatore--;
if (_inizia_dopo) contatore--; reset_row(1);
reset_row(1); reset_row(2);
reset_row(2); reset_row(3);
reset_row(3); reset_row(4);
reset_row(4); reset_row(5);
reset_row(5); reset_row(6);
reset_row(6); reset_row(7);
reset_row(7); reset_row(8);
reset_row(8); reset_row(9);
reset_row(9); if (counter == 0)
if (counter == 0) {
{ if (!_inizia_dopo)
if (!_inizia_dopo) {
set_row(3, "@120gPag. %ld", contatore); if (_anno_stampa == 0)
int pos = printer().formlen() / 2 - 3; set_row(3, "@120gPag. %ld", contatore);
set_row (pos++, "@36g%-50s", (const char*) _descr); else
set_row (pos++, "@36g%-50s", (const char*)_ragsoc); set_row(3, "@120gPag. %4d/%ld", _anno_stampa, contatore);
TString s(_indulc); }
int pos = printer().formlen() / 2 - 3;
s << " " << _civulc ; set_row(pos++, "@36g%-50s", (const char*) _descr);
set_row (pos++, "@36g%-52s", (const char*) s); set_row(pos++, "@36g%-50s", (const char*) _ragsoc);
s = _capulc; TString s(_indulc);
s << " " << _com << " " << _prov;
set_row (pos++, "@36g%-62s", (const char*) s); s << " " << _civulc ;
set_row (pos++, "@36gCODICE FISCALE %-16s", (const char*)_cofi); set_row(pos++, "@36g%-52s", (const char*) s);
set_row (pos, "@36gPARTITA I.V.A. %-11s", (const char*)_paiv); s = _capulc;
s << " " << _com << " " << _prov;
} set_row(pos++, "@36g%-62s", (const char*) s);
else if (counter == _num_pag - 1) set_row(pos++, "@36gCODICE FISCALE %-16s", (const char*)_cofi);
{ set_row(pos, "@36gPARTITA I.V.A. %-11s", (const char*) _paiv);
set_row (1, "@1g%-50s", (const char*) _ragsoc);
TString s(_indulc); }
else if (counter == _num_pag - 1)
s << " " << _civulc << " " << _capulc << " " << _com << " " << _prov; {
set_row (1, "@62g%-65s", (const char*) s); set_row(1, "@1g%-50s", (const char*) _ragsoc);
set_row (2, "@1g%-50s", (const char*) _descr); TString s(_indulc);
set_row (2, "@52gCODICE FISCALE %-16s", (const char*) _cofi);
set_row (2, "@85gPARTITA I.V.A. %-11s", (const char*) _paiv); s << " " << _civulc << " " << _capulc << " " << _com << " " << _prov;
set_row (2, "@120gPag. %ld", contatore); set_row(1, "@62g%-65s", (const char*) s);
set_row (25, "@50gN. ........ DI REPERTORIO"); set_row(2, "@1g%-50s", (const char*) _descr);
set_row (27, "@50gIL PRESENTE LIBRO DELLA@75g%-50s", (const char*) _ragsoc); set_row(2, "@52gCODICE FISCALE %-16s", (const char*) _cofi);
set_row(2, "@85gPARTITA I.V.A. %-11s", (const char*) _paiv);
s = _indulc; if (_anno_stampa == 0)
s << " " << _civulc; set_row(2, "@120gPag. %ld", contatore);
set_row (29, "@50g%-52s", (const char*) s); else
s = _capulc; set_row(2, "@120gPag. %4d/%ld", _anno_stampa, contatore);
s << " " << _com << " " << _prov; set_row(25, "@50gN. ........ DI REPERTORIO");
set_row (31, "@50g%-62s", (const char*) s); set_row(27, "@50gIL PRESENTE LIBRO DELLA@75g%-50s", (const char*) _ragsoc);
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 ........."); s = _indulc;
} s << " " << _civulc;
else set_row(29, "@50g%-52s", (const char*) s);
{ s = _capulc;
set_row (1, "@1g%-50s", (const char*) _ragsoc); s << " " << _com << " " << _prov;
TString s(_indulc); 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));
s << " " << _civulc << " " << _capulc << " " << _com << " " << _prov; set_row(35, "@50gE VIENE OGGI VIDIMATO, il .........");
set_row (1, "@52g%-68s", (const char*) s); }
set_row (2, "@1g%-50s", (const char*) _descr); else
set_row (2, "@52gCODICE FISCALE %-16s", (const char*) _cofi); {
set_row (2, "@85gPARTITA I.V.A. %-11s", (const char*) _paiv); set_row(1, "@1g%-50s", (const char*) _ragsoc);
set_row (2, "@120gPag. %ld", contatore); TString s(_indulc);
}
} s << " " << _civulc << " " << _capulc << " " << _com << " " << _prov;
set_row(1, "@52g%-68s1", (const char*) s);
void BA3300_application::on_firm_change() 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);
TPrintapp::on_firm_change(); if (_anno_stampa == 0)
set_row(2, "@120gPag. %ld", contatore);
if (_msk == NULL) return; else
_msk->reset(); set_row(2, "@120gPag. %4d/%ld", _anno_stampa, contatore);
_nditte->setkey(1); }
_codice_ditta = get_firm(); }
_nditte->curr().zero();
_nditte->curr().put(N_CODDITTA,_codice_ditta); bool Libribollati_print::set_print(int)
_nditte->read(); {
if (_nditte->bad()) if (_msk->run() == K_ENTER)
return; {
TPrinter& pr = printer();
_msk->set(F_CODDITTA, _codice_ditta); //pr.formlen(_msk->get_int(F_LUNG));
_ragsoc="SOCIETA' "; int font_size = pr.calc_font_size(132);
_ragsoc << _nditte->curr().get(N_RAGSOC); if (font_size != pr.get_char_size())
const TString16 tipoa =_nditte->curr().get(N_TIPOA); {
const long codanagr =atol(_nditte->curr().get(N_CODANAGR)); warning_box("Il font e' stato ridimensionato a %d punti per\n"
_msk->set(F_RAGSOC,_ragsoc); "adattarsi alle dimensioni attuali della pagina.", font_size);
pr.set_char_size(font_size);
_unloc->setkey(1); }
_unloc->curr().zero(); _cod_reg = _msk->get(F_CODICE);
_unloc->curr().put(N_CODDITTA, _codice_ditta); _cod_anno = _msk->get_int(F_ANNO);
_unloc->curr().put(N_CODULC,"1"); _pag_ini = _msk->get_long(F_NPAGINI);
_unloc->read(); _pag_fin = _msk->get_long(F_NPAGFI);
_indulc=_unloc->curr().get(N_INDULC); _inizia_dopo = _msk->get_bool(F_PRIMO);
_msk->set(F_INDIRIZZO,_indulc); _num_pag = (_pag_fin - _pag_ini) + 1;
_civulc=_unloc->curr().get(N_CIVULC); _ragsoc = _msk->get(F_RAGSOC);
_msk->set(F_CIV,_civulc); _indulc = _msk->get(F_INDIRIZZO);
_capulc=_unloc->curr().get(N_CAPULC); _civulc = _msk->get(F_CIV);
_msk->set(F_CAP,_capulc); _capulc = _msk->get(F_CAP);
_comulc=_unloc->curr().get(N_COMULC); _comulc = _msk->get(F_CODCOM);
_msk->set(F_CODCOM,_comulc); _com = _msk->get(F_COM);
_prov = _msk->get(F_PROV);
_comuni->setkey(1); _paiv = _msk->get(F_PAIV);
_comuni->curr().zero(); _cofi = _msk->get(F_COFI);
_comuni->curr().put(N_CODCOM,_comulc); _anno_stampa = _msk->get_int(F_ANNOSTAMPA);
_comuni->read(); if (_inizia_dopo) _num_pag++;
_com=_comuni->curr().get(N_COM); enable_print_menu();
_msk->set(F_COM,_com); return TRUE;
_prov=_comuni->curr().get(N_PROV); }
_msk->set(F_PROV,_prov); return FALSE;
}
_anag->setkey(1);
_anag->curr().zero(); static bool registro_handler(TMask_field& field, KEY key)
_anag->curr().put(N_TIPOA,tipoa); {
_anag->curr().put(N_CODANAGR,codanagr); if (key == K_TAB && field.focusdirty())
_anag->read(); {
_cofi=_anag->curr().get(N_COFI); //field.mask().set(F_LUNG,66);
_msk->set(F_COFI,_cofi); field.mask().set(F_NPAGINI, 0L);
_paiv=_anag->curr().get(N_PAIV); field.mask().set(F_NPAGFI, 0L);
_msk->set(F_PAIV,_paiv); }
_msk->set(F_LUNG,66); return TRUE;
} }
static bool codditta_handler(TMask_field& field, KEY key)
bool BA3300_application::set_print(int) {
{ if (key == K_TAB && field.focusdirty())
//on_firm_change(); {
if (_msk->run() == K_ENTER) TMask& m = field.mask();
{ const long codditta = m.get_long(F_CODDITTA);
printer().formlen(_msk->get_int(F_LUNG)); if (codditta == 0)
_cod_reg = _msk->get(F_CODICE); m.reset();
_cod_anno = _msk->get_int(F_ANNO); else
_pag_ini = _msk->get_long(F_NPAGINI); {
_pag_fin = _msk->get_long(F_NPAGFI); TLocalisamfile nditte(LF_NDITTE);
_inizia_dopo = _msk->get_bool(F_PRIMO); TLocalisamfile unloc(LF_UNLOC);
_num_pag = (_pag_fin - _pag_ini) + 1; TLocalisamfile comuni(LF_COMUNI);
_ragsoc = _msk->get(F_RAGSOC); TLocalisamfile anag(LF_ANAG);
_indulc= _msk->get(F_INDIRIZZO);
_civulc= _msk->get(F_CIV); nditte.setkey(1);
_capulc= _msk->get(F_CAP); nditte.zero();
_comulc= _msk->get(F_CODCOM); nditte.put(N_CODDITTA, codditta);
_com= _msk->get(F_COM); nditte.read();
_prov= _msk->get(F_PROV); if (nditte.bad())
_paiv = _msk->get(F_PAIV); return error_box("Il codice ditta %d non esiste", codditta);
_cofi = _msk->get(F_COFI); if (prefix().exist(codditta))
_descr = decodifica_reg(); app().set_firm(codditta);
if (_inizia_dopo) _num_pag++; else
enable_print_menu(); {
return TRUE; m.field(F_ANNO).hide();
} m.field(F_CODICE).hide();
m.field(F_ANNOREG).shown();
return FALSE; m.field(F_CODICEREG).shown();
} }
app()._ragsoc = "SOCIETA' ";
static bool codice_handler (TMask_field& field, KEY key) app()._ragsoc << nditte.get(N_RAGSOC);
{ m.set(F_RAGSOC,app()._ragsoc);
if (key == K_TAB && field.focusdirty())
{ const TString16 tipoa = nditte.get(N_TIPOA);
const TEdit_field& e = (const TEdit_field&)field; const long codanagr = atol(nditte.get(N_CODANAGR));
// const TLocalisamfile& t = e.browse()->cursor()->file();
// const long num = t.get_long("I2"); unloc.setkey(1);
field.mask().set(F_NPAGINI, 0L); unloc.zero();
field.mask().set(F_NPAGFI, 0L); unloc.put(N_CODDITTA, codditta);
} unloc.put(N_CODULC,"1");
return TRUE; unloc.read();
} app()._indulc = unloc.get(N_INDULC);
m.set(F_INDIRIZZO, app()._indulc);
const char* BA3300_application::decodifica_reg () app()._civulc = unloc.get(N_CIVULC);
{ m.set(F_CIV, app()._civulc);
TString16 dep; dep.format("%04d%-3s", _cod_anno, (const char*)_cod_reg); app()._capulc = unloc.get(N_CAPULC);
m.set(F_CAP, app()._capulc);
_tab->curr().put("CODTAB", (const char*)dep); app()._comulc = unloc.get(N_COMULC);
_tab->read(); m.set(F_CODCOM, app()._comulc);
if (_tab->bad()) _tab->curr().zero();
return _tab->curr().get ("S0"); comuni.setkey(1);
} comuni.zero();
comuni.put(N_CODCOM, app()._comulc);
bool BA3300_application::user_create() comuni.read();
{ app()._com = comuni.get(N_COM);
_msk = NULL; m.set(F_COM, app()._com);
if (get_firm() == 0L) app()._prov = comuni.get(N_PROV);
if (!set_firm()) return FALSE; m.set(F_PROV, app()._prov);
enable_print_menu(); anag.setkey(1);
_nditte = new TLocalisamfile (LF_NDITTE); anag.zero();
_unloc = new TLocalisamfile (LF_UNLOC); anag.put(N_TIPOA, tipoa);
_comuni = new TLocalisamfile (LF_COMUNI); anag.put(N_CODANAGR, codanagr);
_anag = new TLocalisamfile (LF_ANAG); anag.read();
_tab = new TTable(TAB_REG); app()._cofi = anag.get(N_COFI);
m.set(F_COFI, app()._cofi);
_msk = new TMask ("ba3300a") ; app()._paiv = anag.get(N_PAIV);
_msk->set_handler(F_CODICE, codice_handler); m.set(F_PAIV, app()._paiv);
}
add_cursor (NULL); }
set_auto_ff (TRUE); return TRUE;
return TRUE; }
}
bool Libribollati_print::user_create()
bool BA3300_application::user_destroy() // releasev e arrmask {
{ if (get_firm() == 0L)
delete _msk; if (!set_firm()) return FALSE;
delete _nditte;
delete _unloc; enable_print_menu();
delete _comuni; _nditte = new TLocalisamfile(LF_NDITTE);
delete _anag; _unloc = new TLocalisamfile(LF_UNLOC);
delete _tab; _comuni = new TLocalisamfile(LF_COMUNI);
if (_p != NULL) delete _p; _anag = new TLocalisamfile(LF_ANAG);
return TRUE; _tab = new TTable("REG");
}
_msk = new TMask("ba3300a") ;
int ba3300(int argc, char* argv[]) _msk->set_handler(F_REGISTRO, registro_handler);
{ _msk->set_handler(F_CODDITTA, codditta_handler);
BA3300_application a;
a.run(argc, argv, "Stampa fogli libro bollato"); add_cursor(NULL);
return 0; 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;
}

View File

@ -1,63 +1,41 @@
#ifndef __BA3300_H #ifndef __BA3300_H
#define __BA3300_H #define __BA3300_H
#define REGISTRO "F_REGISTRO" #define N_CODDITTA "CODDITTA"
#define INDIRIZZO "F_INDIRIZZO" #define N_RAGSOC "RAGSOC"
#define COFI "F_COFI" #define N_CODULC "CODULC"
#define PAIV "F_PAIV" #define N_INDULC "INDULC"
#define TAB_REG "REG" #define N_COFI "COFI"
#define CODTABLEN 7 #define N_PAIV "PAIV"
#define CODICE "F_CODICE" #define N_CIVULC "CIVULC"
#define N_CAPULC "CAPULC"
#define N_CODDITTA "CODDITTA" #define N_COMULC "COMULC"
#define N_RAGSOC "RAGSOC" #define N_COM "DENCOM"
#define N_CODULC "CODULC" #define N_PROV "PROVCOM"
#define N_INDULC "INDULC" #define N_CODCOM "COM"
#define N_COFI "COFI" #define N_TIPOA "TIPOA"
#define N_PAIV "PAIV" #define N_CODANAGR "CODANAGR"
#define N_CIVULC "CIVULC"
#define N_CAPULC "CAPULC" #define F_CODDITTA 101
#define N_COMULC "COMULC" #define F_RAGSOC 102
#define N_COM "DENCOM" #define F_INDIRIZZO 103
#define N_PROV "PROVCOM" #define F_CIV 104
#define N_CODCOM "COM" #define F_CAP 105
#define N_TIPOA "TIPOA" #define F_CODCOM 106
#define N_CODANAGR "CODANAGR" #define F_COM 107
#define F_PROV 108
#define F_CODDITTA 101 #define F_STATO 109
#define F_ANNO 102 #define F_COFI 110
#define F_CODICE 103 #define F_PAIV 111
#define F_REGISTRO 104 #define F_TIPOREG 112
#define F_RAGSOC 105 #define F_ANNO 113
#define F_INDIRIZZO 106 #define F_CODICE 114
#define F_COFI 107 #define F_ANNOREG 115
#define F_PAIV 108 #define F_CODICEREG 116
#define F_NPAGINI 109 #define F_REGISTRO 117
#define F_NPAGFI 110 #define F_NPAGINI 118
#define F_PRIMO 111 #define F_NPAGFI 119
#define F_TIPOST 112 #define F_PRIMO 120
#define F_LUNG 113 #define F_ANNOSTAMPA 121
#define F_CIV 114
#define F_CAP 115 #endif // __BA3300_H
#define F_CODCOM 116
#define F_COM 117
#define F_PROV 118
#define F_STATO 119
#endif // __BA3300_H

View File

@ -1,186 +1,267 @@
#include "ba3300.h" #include "ba3300.h"
PAGE "Stampa fogli libro bollato" -1 -1 76 19 PAGE "Stampa fogli libri bollati" -1 -1 78 20
NUMBER F_ANNO 4 GROUPBOX DLG_NULL 77 9
BEGIN BEGIN
PROMPT 3 3 "Anno Riferimento " PROMPT 1 1 "Dati intestatario libro bollato"
HELP "Anno a cui si riferisce il bollato" END
USE REG
INPUT CODTAB[1,4] F_ANNO NUMBER F_CODDITTA 5
INPUT CODTAB[5,7] F_CODICE BEGIN
DISPLAY "Anno " CODTAB[1,4] PROMPT 2 2 "Codice "
DISPLAY "Codice Registro" CODTAB[5,7] HELP "Codice della ditta da selezionare"
DISPLAY "Descrizione@50" S0 FLAGS "R"
DISPLAY "Tipo" I0 USE LF_NDITTE KEY 1
OUTPUT F_ANNO CODTAB[1,4] INPUT CODDITTA F_CODDITTA
OUTPUT F_CODICE CODTAB[5,7] DISPLAY "Codice" CODDITTA
OUTPUT F_REGISTRO S0 DISPLAY "Ragione sociale@50" RAGSOC
FLAGS "Z" OUTPUT F_CODDITTA CODDITTA
KEY 1 OUTPUT F_RAGSOC RAGSOC
END CHECKTYPE NORMAL
WARNING "Ditta assente"
STRING F_CODDITTA 5 MESSAGE ENABLE,3@
BEGIN MESSAGE EMPTY DISABLE,3@
PROMPT 3 2 "Ditta " END
FLAGS "DFR"
KEY 1 STRING F_RAGSOC 50 60
END BEGIN
PROMPT 2 3 "Rag. Soc. "
STRING F_CODICE 3 USE LF_NDITTE KEY 2
BEGIN HELP "Ragione sociale dell'intestatario del libro bollato"
PROMPT 3 4 "Codice Registro " INPUT RAGSOC F_RAGSOC
HELP "Codice del registro da numerare" DISPLAY "Ragione sociale@50" RAGSOC
FLAGS "UZ" DISPLAY "Codice" CODDITTA
COPY ALL F_ANNO COPY OUTPUT F_CODDITTA
CHECKTYPE REQUIRED CHECKTYPE SEARCH
KEY 1 VALIDATE NOT_EMPTY_FUNC
WARNING "Registro assente" WARNING "Inserire la ragione sociale"
END END
STRING F_REGISTRO 50 STRING F_INDIRIZZO 35
BEGIN BEGIN
PROMPT 3 6 "Registro " PROMPT 2 4 "Indirizzo "
HELP "Descrizione del registro da numerare" HELP "Indirizzo dell'intestatario"
USE REG KEY 2 END
INPUT S0 F_REGISTRO
DISPLAY "Descrizione@50" S0 STRING F_CIV 10
DISPLAY "Anno " CODTAB[1,4] BEGIN
DISPLAY "Codice Registro" CODTAB[5,7] PROMPT 50 4 "N.ro "
DISPLAY "Tipo" I0 HELP "Numero civico dell'intestatario"
COPY OUTPUT F_CODICE END
CHECKTYPE REQUIRED
WARNING "Registro assente" STRING F_CAP 5
END BEGIN
PROMPT 2 5 "CAP "
STRING F_RAGSOC 60 50 HELP "CAP dell'intestatario"
BEGIN END
PROMPT 3 7 "Ragione sociale "
HELP "Ragione sociale dell'intestatario del registro" STRING F_CODCOM 4
END BEGIN
PROMPT 21 5 "Comune "
STRING F_INDIRIZZO 35 FLAGS "U"
BEGIN USE LF_COMUNI
PROMPT 3 8 "Indirizzo " INPUT STATO ""
HELP "Indirizzo dell'intestatario del registro" INPUT COM F_CODCOM
END #include <comdcod.h>
OUTPUT F_CODCOM COM
STRING F_CIV 10 OUTPUT F_COM DENCOM
BEGIN OUTPUT F_PROV PROVCOM
PROMPT 51 8 "N.civico " CHECKTYPE NORMAL
HELP "Numero civico dell'intestatario del registro" WARNING "Comune assente"
END HELP "Codice del comune dell'intestatario"
END
STRING F_CAP 5
BEGIN STRING F_COM 28
PROMPT 3 9 "CAP " BEGIN
HELP "CAP del comune dell'intestatario del registro" PROMPT 35 5 ""
END USE LF_COMUNI KEY 2
INPUT DENCOM F_COM
STRING F_CODCOM 4 #include <comdden.h>
BEGIN COPY OUTPUT F_CODCOM
PROMPT 15 9 "Comune " CHECKTYPE NORMAL
HELP "Codice del comune dell'intestatario del registro" HELP "Denominazione comune dell'intestatario"
END END
STRING F_COM 28 STRING F_PROV 5
BEGIN BEGIN
PROMPT 29 9 "" PROMPT 66 5 "Prov."
HELP "Nome del comune dell'intestatario del registro" HELP "Provincia dell'intestatario"
END END
STRING F_PROV 5 LIST F_STATO 20
BEGIN BEGIN
PROMPT 60 9 "Prov." PROMPT 2 6 "Stato "
HELP "Provincia dell'intestatario del registro" HELP "Codice dello stato cui si riferisce la partita IVA"
END ITEM " |Italia o extra CEE"
ITEM "BE|Belgio"
LIST F_STATO 20 ITEM "DE|Germania"
BEGIN ITEM "DK|Danimarca"
PROMPT 3 10 "Stato " ITEM "EL|Grecia"
FIELD LF_ANAG->STATOPAIV ITEM "ES|Spagna"
HELP "Codice dello stato cui si riferisce la partita IVA" ITEM "FR|Francia"
ITEM " |Italia o extra CEE" ITEM "GB|Gran Bretagna"
ITEM "BE|Belgio" ITEM "IE|Irlanda"
ITEM "DE|Germania" ITEM "IT|Italia"
ITEM "DK|Danimarca" ITEM "LU|Lussemburgo"
ITEM "EL|Grecia" ITEM "NL|Olanda"
ITEM "ES|Spagna" ITEM "PT|Portogallo"
ITEM "FR|Francia" END
ITEM "GB|Gran Bretagna"
ITEM "IE|Irlanda" STRING F_PAIV 12
ITEM "IT|Italia" BEGIN
ITEM "LU|Lussemburgo" PROMPT 2 7 "Part. IVA "
ITEM "NL|Olanda" HELP "Partita IVA dell'intestatario"
ITEM "PT|Portogallo" VALIDATE PI_FUNC F_STATO
END WARNING "Partita IVA errata"
END
STRING F_COFI 16
BEGIN STRING F_COFI 16
PROMPT 3 11 "Codice fiscale " BEGIN
HELP "Codice fiscale dell'intestatario del registro" PROMPT 2 8 "Cod. fisc. "
VALIDATE CF_FUNC F_STATO HELP "Codice fiscale dell'intestatario"
WARNING "Codice fiscale errato" VALIDATE CF_FUNC F_STATO
END WARNING "Codice fiscale errato"
END
STRING F_PAIV 12
BEGIN GROUPBOX DLG_NULL 77 9
PROMPT 44 11 "Partita I.V.A " BEGIN
HELP "Partita IVA dell'intestatario del registro" PROMPT 1 10 "Dati registro"
VALIDATE PI_FUNC F_STATO END
WARNING "Partita IVA errata"
END LIST F_TIPOREG 1 25
BEGIN
NUMBER F_NPAGINI 6 PROMPT 2 11 "Tipo "
BEGIN HELP "Tipo registro da stampare"
PROMPT 3 12 "Numero pagina iniziale " ITEM "1|Vendite"
HELP "Numero della prima pagina da numerare" MESSAGE HIDE,2@|SHOW,1@
FLAGS "R" ITEM "2|Acquisti"
NUM_EXPR {#THIS_FIELD >= 0} MESSAGE HIDE,2@|SHOW,1@
WARNING "Numero pagina iniziale errato: non puo' essere negativo" ITEM "3|Libro IVA riepilogativo"
END MESSAGE HIDE,2@|SHOW,1@
// ITEM "4|Libro incassi e pagamenti"
NUMBER F_NPAGFI 6 ITEM "5|Libro giornale"
BEGIN MESSAGE HIDE,2@|SHOW,1@
PROMPT 3 13 "Numero pagina finale " ITEM "6|Libri sociali"
HELP "Numero dell'ultima pagina da numerare" MESSAGE HIDE,2@|SHOW,1@
FLAGS "R" ITEM "7|Libro cespiti"
NUM_EXPR {#THIS_FIELD >= #F_NPAGINI} MESSAGE HIDE,1@|SHOW,2@
WARNING "Numero pagina finale errato: deve essere maggiore o uguale a quello iniziale" ITEM "8|Libro inventari"
END MESSAGE HIDE,1@|SHOW,2@
ITEM "9|Libro procedure"
BOOLEAN F_PRIMO MESSAGE HIDE,2@|SHOW,1@
BEGIN GROUP 3
PROMPT 3 14 "Inizio numerazione dopo primo foglio " END
HELP "Indicare se iniziare la numerazione nel secondo foglio"
END NUMBER F_ANNO 4
BEGIN
LIST F_TIPOST 7 PROMPT 2 12 "Anno rifer. "
BEGIN HELP "Anno a cui si riferisce il bollato"
PROMPT 3 15 "Tipo di stampa " USE REG SELECT I0=#F_TIPOREG
HELP "Larghezza del foglio" INPUT CODTAB[1,4] F_ANNO
ITEM "0|132" INPUT CODTAB[5,7] F_CODICE
ITEM "1|132 c." DISPLAY "Anno " CODTAB[1,4]
ITEM "2|198" DISPLAY "Cod. reg." CODTAB[5,7]
END DISPLAY "Descrizione@50" S0
DISPLAY "Tipo" I0
NUMBER F_LUNG 2 OUTPUT F_ANNO CODTAB[1,4]
BEGIN OUTPUT F_CODICE CODTAB[5,7]
PROMPT 3 16 "Numero di righe " OUTPUT F_REGISTRO S0
HELP "Lunghezza del foglio" FLAGS "Z"
FLAGS "R" CHECKTYPE SEARCH
END GROUP 1 3
END
BUTTON DLG_OK 9 2
BEGIN STRING F_CODICE 3
PROMPT -12 -1 "" BEGIN
END PROMPT 21 12 "Codice "
HELP "Codice del registro da numerare"
BUTTON DLG_QUIT 9 2 FLAGS "UZ"
BEGIN COPY ALL F_ANNO
PROMPT -22 -1 "" CHECKTYPE NORMAL
END WARNING "Registro assente"
GROUP 1 3
ENDPAGE END
ENDMASK 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