1994-10-26 12:21:30 +00:00
# include <mask.h>
# include <printapp.h>
# include <relation.h>
# include <tabutil.h>
# include <utility.h>
# include <sort.h>
# include <progind.h>
# include <nditte.h>
1995-01-24 15:47:46 +00:00
# include <anagr.h>
# include <comuni.h>
1994-10-26 12:21:30 +00:00
# include "ba3.h"
# include "ba3600.h"
# define ALIAS 50
static TString256 tmp ;
const int TABLBU = ( int ) TTable : : name2log ( " %LBU " ) ;
class BA3600_application : public TPrintapp
{
struct ind_lib
{
char mese [ 3 ] ;
char anno [ 5 ] ;
char nini_plib [ 6 ] ;
long num_riga ;
long nfin_plib ;
long codditta ;
char cod_reg [ 4 ] ;
long nini_put ;
long nfin_put ;
char cod_vid [ 4 ] ;
bool stamp_bol ;
bool pag_ann ;
} ;
TMask * _msk ;
TTable * _tab_lbu ;
TTable * _tab_reg ;
1995-02-14 16:28:44 +00:00
TLocalisamfile * _indlib ;
1994-10-26 12:21:30 +00:00
TLocalisamfile * _nditte ;
1995-01-24 15:47:46 +00:00
TLocalisamfile * _anag ;
TLocalisamfile * _comuni ;
1994-10-26 12:21:30 +00:00
TSort * _sort ;
TProgind * _prog ;
ind_lib * _lib ;
const char * _buff ;
TDate _datastampa ;
1995-01-24 15:47:46 +00:00
int _tipo_stampa , _meseda , _mesea , _mese , _meseprec ;
1994-10-26 12:21:30 +00:00
long _anno , _numini_paglib , _numfin_paglib , _numini_pagut , _numfin_pagut ;
1995-01-24 15:47:46 +00:00
long _codditta , _pag_fin , _num_riga , _nfin_plib_prec , _codana_intesta , _codana_ditta ;
TString _cod_lib , _cod_lib_su , _rag_soc , _cod_reg , _descrizione , _cod_vidimaz ;
TString _cod_lib_stampa , _stamp_bollato_str , _desc_cod_lib , _desc_cod_lib_su ;
char _tipo_intesta , _tipoa_ditta ;
bool _stamp_bollato , _pag_ann , _pag_fuori_sequenza , _stampa_intesta , _stampa_ind ;
TString _ind_dta , _civ_dta , _cap_dta , _com_dta , _prov_dta ;
1994-10-26 12:21:30 +00:00
public :
bool menu ( MENU_TAG m ) { return TPrintapp : : menu ( m ) ; }
1994-11-11 17:47:21 +00:00
virtual bool user_create ( ) ;
virtual bool user_destroy ( ) ;
1994-10-26 12:21:30 +00:00
bool set_print ( int ) ;
virtual bool preprocess_page ( int , int ) ;
virtual print_action postprocess_page ( int , int ) ;
virtual void preprocess_header ( ) ;
virtual void set_page ( int , int ) ;
void init_sort ( ) ;
void crea_sort ( ) ;
bool preprocess_prova ( int ) ;
bool preprocess_bollato ( ) ;
1995-01-24 15:47:46 +00:00
void crea_intestazione_prova ( ) ;
void crea_intestazione_bollato ( ) ;
1994-10-26 12:21:30 +00:00
const char * ragsoc_ditta ( long ) ;
const char * descrizione_codreg ( TString & ) ;
void setta_righe_prova ( ) ;
void setta_righe_bollato ( ) ;
1995-01-24 15:47:46 +00:00
void dati_libro_unico ( ) ;
void intestatario ( TString & , TString & , TString & , TString & , TString & , TString & , TString & , TString & ) ;
void compatta_ragsoc ( TString & ) ;
void descrizione ( ) ;
void dati_anagrafici_ditta ( TString & , TString & , TString & , TString & , TString & ) ;
1994-10-26 12:21:30 +00:00
BA3600_application ( ) { }
} ;
void BA3600_application : : init_sort ( )
{
_lib = new ind_lib ;
_sort = new TSort ( sizeof ( ind_lib ) ) ;
_sort - > addsortkey ( ( char * ) & ( _lib - > mese ) - ( char * ) & ( _lib - > mese ) , 2 ) ;
_sort - > addsortkey ( ( char * ) & ( _lib - > anno ) - ( char * ) & ( _lib - > anno ) , 4 ) ;
_sort - > addsortkey ( ( char * ) & ( _lib - > nini_plib ) - ( char * ) & ( _lib - > nini_plib ) , 5 ) ;
_sort - > init ( ) ;
}
//Crea sort ordina i record della tabella %INL per mese registrazione, anno
//registrazione e numero iniziale pagine registro libro unico
void BA3600_application : : crea_sort ( )
{
long anno , numini_paglib , numfin_paglib , codditta , numini_pagut , numfin_pagut ;
TString cod_reg , cod_vidimaz , dep , app ;
long mese , ultimo_mese ;
bool stamp_bollato = FALSE ;
bool pagine_ann = FALSE ;
bool stampato = FALSE ;
mese = 0 ;
ultimo_mese = 0 ;
init_sort ( ) ;
_tab_lbu - > zero ( ) ;
// TString dep (format ("%4d%-3s", _anno, (const char*) _cod_lib));
// sprintf(__tmp, "%4d", _anno);
// strcat (__tmp, _cod_lib);
dep = format ( " %4d " , _anno ) ;
dep < < format ( " %-3s " , ( const char * ) _cod_lib ) ;
_tab_lbu - > put ( " CODTAB " , ( const char * ) dep ) ;
if ( _tab_lbu - > read ( _isequal ) = = NOERR )
1995-02-14 16:28:44 +00:00
{
_indlib - > setkey ( 1 ) ;
_indlib - > zero ( ) ;
_indlib - > put ( " ANNO " , _anno ) ;
_indlib - > put ( " CODLIB " , ( const char * ) _cod_lib ) ;
1994-10-26 12:21:30 +00:00
1995-02-14 16:28:44 +00:00
TRectype rec ( _indlib - > curr ( ) ) ;
1994-10-26 12:21:30 +00:00
1995-02-14 16:28:44 +00:00
for ( _indlib - > read ( ) ; ! _indlib - > eof ( ) ; _indlib - > next ( ) )
1994-10-26 12:21:30 +00:00
{
1995-02-14 16:28:44 +00:00
if ( _indlib - > curr ( ) > rec ) break ;
1994-10-26 12:21:30 +00:00
1995-02-14 16:28:44 +00:00
mese = _indlib - > get_int ( " MESEREG " ) ;
1994-10-26 12:21:30 +00:00
if ( ( ( _tipo_stampa = = 1 ) & & ( mese > = _meseda ) & & ( mese < = _mesea ) ) | |
1995-02-14 16:28:44 +00:00
( ( _tipo_stampa = = 2 ) & & ( mese < = _mesea ) ) )
1994-10-26 12:21:30 +00:00
{
1995-02-14 16:28:44 +00:00
long num_riga = _indlib - > get_long ( " NUMREG " ) ;
anno = _indlib - > get_long ( " ANNOREG " ) ;
numini_paglib = _indlib - > get_long ( " PAGINI " ) ;
numfin_paglib = _indlib - > get_long ( " PAGFIN " ) ;
codditta = _indlib - > get_long ( " CODDITTA " ) ;
cod_reg = _indlib - > get ( " CODREG " ) ;
cod_vidimaz = _indlib - > get ( " CODVID " ) ;
numini_pagut = _indlib - > get_long ( " PAGINIUT " ) ;
numfin_pagut = _indlib - > get_long ( " PAGFINUT " ) ;
stamp_bollato = _indlib - > get_bool ( " STAMPATO " ) ;
pagine_ann = _indlib - > get_bool ( " ANNULLATE " ) ;
1994-10-26 12:21:30 +00:00
//Se tipo_stampa = 1 (stampa di prova) stampo ugualmente. Se tipo_stampa = 2
// (stampa su bollato), stampo solamente se il flag di stampa su bollato e'
// FALSE.
if ( ( _tipo_stampa = = 1 ) | | ( ( _tipo_stampa = = 2 ) & & ( ! stamp_bollato ) ) )
{
ultimo_mese = mese ;
stampato = TRUE ;
sprintf ( _lib - > mese , " %2d " , mese ) ;
sprintf ( _lib - > anno , " %4d " , anno ) ;
sprintf ( _lib - > nini_plib , " %5d " , numini_paglib ) ;
1995-02-14 16:28:44 +00:00
_lib - > num_riga = num_riga ;
1994-10-26 12:21:30 +00:00
_lib - > nfin_plib = numfin_paglib ;
_lib - > codditta = codditta ;
sprintf ( _lib - > cod_reg , " %3s " , ( const char * ) cod_reg ) ;
_lib - > nini_put = numini_pagut ;
_lib - > nfin_put = numfin_pagut ;
sprintf ( _lib - > cod_vid , " %3s " , ( const char * ) cod_vidimaz ) ;
_lib - > stamp_bol = stamp_bollato ;
_lib - > pag_ann = pagine_ann ;
_sort - > sort ( ( const char * ) _lib ) ;
//Se si tratta di una stampa su bollato e il flag "stampa su bollato" indica
//che non e' mai stato stampato su bollato (flag = FALSE), allora devo stampare
//il record della tabella %INL, e contemporaneamente aggiornare il flag, per
//evitare di ristampare successivamente su bollato
if ( _tipo_stampa = = 2 )
{
1995-02-14 16:28:44 +00:00
_indlib - > put ( " STAMPATO " , " X " ) ;
_indlib - > rewrite ( ) ;
1994-10-26 12:21:30 +00:00
}
}
}
}
_sort - > endsort ( ) ;
}
// Se si tratta di una stampa su libro bollato, aggiorno sulla tabella %LBU // l' ultimo mese stampato, l' ultima pagina stampata e il flag che indica se
// quel record e' stato stampato su bollato
if ( ( _tipo_stampa = = 2 ) & & ( stampato ) ) // stampato e' il flag che mi dice
{ //se almeno un record, nella stampa
_tab_lbu - > put ( " I0 " , ultimo_mese ) ; //su bollato, va in stampa. In caso
_tab_lbu - > put ( " I1 " , numfin_paglib ) ; //contrario non avrebbe senso
_tab_lbu - > rewrite ( ) ; //aggiornare %LBU. ES:tutti i record
} //di quel mese sono gia stati stampati
} //su bollato (flag = TRUE).
1995-01-24 15:47:46 +00:00
void BA3600_application : : dati_libro_unico ( )
{
TTable lbu ( " %LBU " ) ;
TString dep ;
lbu . zero ( ) ;
dep = format ( " %4d " , _anno ) ;
dep < < format ( " %-3s " , ( const char * ) _cod_lib ) ;
lbu . put ( " CODTAB " , ( const char * ) dep ) ;
if ( lbu . read ( _isequal ) = = NOERR )
{
_stampa_intesta = lbu . get_bool ( " B0 " ) ;
_stampa_ind = lbu . get_bool ( " B1 " ) ;
_tipo_intesta = lbu . get_char ( " S2 " ) ;
_codana_intesta = lbu . get_long ( " I4 " ) ;
_desc_cod_lib = lbu . get ( " S2 " ) ;
}
}
void BA3600_application : : descrizione ( )
{
TTable lbu ( " %LBU " ) ;
TString dep ;
lbu . zero ( ) ;
dep = format ( " %4d " , _anno ) ;
dep < < format ( " %-3s " , ( const char * ) _cod_lib_su ) ;
lbu . put ( " CODTAB " , ( const char * ) dep ) ;
if ( lbu . read ( _isequal ) = = NOERR )
_desc_cod_lib_su = lbu . get ( " S2 " ) ;
}
void BA3600_application : : intestatario ( TString & cofi , TString & paiv , TString & ragsoc , TString & ind ,
TString & civ , TString & cap , TString & com , TString & prov )
{
TString codcom ;
_anag - > setkey ( 1 ) ;
_anag - > zero ( ) ;
_anag - > put ( ANA_TIPOA , _tipo_intesta ) ;
_anag - > put ( ANA_CODANAGR , _codana_intesta ) ;
if ( _anag - > read ( _isequal ) = = NOERR )
{
cofi = _anag - > get ( ANA_COFI ) ;
paiv = _anag - > get ( ANA_PAIV ) ;
codcom = _anag - > get ( ANA_COMRF ) ;
ragsoc = _anag - > get ( ANA_RAGSOC ) ;
if ( codcom ! = " " )
{
ind = _anag - > get ( ANA_INDRF ) ;
civ = _anag - > get ( ANA_CIVRF ) ;
cap = _anag - > get ( ANA_CAPRF ) ;
}
else
{
codcom = _anag - > get ( ANA_COMRES ) ;
ind = _anag - > get ( ANA_INDRES ) ;
civ = _anag - > get ( ANA_CIVRES ) ;
cap = _anag - > get ( ANA_CAPRES ) ;
}
}
_comuni - > setkey ( 1 ) ;
_comuni - > zero ( ) ;
_comuni - > put ( COM_COM , codcom ) ;
if ( _comuni - > read ( _isequal ) = = NOERR )
{
com = _comuni - > get ( COM_DENCOM ) ;
prov = _comuni - > get ( COM_PROVCOM ) ;
}
}
1994-10-26 12:21:30 +00:00
bool BA3600_application : : set_print ( int )
{
KEY tasto ;
1995-02-03 18:29:00 +00:00
// _msk->set_mode(MODE_QUERY);
1994-10-26 12:21:30 +00:00
tasto = _msk - > run ( ) ;
if ( tasto = = K_ENTER )
{
_tipo_stampa = _msk - > get_int ( F_TIPO_STAMPA ) ;
if ( _tipo_stampa = = 1 )
{
_cod_lib = _msk - > get ( F_LIBRO_UNICO1 ) ;
_datastampa = ( _msk - > get ( F_DATA_STAMPA ) ) ;
_meseda = _msk - > get_int ( F_MESEDA ) ;
_mesea = _msk - > get_int ( F_MESEA ) ;
1995-02-03 18:29:00 +00:00
_anno = _msk - > get_long ( F_ANNO ) ;
1994-10-26 12:21:30 +00:00
}
else if ( _tipo_stampa = = 2 )
{
_cod_lib = _msk - > get ( F_LIBRO_UNICO2 ) ;
1995-01-24 15:47:46 +00:00
_cod_lib_su = _msk - > get ( F_CODLIB_STAMPA ) ;
1994-10-26 12:21:30 +00:00
_mesea = _msk - > get_int ( F_STAMPA_MESE ) ;
_anno = _msk - > get_long ( F_STAMPA_ANNO ) ;
_cod_lib_stampa = _msk - > get ( F_CODLIB_STAMPA ) ;
_pag_fin = _msk - > get_long ( F_PAGFINALE ) ;
}
1995-01-24 15:47:46 +00:00
_meseprec = 0 ;
1994-10-26 12:21:30 +00:00
_pag_fuori_sequenza = FALSE ;
1995-01-24 15:47:46 +00:00
dati_libro_unico ( ) ;
1994-10-26 12:21:30 +00:00
crea_sort ( ) ;
1995-01-24 15:47:46 +00:00
if ( _tipo_stampa = = 2 )
crea_intestazione_bollato ( ) ;
1994-10-26 12:21:30 +00:00
return TRUE ;
}
return FALSE ;
}
/*********
bool BA3600_application : : preprocess_page ( int file , int counter )
{
if ( _tipo_stampa = = 1 )
{
if ( preprocess_prova ( counter ) )
return TRUE ;
else
return FALSE ;
}
else if ( _tipo_stampa = = 2 )
{
if ( preprocess_bollato ( ) )
return TRUE ;
else
return FALSE ;
}
return TRUE ;
}
* * * * * * * * * * */
bool BA3600_application : : preprocess_page ( int file , int counter )
{
struct ind_lib * lib = ( struct ind_lib * ) _buff ;
long nini_plib ;
reset_print ( ) ;
_buff = _sort - > retrieve ( ) ;
if ( _buff ! = NULL )
{
lib = ( struct ind_lib * ) _buff ;
1995-01-24 15:47:46 +00:00
_mese = atoi ( lib - > mese ) ;
1994-10-26 12:21:30 +00:00
_numini_paglib = atoi ( lib - > nini_plib ) ;
_numfin_paglib = lib - > nfin_plib ;
_codditta = lib - > codditta ;
_rag_soc = ragsoc_ditta ( _codditta ) ;
1995-01-24 15:47:46 +00:00
dati_anagrafici_ditta ( _ind_dta , _civ_dta , _cap_dta , _com_dta , _prov_dta ) ;
1994-10-26 12:21:30 +00:00
_cod_reg = lib - > cod_reg ;
_descrizione = descrizione_codreg ( _cod_reg ) ;
_cod_vidimaz = lib - > cod_vid ;
_numini_pagut = lib - > nini_put ;
_numfin_pagut = lib - > nfin_put ;
_num_riga = lib - > num_riga ;
_stamp_bollato = lib - > stamp_bol ;
_pag_ann = lib - > pag_ann ;
// _stamp_bollato_str = _stamp_bollato.string();
//Il controllo di pagine fuori sequenza viene sempre effettuato, tranne che per
//il primo record.
if ( counter )
{
nini_plib = _numini_paglib - 1 ;
1995-01-24 15:47:46 +00:00
1994-10-26 12:21:30 +00:00
if ( _nfin_plib_prec ! = nini_plib )
_pag_fuori_sequenza = TRUE ;
else
_pag_fuori_sequenza = FALSE ;
1995-01-24 15:47:46 +00:00
if ( _mese ! = _meseprec )
printer ( ) . formfeed ( ) ;
1994-10-26 12:21:30 +00:00
}
1995-01-24 15:47:46 +00:00
_meseprec = _mese ;
1994-10-26 12:21:30 +00:00
_nfin_plib_prec = _numfin_paglib ;
return TRUE ;
}
else
return FALSE ;
return TRUE ;
}
/*******
bool BA3600_application : : preprocess_bollato ( )
{
}
* * * * * */
void BA3600_application : : set_page ( int file , int counter )
{
if ( _tipo_stampa = = 1 )
setta_righe_prova ( ) ;
else if ( _tipo_stampa = = 2 )
setta_righe_bollato ( ) ;
}
void BA3600_application : : setta_righe_prova ( )
{
int i ;
i = 1 ;
if ( _pag_fuori_sequenza )
set_row ( i + + , " @10gPAGINE FUORI SEQUENZA " ) ;
1995-01-24 15:47:46 +00:00
set_row ( i , " @1g#t " , & _cod_lib ) ;
set_row ( i , " @6g#5d " , & _numini_paglib ) ;
set_row ( i , " @13g#5d " , & _numfin_paglib ) ;
set_row ( i , " @21g#5d " , & _codditta ) ;
set_row ( i , " @27g#.41t " , & _rag_soc ) ;
set_row ( i , " @69g#t " , & _cod_reg ) ;
set_row ( i , " @73g#.31t " , & _descrizione ) ;
set_row ( i , " @105g#t " , & _cod_vidimaz ) ;
set_row ( i , " @111g#5d " , & _numini_pagut ) ;
set_row ( i , " @117g#5d " , & _numfin_pagut ) ;
set_row ( i , " @124g#5d " , & _num_riga ) ;
set_row ( i + + , " @130g#t " , & _stamp_bollato_str ) ;
if ( _stampa_ind )
set_row ( i , " @27g#t #t #t #t #t " , & _ind_dta , & _civ_dta , & _cap_dta , & _com_dta , & _prov_dta ) ;
1994-10-26 12:21:30 +00:00
}
void BA3600_application : : setta_righe_bollato ( )
{
int i ;
i = 1 ;
if ( _pag_fuori_sequenza )
set_row ( i + + , " @10gPAGINE FUORI SEQUENZA " ) ;
set_row ( i , " @1g#t " , & _cod_lib ) ;
set_row ( i , " @6g#5d " , & _numini_paglib ) ;
set_row ( i , " @13g#5d " , & _numfin_paglib ) ;
if ( ( _pag_ann ) & & ( _codditta = = 0 ) )
set_row ( i , " @27gPAGINE ANNULLATE " ) ;
else
{
set_row ( i , " @21g#5d " , & _codditta ) ;
set_row ( i , " @27g#.41t " , & _rag_soc ) ;
}
if ( ( _pag_ann ) & & ( _cod_reg = = " " ) )
set_row ( i , " @73gPAGINE ANNULLATE " ) ;
else
{
set_row ( i , " @69g#t " , & _cod_reg ) ;
set_row ( i , " @73g#.31t " , & _descrizione ) ;
}
set_row ( i , " @105g#t " , & _cod_vidimaz ) ;
set_row ( i , " @111g#5d " , & _numini_pagut ) ;
set_row ( i , " @117g#5d " , & _numfin_pagut ) ;
set_row ( i , " @124g#5d " , & _num_riga ) ;
1995-01-24 15:47:46 +00:00
set_row ( i + + , " @130g#t " , & _stamp_bollato_str ) ;
if ( _stampa_ind )
set_row ( i , " @27g#t #t #t #t #t " , & _ind_dta , & _civ_dta , & _cap_dta , & _com_dta , & _prov_dta ) ;
1994-10-26 12:21:30 +00:00
}
print_action BA3600_application : : postprocess_page ( int file , int counter )
1995-01-24 15:47:46 +00:00
{
1994-10-26 12:21:30 +00:00
if ( _buff = = NULL )
return NEXT_PAGE ;
return REPEAT_PAGE ;
}
const char * BA3600_application : : ragsoc_ditta ( long codditta )
{
TLocalisamfile nditte ( LF_NDITTE ) ;
nditte . zero ( ) ;
nditte . put ( NDT_CODDITTA , codditta ) ;
nditte . read ( ) ;
1995-01-24 15:47:46 +00:00
if ( nditte . bad ( ) )
1994-10-26 12:21:30 +00:00
nditte . zero ( ) ;
tmp = nditte . get ( NDT_RAGSOC ) ;
1995-01-24 15:47:46 +00:00
_tipoa_ditta = nditte . get_char ( NDT_TIPOA ) ;
_codana_ditta = nditte . get_long ( NDT_CODANAGR ) ;
1994-10-26 12:21:30 +00:00
return tmp ;
}
1995-01-24 15:47:46 +00:00
void BA3600_application : : dati_anagrafici_ditta ( TString & ind , TString & civ , TString & cap ,
TString & com , TString & prov )
{
TLocalisamfile anag ( LF_ANAG ) ;
TLocalisamfile comuni ( LF_COMUNI ) ;
TString codcom ;
anag . setkey ( 1 ) ;
anag . zero ( ) ;
anag . put ( ANA_TIPOA , _tipoa_ditta ) ;
anag . put ( ANA_CODANAGR , _codana_ditta ) ;
if ( anag . read ( _isequal ) = = NOERR )
{
codcom = anag . get ( ANA_COMRF ) ;
if ( codcom ! = " " )
{
ind = anag . get ( ANA_INDRF ) ;
civ = anag . get ( ANA_CIVRF ) ;
cap = anag . get ( ANA_CAPRF ) ;
}
else
{
codcom = anag . get ( ANA_COMRES ) ;
ind = anag . get ( ANA_INDRES ) ;
civ = anag . get ( ANA_CIVRES ) ;
cap = anag . get ( ANA_CAPRES ) ;
}
}
comuni . setkey ( 1 ) ;
comuni . zero ( ) ;
comuni . put ( COM_COM , codcom ) ;
if ( comuni . read ( _isequal ) = = NOERR )
{
com = comuni . get ( COM_DENCOM ) ;
prov = comuni . get ( COM_PROVCOM ) ;
}
}
1994-10-26 12:21:30 +00:00
const char * BA3600_application : : descrizione_codreg ( TString & codreg )
{
TString16 dep ;
_tab_reg - > zero ( ) ;
dep = format ( " %4d " , _anno ) ;
dep < < format ( " %-3s " , ( const char * ) codreg ) ;
_tab_reg - > put ( " CODTAB " , dep ) ;
_tab_reg - > read ( ) ;
if ( _tab_reg - > bad ( ) )
_tab_reg - > zero ( ) ;
tmp = _tab_reg - > get ( " S0 " ) ;
return tmp ;
}
1995-01-24 15:47:46 +00:00
void BA3600_application : : compatta_ragsoc ( TString & ragsoc )
{
TString app ;
if ( _tipo_intesta = = ' F ' )
{
app = ragsoc . mid ( 29 , 20 ) ;
app . trim ( ) ;
ragsoc = ragsoc . mid ( 0 , 30 ) ;
ragsoc . trim ( ) ;
ragsoc < < ' ' < < app ;
}
}
1994-10-26 12:21:30 +00:00
void BA3600_application : : preprocess_header ( )
1995-01-24 15:47:46 +00:00
{
if ( _tipo_stampa = = 1 )
crea_intestazione_prova ( ) ;
1994-10-26 12:21:30 +00:00
}
1995-01-24 15:47:46 +00:00
void BA3600_application : : crea_intestazione_prova ( )
1994-10-26 12:21:30 +00:00
{
TString datastampastr ;
TString sep ( 132 ) ;
1995-01-24 15:47:46 +00:00
TString cofi , paiv , ind , civ , cap , com , prov , ragsoc ;
intestatario ( cofi , paiv , ragsoc , ind , civ , cap , com , prov ) ;
compatta_ragsoc ( ragsoc ) ;
1994-10-26 12:21:30 +00:00
reset_header ( ) ;
1995-01-24 15:47:46 +00:00
set_header ( 1 , " Studio %s %s %s %s %s %s " , ( const char * ) ragsoc , ( const char * ) ind , ( const char * ) civ ,
( const char * ) cap , ( const char * ) com , ( const char * ) prov ) ;
1994-10-26 12:21:30 +00:00
sep < < " Pag. @# " ;
sep . right_just ( 132 ) ;
set_header ( 2 , ( const char * ) sep ) ;
datastampastr = _datastampa . string ( ) ;
1995-01-24 15:47:46 +00:00
set_header ( 2 , " @0gPartita iva %11s " , ( const char * ) paiv ) ;
set_header ( 2 , " @30gCodice fiscale %16s " , ( const char * ) cofi ) ;
set_header ( 2 , " @75gLIBRO UNICO DI PROVA " ) ;
set_header ( 2 , " @105gData@110g%s " , ( const char * ) datastampastr ) ;
set_header ( 3 , " @0gLibro unico : %s %s " , ( const char * ) _cod_lib , ( const char * ) _desc_cod_lib ) ;
TString mese = itom ( _mese ) ;
set_header ( 3 , " @75gmese di %s " , ( const char * ) mese ) ;
set_header ( 3 , " @92g%4d " , _anno ) ;
sep . fill ( ' - ' ) ; //Stampa 132 - (sep(132))
set_header ( 4 , ( const char * ) sep ) ;
set_header ( 5 , " @0gCod.@6gNumero@13gpagine@21gCodice@69gCod.@104gCodice@111gN.pag.@118gutente@126gNum.@131gF " ) ;
set_header ( 6 , " @0gLibro@8gda@16ga@21gditta@28gDenominazione@69greg.@74gDescrizione@104gvidim.@112gutilizzate@126greg.@131g8 " ) ;
set_header ( 7 , ( const char * ) sep ) ;
}
void BA3600_application : : crea_intestazione_bollato ( )
{
TString datastampastr ;
TString sep ( 132 ) ;
TString cofi , paiv , ind , civ , cap , com , prov , ragsoc ;
descrizione ( ) ;
reset_header ( ) ;
sep < < " Pag. @# " ;
sep . right_just ( 132 ) ;
set_header ( 2 , ( const char * ) sep ) ;
datastampastr = _datastampa . string ( ) ;
if ( _stampa_intesta )
{
intestatario ( cofi , paiv , ragsoc , ind , civ , cap , com , prov ) ;
compatta_ragsoc ( ragsoc ) ;
set_header ( 1 , " Studio %s %s %s %s %s %s " , ( const char * ) ragsoc , ( const char * ) ind , ( const char * ) civ ,
( const char * ) cap , ( const char * ) com , ( const char * ) prov ) ;
set_header ( 2 , " @0gPartita iva %11s " , ( const char * ) paiv ) ;
set_header ( 2 , " @30gCodice fiscale %16s " , ( const char * ) cofi ) ;
1994-10-26 12:21:30 +00:00
}
1995-01-24 15:47:46 +00:00
set_header ( 3 , " @0gLibro unico : %s %s " , ( const char * ) _cod_lib_su , ( const char * ) _desc_cod_lib_su ) ;
TString mese = itom ( _mesea ) ;
set_header ( 3 , " @75gmese di %s " , ( const char * ) mese ) ;
set_header ( 3 , " @92g%4d " , _anno ) ;
1994-10-26 12:21:30 +00:00
sep . fill ( ' - ' ) ; //Stampa 132 - (sep(132))
set_header ( 4 , ( const char * ) sep ) ;
set_header ( 5 , " @0gCod.@6gNumero@13gpagine@21gCodice@69gCod.@104gCodice@111gN.pag.@118gutente@126gNum.@131gF " ) ;
set_header ( 6 , " @0gLibro@8gda@16ga@21gditta@28gDenominazione@69greg.@74gDescrizione@104gvidim.@112gutilizzate@126greg.@131g8 " ) ;
set_header ( 7 , ( const char * ) sep ) ;
}
1994-11-11 17:47:21 +00:00
bool BA3600_application : : user_create ( )
1994-10-26 12:21:30 +00:00
{
_nditte = new TLocalisamfile ( LF_NDITTE ) ;
1995-01-24 15:47:46 +00:00
_anag = new TLocalisamfile ( LF_ANAG ) ;
_comuni = new TLocalisamfile ( LF_COMUNI ) ;
1995-02-14 16:28:44 +00:00
_indlib = new TLocalisamfile ( LF_INDLIB ) ;
1994-10-26 12:21:30 +00:00
_tab_lbu = new TTable ( TAB_LBU ) ;
_tab_reg = new TTable ( TAB_REG ) ;
_msk = new TMask ( " ba3600a " ) ;
1994-11-11 17:47:21 +00:00
return TRUE ;
1994-10-26 12:21:30 +00:00
}
1994-11-11 17:47:21 +00:00
bool BA3600_application : : user_destroy ( )
1994-10-26 12:21:30 +00:00
{
delete _msk ;
delete _tab_lbu ;
delete _tab_reg ;
1995-02-14 16:28:44 +00:00
delete _indlib ;
1994-10-26 12:21:30 +00:00
delete _nditte ;
1995-01-24 15:47:46 +00:00
delete _anag ;
delete _comuni ;
1994-11-11 17:47:21 +00:00
return TRUE ;
1994-10-26 12:21:30 +00:00
}
int ba3600 ( int argc , char * argv [ ] )
{
BA3600_application a ;
a . run ( argc , argv , " Stampa indici registro libro unico " ) ;
return 0 ;
}