Zerofilled l'anno di esercizio sulle tabelle dei registri e degli esercizi
Lancio automatico della conversione archivi (ba1) Correzione programma numerazione registri bollati Correzione ricerca per codice fiscale sulle maschere delle persone. git-svn-id: svn://10.65.10.50/trunk@227 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
5ca8379687
commit
1d414b2abc
@ -35,7 +35,7 @@ protected:
|
||||
virtual void print();
|
||||
|
||||
public:
|
||||
BA1100_application() : _browse(NULL), _rec(NULL) {}
|
||||
BA1100_application() : _browse(NULL), _rec(NULL), _mask(NULL) {}
|
||||
|
||||
};
|
||||
|
||||
@ -111,7 +111,6 @@ bool BA1100_application::create() // initvar e arrmask
|
||||
{
|
||||
_mask = new TMask ("ba1100a");
|
||||
set_firm();
|
||||
set_printer(new TPrinter());
|
||||
_browse = new TDir_sheet ("Manutenzione file di sistema") ;
|
||||
_browse->add_button(DLG_INSFILE, "Inserisce", K_F4);
|
||||
_browse->add_button(DLG_CONVERT, "Converte", K_F7);
|
||||
@ -126,7 +125,7 @@ bool BA1100_application::destroy() // releasev e arrmask
|
||||
{
|
||||
if (_firm) set_firm(_firm);
|
||||
if (_browse != NULL) delete _browse;
|
||||
delete _mask;
|
||||
if (_mask != NULL) delete _mask;
|
||||
return TRUE ;
|
||||
}
|
||||
|
||||
|
100
ba/ba3300.cpp
100
ba/ba3300.cpp
@ -3,21 +3,20 @@
|
||||
#include <relation.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <sort.h>
|
||||
#include <lffiles.h>
|
||||
|
||||
#include "ba3.h"
|
||||
#include "ba3300.h"
|
||||
|
||||
class BA3300_application : public TPrintapp
|
||||
{
|
||||
friend bool our_handler(TMask_field& field, KEY key);
|
||||
friend bool codice_handler(TMask_field& field, KEY key);
|
||||
|
||||
TMask* _msk;
|
||||
TTable* _tab; //Tabella dei registri
|
||||
TTable* _tab; // Tabella dei registri
|
||||
TString _cod_reg, _comulc, _ragsoc, _indulc, _civulc, _capulc, _com, _prov, _cofi, _paiv, _tipoa;
|
||||
long _cod_anno, _codice_ditta, _agg, _codanagr;
|
||||
int _num_pag, _pag_ini, _pag_fin;
|
||||
long _codice_ditta, _agg, _codanagr;
|
||||
long _num_pag, _pag_ini, _pag_fin;
|
||||
int _cod_anno;
|
||||
bool _inizia_dopo;
|
||||
TLocalisamfile* _nditte;
|
||||
TLocalisamfile* _anag;
|
||||
@ -39,45 +38,37 @@ public:
|
||||
BA3300_application();
|
||||
};
|
||||
|
||||
print_action BA3300_application::postprocess_page (int, int counter)
|
||||
print_action BA3300_application::postprocess_page(int, int counter)
|
||||
{
|
||||
if (counter == _num_pag - 1)
|
||||
{
|
||||
TString dep(CODTABLEN);
|
||||
|
||||
_tab->curr().zero();
|
||||
dep << format ("%04d%-3s", _cod_anno, (const char*)_cod_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();
|
||||
_agg = atol(_tab->curr().get("I2"));
|
||||
_agg = _tab->curr().get_long("I2");
|
||||
_agg = _agg + _num_pag;
|
||||
_tab->curr().put("I2", _agg);
|
||||
_tab->rewrite();
|
||||
|
||||
return NEXT_PAGE;
|
||||
}
|
||||
else
|
||||
|
||||
return REPEAT_PAGE;
|
||||
}
|
||||
|
||||
void BA3300_application::set_page(int , int counter)
|
||||
{
|
||||
TString descr;
|
||||
int contatore;
|
||||
|
||||
reset_print();
|
||||
|
||||
descr = decodifica_reg();
|
||||
contatore = _pag_ini + counter;
|
||||
const TString80 descr(decodifica_reg());
|
||||
long contatore = _pag_ini + counter;
|
||||
|
||||
if (counter == 0)
|
||||
{
|
||||
|
||||
if (!_inizia_dopo)
|
||||
{
|
||||
reset_row(8);
|
||||
set_row(8, "@65gPag.@70g%d", (const char *) contatore);
|
||||
set_row(8, "@65gPag.@70g%ld", contatore);
|
||||
}
|
||||
|
||||
reset_row(1);
|
||||
@ -91,9 +82,9 @@ void BA3300_application::set_page(int , int counter)
|
||||
set_row (1, "@50g%-50s", (const char*) descr);
|
||||
set_row (2, "@50g%-50s", (const char*)_ragsoc);
|
||||
set_row (3, "@50g%-35s", (const char*)_indulc);
|
||||
set_row (3, "@90g%10s", (const char*)_civulc);
|
||||
set_row (3, "@90g%-10s", (const char*)_civulc);
|
||||
set_row (4, "@50g%5s", (const char*)_capulc);
|
||||
set_row (4, "@60g%50s", (const char*) _com);
|
||||
set_row (4, "@60g%-50s", (const char*)_com);
|
||||
set_row (4, "@115g%5s", (const char*)_prov);
|
||||
set_row (5, "@50g%16s", (const char*)_cofi);
|
||||
set_row (6, "@50g%11s", (const char*)_paiv);
|
||||
@ -125,13 +116,10 @@ void BA3300_application::set_page(int , int counter)
|
||||
set_row (7, "@50g%5s", (const char*) _capulc);
|
||||
set_row (7, "@58g%50s", (const char*) _com);
|
||||
set_row (7, "@111g%5s", (const char*) _prov);
|
||||
set_row (8, "@120gPag.@125g%d", (const char*) contatore);
|
||||
|
||||
set_row (8, "@120gPag.@125g%ld", contatore);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
|
||||
reset_row(1);
|
||||
reset_row(2);
|
||||
reset_row(3);
|
||||
@ -149,9 +137,8 @@ void BA3300_application::set_page(int , int counter)
|
||||
set_row (2, "@1g%-50s", (const char*) descr);
|
||||
set_row (2, "@52g%16s", (const char*) _cofi);
|
||||
set_row (2, "@70g%11s", (const char*) _paiv);
|
||||
set_row (3, "@85gPag.@90g%d", (const char*) contatore);
|
||||
set_row (3, "@85gPag.@90g%ld", contatore);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
BA3300_application::BA3300_application()
|
||||
@ -160,10 +147,8 @@ BA3300_application::BA3300_application()
|
||||
|
||||
bool BA3300_application::set_print(int)
|
||||
{
|
||||
|
||||
KEY tasto;
|
||||
TString app(8);
|
||||
|
||||
TString16 app;
|
||||
|
||||
_nditte->setkey(1);
|
||||
_codice_ditta = get_firm();
|
||||
@ -177,7 +162,6 @@ bool BA3300_application::set_print(int)
|
||||
_codanagr =atol(_nditte->curr().get(N_CODANAGR));
|
||||
_msk->set(F_RAGSOC,_ragsoc);
|
||||
|
||||
|
||||
_unloc->setkey(1);
|
||||
_unloc->curr().zero();
|
||||
_unloc->curr().put(N_CODDITTA,app);
|
||||
@ -192,7 +176,6 @@ bool BA3300_application::set_print(int)
|
||||
_comulc=_unloc->curr().get(N_COMULC);
|
||||
_msk->set(F_CODCOM,_comulc);
|
||||
|
||||
|
||||
_comuni->setkey(1);
|
||||
_comuni->curr().zero();
|
||||
_comuni->curr().put(N_CODCOM,_comulc);
|
||||
@ -219,43 +202,34 @@ bool BA3300_application::set_print(int)
|
||||
if (tasto == K_ENTER)
|
||||
{
|
||||
_cod_reg = _msk->get(F_CODICE);
|
||||
_cod_anno = atol(_msk->get(F_ANNO));
|
||||
_pag_ini = atoi(_msk->get(F_NPAGINI));
|
||||
_pag_fin = atoi(_msk->get(F_NPAGFI));
|
||||
_inizia_dopo = (bool)(_msk->get(F_PRIMO) == "X");
|
||||
_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;
|
||||
enable_print_menu();
|
||||
return TRUE;
|
||||
|
||||
}
|
||||
else
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool our_handler (TMask_field& field, KEY key)
|
||||
static bool codice_handler (TMask_field& field, KEY key)
|
||||
{
|
||||
TMask& m=field.mask();
|
||||
|
||||
TTable* t = ((BA3300_application *)MainApp())->_tab;
|
||||
|
||||
if (key == K_TAB)
|
||||
{
|
||||
if (field.dlg() == F_CODICE)
|
||||
{
|
||||
long num = atol(t->curr().get("I2"));
|
||||
|
||||
m.set(F_NPAGINI, num+1);
|
||||
}
|
||||
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, num+1);
|
||||
field.mask().set(F_NPAGFI, 0L);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
const char* BA3300_application::decodifica_reg ()
|
||||
{
|
||||
TString dep(CODTABLEN);
|
||||
|
||||
_tab->curr().zero();
|
||||
dep << format ("%04d%-3s", _cod_anno, (const char*)_cod_reg);
|
||||
TString16 dep; dep.format("%04d%-3s", _cod_anno, (const char*)_cod_reg);
|
||||
|
||||
_tab->curr().put("CODTAB", (const char*)dep);
|
||||
_tab->read();
|
||||
@ -268,20 +242,13 @@ void BA3300_application::user_create()
|
||||
enable_print_menu();
|
||||
|
||||
_nditte = new TLocalisamfile (LF_NDITTE);
|
||||
|
||||
_unloc = new TLocalisamfile (LF_UNLOC);
|
||||
|
||||
_comuni = new TLocalisamfile (LF_COMUNI);
|
||||
|
||||
_anag = new TLocalisamfile (LF_ANAG);
|
||||
|
||||
//_ftab = new TLocalisamfile (LF_TAB);
|
||||
|
||||
_tab = new TTable(TAB_REG);
|
||||
|
||||
_msk = new TMask ("ba3300a") ;
|
||||
|
||||
_msk->set_handler(F_CODICE, our_handler);
|
||||
_msk->set_handler(F_CODICE, codice_handler);
|
||||
|
||||
add_cursor (NULL);
|
||||
set_auto_ff (TRUE);
|
||||
@ -295,19 +262,12 @@ void BA3300_application::user_destroy() // releasev e arrmask
|
||||
delete _comuni;
|
||||
delete _anag;
|
||||
delete _tab;
|
||||
//delete _ftab;
|
||||
close(LF_TAB);
|
||||
}
|
||||
|
||||
int ba3300(int argc, char* argv[])
|
||||
{
|
||||
|
||||
BA3300_application a;
|
||||
|
||||
a.set_config_file ("pr2.stp");
|
||||
|
||||
a.run(argc, argv, "Stampa fogli libro bollato");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "ba3300.h"
|
||||
|
||||
PAGE "" -1 -1 74 20
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
@ -9,12 +10,13 @@ BEGIN
|
||||
INPUT CODTAB[5,7] F_CODICE
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice Registro" CODTAB[5,7]
|
||||
DISPLAY "Descrizione @50" S0
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Tipo" I0
|
||||
OUTPUT F_ANNO CODTAB[1,4]
|
||||
OUTPUT F_CODICE CODTAB[5,7]
|
||||
OUTPUT F_REGISTRO S0
|
||||
FLAGS "RZ"
|
||||
FLAGS "URZ"
|
||||
CHECKTYPE REQUIRED
|
||||
KEY 1
|
||||
END
|
||||
|
||||
@ -30,6 +32,7 @@ BEGIN
|
||||
PROMPT 3 4 "Codice Registro "
|
||||
FLAGS "U"
|
||||
COPY ALL F_ANNO
|
||||
CHECKTYPE REQUIRED
|
||||
KEY 1
|
||||
END
|
||||
|
||||
@ -39,9 +42,12 @@ BEGIN
|
||||
HELP "Indicare la descrizione del registro"
|
||||
USE REG KEY 2
|
||||
INPUT S0 F_REGISTRO
|
||||
COPY DISPLAY F_ANNO
|
||||
COPY OUTPUT F_ANNO
|
||||
OUTPUT F_REGISTRO S0
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice Registro" CODTAB[5,7]
|
||||
DISPLAY "Tipo" I0
|
||||
COPY OUTPUT F_CODICE
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
@ -124,9 +130,9 @@ END
|
||||
NUMBER F_NPAGINI 6
|
||||
BEGIN
|
||||
PROMPT 3 12 "Numero pagina iniziale "
|
||||
FLAGS "R"
|
||||
FLAGS "RU"
|
||||
NUM_EXPR {#THIS_FIELD >= 0}
|
||||
WARNING "Numero pagina iniziale errato. Deve essere >= 0"
|
||||
WARNING "Numero pagina iniziale errato: non puo' essere negativo"
|
||||
END
|
||||
|
||||
NUMBER F_NPAGFI 6
|
||||
@ -134,7 +140,7 @@ BEGIN
|
||||
PROMPT 3 13 "Numero pagina finale "
|
||||
FLAGS "R"
|
||||
NUM_EXPR {#THIS_FIELD >= #F_NPAGINI}
|
||||
WARNING "Numero pagina finale errato. Deve essere >= di quello iniziale"
|
||||
WARNING "Numero pagina finale errato: deve essere maggiore o uguale a quello iniziale"
|
||||
END
|
||||
|
||||
BOOLEAN F_PRIMO
|
||||
@ -156,21 +162,15 @@ BEGIN
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
BUTTON DLG_OK
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT 38 18 ""
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT 50 18 ""
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
/*
|
||||
BUTTON DLG_PGDN
|
||||
BEGIN
|
||||
PROMPT 65 18 ""
|
||||
END
|
||||
*/
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
@ -26,7 +26,7 @@ BEGIN
|
||||
PROMPT 0 0 ""
|
||||
FIELD LF_ANAG->TIPOA
|
||||
FLAGS "HG"
|
||||
KEY 1 2
|
||||
KEY 1 2 3
|
||||
ITEM "F|Fisica"
|
||||
END
|
||||
|
||||
|
@ -24,7 +24,7 @@ PAGE "Anagrafica persone giuridiche" -1 -1 77 20
|
||||
FIELD LF_ANAG->TIPOA
|
||||
ITEM "G|Giuridica"
|
||||
FLAGS "H"
|
||||
KEY 1 2
|
||||
KEY 1 2 3
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
|
13
ba/ba6.cpp
13
ba/ba6.cpp
@ -3,17 +3,20 @@
|
||||
|
||||
#include "ba6.h"
|
||||
|
||||
#define usage "Errore - uso : %s -{0,1}"
|
||||
#define usage "Errore - uso : %s -[0,1]"
|
||||
|
||||
int main(int argc,char** argv)
|
||||
{
|
||||
const int r = (argc > 1) ? atoi(argv[1]) : -1;
|
||||
const int r = (argc > 1) ? atoi(&argv[1][1]) : -1;
|
||||
|
||||
switch (r)
|
||||
{
|
||||
case 0:ba6100(argc,argv) ; break;
|
||||
case 1:ba6200(argc,argv) ; break;
|
||||
default:error_box(usage, argv[0]) ; break;
|
||||
case 0:
|
||||
ba6100(argc,argv) ; break;
|
||||
case 1:
|
||||
ba6200(argc,argv) ; break;
|
||||
default:
|
||||
error_box(usage, argv[0]) ; break;
|
||||
}
|
||||
return r < 0;
|
||||
}
|
||||
|
@ -74,14 +74,17 @@ TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 34 5 "da Ragione Sociale"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 34 7 "a Ragione Sociale"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 34 2 "da Codice"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 48 2 "a Codice"
|
||||
@ -118,7 +121,8 @@ END
|
||||
STRING FLD_ANF_RAGSOCFR 29
|
||||
BEGIN
|
||||
PROMPT 34 6 ""
|
||||
USE LF_ANAG KEY 2 SELECT 'TIPOA=="F"'
|
||||
USE LF_ANAG KEY 2
|
||||
INPUT TIPOA "F"
|
||||
INPUT RAGSOC FLD_ANF_RAGSOCFR
|
||||
DISPLAY "Codice" CODANAGR
|
||||
DISPLAY "Codice Fiscale " COFI
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include <batbesc.h>
|
||||
#include "batbesc.h"
|
||||
|
||||
TOOLBAR "" 0 20 0 2
|
||||
|
||||
@ -30,6 +30,7 @@ END
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 4 5 "Anno esercizio "
|
||||
FLAGS "ZR"
|
||||
FIELD LF_TAB->CODTAB
|
||||
KEY 1
|
||||
USE ESC
|
||||
|
@ -18,7 +18,7 @@ NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 4 1 "Anno "
|
||||
FIELD CODTAB[1,4]
|
||||
FLAGS "AP"
|
||||
FLAGS "ZAP"
|
||||
KEY 1
|
||||
GROUP 1
|
||||
USE REG
|
||||
@ -85,7 +85,7 @@ END
|
||||
|
||||
LIST F_TIPO 26
|
||||
BEGIN
|
||||
PROMPT 30 5 "Tipo "
|
||||
PROMPT 29 5 "Tipo "
|
||||
FIELD I0
|
||||
FLAGS "G"
|
||||
GROUP 1 GR_MODIFY_PROTECTED
|
||||
|
Loading…
x
Reference in New Issue
Block a user