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
This commit is contained in:
angelo 1997-02-21 09:51:34 +00:00
parent dcd95cc9b8
commit 1224ad9565
3 changed files with 660 additions and 631 deletions

View File

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

View File

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

View File

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