Corretti errori in bilancio IV direttiva e registri iva

git-svn-id: svn://10.65.10.50/trunk@778 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1994-12-20 12:19:20 +00:00
parent 6bb9550c77
commit 82a019707e
5 changed files with 2386 additions and 1286 deletions

View File

@ -273,11 +273,12 @@ class CG1600_application : public TPrintapp
TLocalisamfile* _saldi; TLocalisamfile* _saldi;
const char* _buff; const char* _buff;
TSort* _sort; TSort* _sort;
Anni_es _anni_es; Anni_es* _anni_es;
Righe_sez_opp _sezopps; Righe_sez_opp _sezopps;
TSaldi_list* _listasld; TSaldi_list* _listasld;
TProgind* _prog; TProgind* _prog;
TParagraph_string * _descr; TParagraph_string* _descr;
Saldo* _sld;
TDate _data_fine_ese,_data_fine_ese_prec,_data_fine_raf,_data_fine_raf_prec; TDate _data_fine_ese,_data_fine_ese_prec,_data_fine_raf,_data_fine_raf_prec;
TDate _datastampa,_datalimite,_databilrafr,_datai,_datairaf; TDate _datastampa,_datalimite,_databilrafr,_datai,_datairaf;
@ -291,7 +292,6 @@ class CG1600_application : public TPrintapp
TString _numr_da_stamp,_num_da_stamp,_numr_stamp,_num_stamp,_descr_sez; TString _numr_da_stamp,_num_da_stamp,_numr_stamp,_num_stamp,_descr_sez;
int _tipo_bilancio, _tipo_stampa; int _tipo_bilancio, _tipo_stampa;
int _cont_let,_cont_numr,_cont_num,_cont_gcs,_num; int _cont_let,_cont_numr,_cont_num,_cont_gcs,_num;
Saldo _sld;
real _sale,_salerafr,_totale_ordine,_totale_economico; real _sale,_salerafr,_totale_ordine,_totale_economico;
real _totale_ordine_raf,_totale_economico_raf; real _totale_ordine_raf,_totale_economico_raf;
real _totale_numero,_totale_numr,_totale_lettera,_totale_sezione; real _totale_numero,_totale_numr,_totale_lettera,_totale_sezione;
@ -479,7 +479,7 @@ bool data_limite (TMask_field& f, KEY key)
if (annoese != 0) if (annoese != 0)
{ {
a()._anni_es.aggiungi_anno(annoese, in, fin); a()._anni_es->aggiungi_anno(annoese, in, fin);
a()._data_fine_ese = fin; a()._data_fine_ese = fin;
a()._data_ini_ese = in; a()._data_ini_ese = in;
@ -558,7 +558,7 @@ bool data_bil_raff (TMask_field& f, KEY key)
in = a()._inizioEs; in = a()._inizioEs;
} }
else else
a()._anni_es.aggiungi_anno(annoese, in, fin); a()._anni_es->aggiungi_anno(annoese, in, fin);
TString instr = in.string(); TString instr = in.string();
if (dataraf != botime) if (dataraf != botime)
@ -599,7 +599,7 @@ bool data_bil_raff (TMask_field& f, KEY key)
else else
if (annoraf != 0) if (annoraf != 0)
{ {
a()._anni_es.aggiungi_anno(annoraf, in_raf, fin_raf); a()._anni_es->aggiungi_anno(annoraf, in_raf, fin_raf);
a()._data_fine_raf = fin_raf; a()._data_fine_raf = fin_raf;
a()._data_ini_raf = in_raf; a()._data_ini_raf = in_raf;
@ -641,7 +641,7 @@ bool anno_ese_raff (TMask_field& f, KEY key)
{ {
if (annoese != 0) if (annoese != 0)
{ {
if (annoraf > annoese) if (annoraf >= annoese)
{ {
f.error_box("L' anno esercizio da raffrontare deve essere inferiore all' anno esercizio in corso"); f.error_box("L' anno esercizio da raffrontare deve essere inferiore all' anno esercizio in corso");
return FALSE; return FALSE;
@ -779,7 +779,7 @@ bool data_inizio(TMask_field& f, KEY k)
{ {
if (anno != 0) if (anno != 0)
{ {
a()._anni_es.aggiungi_anno(anno, in, fin); a()._anni_es->aggiungi_anno(anno, in, fin);
a()._data_ini_ese = in; a()._data_ini_ese = in;
a()._data_fine_ese = fin; a()._data_fine_ese = fin;
a()._anno_esercizio = anno; a()._anno_esercizio = anno;
@ -837,7 +837,7 @@ bool data_fine(TMask_field& f, KEY k)
{ {
if (annoes != 0) if (annoes != 0)
{ {
a()._anni_es.aggiungi_anno(annoes, in, fin); a()._anni_es->aggiungi_anno(annoes, in, fin);
a()._data_ini_ese = in; a()._data_ini_ese = in;
a()._data_fine_ese = fin; a()._data_fine_ese = fin;
@ -1399,7 +1399,7 @@ void CG1600_application::crea_sort_piano_conti_verifica()
real saldo,sld_prg_dare,sld_prg_avere,mov_dare,mov_avere; real saldo,sld_prg_dare,sld_prg_avere,mov_dare,mov_avere;
real saldo_conto,sld_prg_dare_conto,sld_prg_avere_conto,mov_dare_conto,mov_avere_conto; real saldo_conto,sld_prg_dare_conto,sld_prg_avere_conto,mov_dare_conto,mov_avere_conto;
_sld.set_annoes(_anno_esercizio); _sld->set_annoes(_anno_esercizio);
saldo_conto = ZERO; saldo_conto = ZERO;
sld_prg_dare_conto = ZERO; sld_prg_dare_conto = ZERO;
@ -1539,9 +1539,9 @@ void CG1600_application::crea_sort_piano_conti_verifica()
else else
if (_tipo_stampa == 2) if (_tipo_stampa == 2)
{ {
if (!_sld.ultima_immissione_verifica(_anno_esercizio,g,c,s,indbil)) if (!_sld->ultima_immissione_verifica(_anno_esercizio,g,c,s,indbil))
continue; continue;
app = _sld.saldoini(); app = _sld->saldoini();
if (app < ZERO) if (app < ZERO)
{ {
app = -app; app = -app;
@ -1553,8 +1553,8 @@ void CG1600_application::crea_sort_piano_conti_verifica()
sld_prg_dare = app; sld_prg_dare = app;
sld_prg_avere = ZERO; sld_prg_avere = ZERO;
} }
mov_dare = _sld.prgdare(); mov_dare = _sld->prgdare();
mov_avere = _sld.prgavere(); mov_avere = _sld->prgavere();
saldo = sld_prg_dare-sld_prg_avere+mov_dare-mov_avere; saldo = sld_prg_dare-sld_prg_avere+mov_dare-mov_avere;
} }
@ -1667,9 +1667,9 @@ void CG1600_application::sottoc_clifo_verifica(int g,int c,int anno,char tipocf,
else else
if (_tipo_stampa == 2) if (_tipo_stampa == 2)
{ {
if (!_sld.ultima_immissione_bilancio(_anno_esercizio,g,c,s,indbil)) if (!_sld->ultima_immissione_bilancio(_anno_esercizio,g,c,s,indbil))
continue; continue;
app = _sld.saldoini(); app = _sld->saldoini();
if (app < ZERO) if (app < ZERO)
{ {
app = -app; app = -app;
@ -1681,8 +1681,8 @@ void CG1600_application::sottoc_clifo_verifica(int g,int c,int anno,char tipocf,
sld_prg_dare = app; sld_prg_dare = app;
sld_prg_avere = ZERO; sld_prg_avere = ZERO;
} }
mov_dare = _sld.prgdare(); mov_dare = _sld->prgdare();
mov_avere = _sld.prgavere(); mov_avere = _sld->prgavere();
saldo = sld_prg_dare-sld_prg_avere+mov_dare-mov_avere; saldo = sld_prg_dare-sld_prg_avere+mov_dare-mov_avere;
} }
@ -1748,23 +1748,23 @@ bool CG1600_application::calcola_saldo(real& saldo, real& saldo_raf,int g,int c,
bool esiste = FALSE; bool esiste = FALSE;
TString saldostr,saldo_rafstr; TString saldostr,saldo_rafstr;
_sld.set_annoes(_anno_esercizio); _sld->set_annoes(_anno_esercizio);
if (_tipo_bilancio == 1) if (_tipo_bilancio == 1)
{ {
if (_tipo_stampa == 1) //bilancio per data limite if (_tipo_stampa == 1) //bilancio per data limite
{ {
esiste = _sld.data_limite_bilancio(_tipo_stampa,g,c,s,_datai,_datalimite,indbil,_stampa_mov_prov); esiste = _sld->data_limite_bilancio(_tipo_stampa,g,c,s,_datai,_datalimite,indbil,_stampa_mov_prov);
saldo = _sld.saldo(); saldo = _sld->saldo();
if (!esiste && (!_sld.esiste_saldo() || !_sld.significativo())) if (!esiste && (!_sld->esiste_saldo() || !_sld->significativo()))
no_movimentato = TRUE; no_movimentato = TRUE;
else else
if (!_stampamov) if (!_stampamov)
{ {
if (saldo == ZERO) if (saldo == ZERO)
{ {
if (!_sld.esiste_saldo() || !_sld.significativo()) if (!_sld->esiste_saldo() || !_sld->significativo())
no_movimentato = TRUE; no_movimentato = TRUE;
else else
no_movimentato = FALSE; no_movimentato = FALSE;
@ -1782,9 +1782,9 @@ bool CG1600_application::calcola_saldo(real& saldo, real& saldo_raf,int g,int c,
} }
else if (_tipo_stampa == 2) else if (_tipo_stampa == 2)
{ {
if (!_sld.ultima_immissione_bilancio(_anno_esercizio,g,c,s,indbil)) if (!_sld->ultima_immissione_bilancio(_anno_esercizio,g,c,s,indbil))
{ {
if (!_sld.esiste_saldo() || !_sld.significativo()) if (!_sld->esiste_saldo() || !_sld->significativo())
no_movimentato = TRUE; no_movimentato = TRUE;
else else
no_movimentato = FALSE; no_movimentato = FALSE;
@ -1792,13 +1792,13 @@ bool CG1600_application::calcola_saldo(real& saldo, real& saldo_raf,int g,int c,
else else
no_movimentato = FALSE; no_movimentato = FALSE;
saldo = _sld.saldo(); saldo = _sld->saldo();
} }
saldostr = saldo.string(); saldostr = saldo.string();
if (_annoeserafr != 0 || _databilrafr != botime) if (_annoeserafr != 0 || _databilrafr != botime)
{ {
_sld.set_annoes(_anno_esercizio_raf); _sld->set_annoes(_anno_esercizio_raf);
if (_databilrafr != _data_fine_raf) //(_tipo_stampa == 1) bilancio per data limite if (_databilrafr != _data_fine_raf) //(_tipo_stampa == 1) bilancio per data limite
{ {
@ -1806,17 +1806,17 @@ bool CG1600_application::calcola_saldo(real& saldo, real& saldo_raf,int g,int c,
TString16 datadep (_databilrafr.string()); TString16 datadep (_databilrafr.string());
TString16 datadep2 (_datairaf.string()); TString16 datadep2 (_datairaf.string());
#endif #endif
esiste = _sld.data_limite_bilancio(DataLimite,g,c,s,_datairaf,_databilrafr,indbil,_stampa_mov_prov); esiste = _sld->data_limite_bilancio(DataLimite,g,c,s,_datairaf,_databilrafr,indbil,_stampa_mov_prov);
saldo_raf = _sld.saldo(); saldo_raf = _sld->saldo();
if (!esiste && (!_sld.esiste_saldo() || !_sld.significativo())) if (!esiste && (!_sld->esiste_saldo() || !_sld->significativo()))
no_movimentato_raf = TRUE; no_movimentato_raf = TRUE;
else else
if (!_stampamov) if (!_stampamov)
{ {
if (saldo_raf == ZERO) if (saldo_raf == ZERO)
{ {
if (!_sld.esiste_saldo() || !_sld.significativo()) if (!_sld->esiste_saldo() || !_sld->significativo())
no_movimentato_raf = TRUE; no_movimentato_raf = TRUE;
else else
no_movimentato_raf = FALSE; no_movimentato_raf = FALSE;
@ -1834,9 +1834,9 @@ bool CG1600_application::calcola_saldo(real& saldo, real& saldo_raf,int g,int c,
} }
else if (_databilrafr == _data_fine_raf) //(_tipo_stampa == 2) else if (_databilrafr == _data_fine_raf) //(_tipo_stampa == 2)
{ {
if (!_sld.ultima_immissione_bilancio(_anno_esercizio_raf,g,c,s,indbil)) if (!_sld->ultima_immissione_bilancio(_anno_esercizio_raf,g,c,s,indbil))
{ {
if (!_sld.esiste_saldo() || !_sld.significativo()) if (!_sld->esiste_saldo() || !_sld->significativo())
no_movimentato_raf = TRUE; no_movimentato_raf = TRUE;
else else
no_movimentato_raf = FALSE; no_movimentato_raf = FALSE;
@ -1844,7 +1844,7 @@ bool CG1600_application::calcola_saldo(real& saldo, real& saldo_raf,int g,int c,
else else
no_movimentato_raf = FALSE; no_movimentato_raf = FALSE;
saldo_raf = _sld.saldo(); saldo_raf = _sld->saldo();
} }
saldo_rafstr = saldo_raf.string(); saldo_rafstr = saldo_raf.string();
} }
@ -2089,6 +2089,9 @@ void CG1600_application::stampa_totali()
diff_prod.format("%c%c",'9','B'); diff_prod.format("%c%c",'9','B');
ris_imp.format ("%c%c%8s%2s",'9','E',"","21"); ris_imp.format ("%c%c%8s%2s",'9','E',"","21");
TString16 classe;
classe.format("%c%c%8s%2s", _sez_da_stamp,_let_da_stamp,(const char*)_numr_da_stamp,(const char*)_num_da_stamp);
_num = atoi(_num_tot); _num = atoi(_num_tot);
_numr = _numr_tot; _numr = _numr_tot;
_let = _let_tot; _let = _let_tot;
@ -2121,10 +2124,6 @@ void CG1600_application::stampa_totali()
} }
if (_sez_stamp == '9') if (_sez_stamp == '9')
{ {
TString16 classe;
classe.format("%c%c%8s%2s", _sez_da_stamp,_let_da_stamp,(const char*)_numr_da_stamp,(const char*)_num_da_stamp);
if (classe > ris_imp && _risimp_fatto) if (classe > ris_imp && _risimp_fatto)
{ {
if (_num_tot == "20" || _num_tot == "21") if (_num_tot == "20" || _num_tot == "21")
@ -2503,8 +2502,14 @@ void CG1600_application::stampa_totali()
} }
if (_risimp_fatto) if (_risimp_fatto)
{ {
if (_let_da_stamp == 'E' && (_num_da_stamp == "20" || _num_da_stamp == "21"))
{
set_row (_i,"@4gTotale delle partite straordinarie");
set_row (_i++,"@86g%r", &_totale_parziale);
set_row (_i,"@4gRisultato prima delle imposte"); set_row (_i,"@4gRisultato prima delle imposte");
set_row (_i++,"@86g%r", &_totale_economico); set_row (_i++,"@86g%r", &_totale_economico);
_risimp_fatto = FALSE;
}
} }
} }
@ -2535,6 +2540,10 @@ void CG1600_application::stampa_totali_con_raffronto()
diff_prod.format("%c%c",'9','B'); diff_prod.format("%c%c",'9','B');
ris_imp.format ("%c%c%8s%2s",'9','E',"","21"); ris_imp.format ("%c%c%8s%2s",'9','E',"","21");
TString16 classe;
classe.format("%c%c%8s%2s", _sez_da_stamp,_let_da_stamp,(const char*)_numr_da_stamp,(const char*)_num_da_stamp);
_num = atoi(_num_tot); _num = atoi(_num_tot);
_numr = _numr_tot; _numr = _numr_tot;
_let = _let_tot; _let = _let_tot;
@ -2569,10 +2578,6 @@ void CG1600_application::stampa_totali_con_raffronto()
} }
if (_sez_stamp == '9') if (_sez_stamp == '9')
{ {
TString16 classe;
classe.format("%c%c%8s%2s", _sez_da_stamp,_let_da_stamp,(const char*)_numr_da_stamp,(const char*)_num_da_stamp);
if (classe > ris_imp && _risimp_fatto) if (classe > ris_imp && _risimp_fatto)
{ {
if (_num_tot == "20" || _num_tot == "21") if (_num_tot == "20" || _num_tot == "21")
@ -3014,9 +3019,16 @@ void CG1600_application::stampa_totali_con_raffronto()
} }
if (_risimp_fatto) if (_risimp_fatto)
{ {
if (_let_da_stamp == 'E' && (_num_da_stamp == "20" || _num_da_stamp == "21"))
{
set_row (_i,"@4gTotale delle partite straordinarie");
set_row (_i,"@86g%r", &_totale_parziale);
set_row (_i++,"@112g%r", &_totale_parziale_raf);
set_row (_i,"@4gRisultato prima delle imposte"); set_row (_i,"@4gRisultato prima delle imposte");
set_row (_i,"@86g%r", &_totale_economico); set_row (_i,"@86g%r", &_totale_economico);
set_row (_i++,"@112g%r", &_totale_economico_raf); set_row (_i++,"@112g%r", &_totale_economico_raf);
_risimp_fatto = FALSE;
}
} }
} }
char app = ' '; char app = ' ';
@ -3661,6 +3673,20 @@ bool CG1600_application::preprocess_stampa_scalare(int counter)
saldostr = _sale.string(); saldostr = _sale.string();
saldo_rafstr = _salerafr.string(); saldo_rafstr = _salerafr.string();
// Faccio passare solo i sottoconti o i conti non dettagliati (che non hanno sottoconti)
// perchè l' importo dei conti dettagliati non è altri che il totale degli importi di
// tutti i suoi sottoconti; dunque se li sommassi anche loro, sommerei l'importo due volte.
// Pero' devo ricordarmi di cambiare ugualmente segno ai conti che vanno dettagliati.
if (g != 0 && c != 0 && s == 0 && conto_dettagliato)
if (_sez_da_stamp == '9')
{
_sale = -_sale;
if (_annoeserafr != 0 || _databilrafr != botime)
_salerafr = -_salerafr;
}
if ((g != 0 && c != 0 && s != 0)||(g != 0 && c != 0 && s == 0 && !conto_dettagliato)) if ((g != 0 && c != 0 && s != 0)||(g != 0 && c != 0 && s == 0 && !conto_dettagliato))
{ {
// if (_sez_da_stamp == '5') // if (_sez_da_stamp == '5')
@ -4908,7 +4934,11 @@ bool CG1600_application::user_create()
_tabivd = new TTable (TAB_IVD); _tabivd = new TTable (TAB_IVD);
_tabesc = new TTable (TAB_ESC); _tabesc = new TTable (TAB_ESC);
_anni_es = new Anni_es();
_sld = new Saldo();
_msk = new TMask("cg1600a"); _msk = new TMask("cg1600a");
return TRUE; return TRUE;
} }
@ -4926,6 +4956,9 @@ bool CG1600_application::user_destroy()
delete _clifo; delete _clifo;
delete _saldi; delete _saldi;
delete _descr; delete _descr;
delete _anni_es;
delete _sld;
return TRUE; return TRUE;
} }

File diff suppressed because it is too large Load Diff

View File

@ -7,12 +7,17 @@
#include <tabutil.h> #include <tabutil.h>
#include <utility.h> #include <utility.h>
#include <urldefid.h> #include <urldefid.h>
#include <text.h>
#include <mailbox.h>
#include <execp.h>
#include <sheet.h> #include <sheet.h>
#include <config.h> #include <config.h>
#include <prefix.h>
#include <conto.h>
#include <nditte.h> #include <nditte.h>
#include <anagr.h> #include <anagr.h>
#include <comuni.h> #include <comuni.h>
#include <unloc.h>
#include <mov.h> #include <mov.h>
#include <rmoviva.h> #include <rmoviva.h>
#include <clifo.h> #include <clifo.h>
@ -27,34 +32,41 @@ class CG4400_application : public TPrintapp
{ {
TCursor * _cur; TCursor * _cur;
TRelation *_rel; TRelation *_rel;
TLocalisamfile *_clifo, *_nditte, *_occas, *_tab, *_tabcom, *_com, *_anag; TLocalisamfile *_clifo, *_nditte, *_occas, *_tab, *_tabcom, *_com, *_anag, *_unloc, *_attiv;
TTable *_tabreg, *_tablbu, *_tabinl, *_tablim, *_tabpim, *_tablia, *_tabiva; TTable *_tabreg, *_tablbu, *_tabinl, *_tablim, *_tabpim, *_tablia, *_tabiva;
TTable *_tabpla, *_tabppa, *_tabvid;
TRigaiva_array _iva_array, _riga_rmi; TRigaiva_array _iva_array, _riga_rmi;
TTipodoc_array _doc_array; TTipodoc_array _doc_array;
TRiga_array _tot_iva_array; TRiga_array _tot_iva_array;
TBit_array _selected; TBit_array _selected;
TArray_sheet *_ditte; TArray_sheet *_ditte;
bool _st_liq[12];
TRecnotype _nrec; TRecnotype _nrec;
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf; bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf, _stampa;
bool _corrispettivi, _esiste_riga_iva; bool _corrispettivi, _liquidazione, _riep_liq, _stampa_ind_comp, _esiste_riga_iva, _stampa_cred_pre;
char _frequiva; bool _rif_vid, _intesta_vidi, _intesta_liq, _stampa_data_reg, _ok_vidi;
char _frequiva, _tipo_riepilogativo;
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg; TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
long _n_ditte, _u_stampata, _primast; TDate _u_data;
int _fino_a_mese, _tipo_reg, _tipo_stampa, _pagine_stampate; long _n_ditte, _u_stampata, _primast, __firm, _uprotivap;
int _annoes, _r, _stampa_width; // riga corrente di stampa long _numini, _pagine_stampate;
real _totale_doc; int _fino_a_mese, _tipo_reg, _tipo_stampa, _cod_un_loc;
TString _codreg, _desc_lib, _codatt, _attivita; int _annoes, _r, _stampa_width, _mese_ultima_liq, _mese_credito;
TString _tipodoc, _descr_doc, _codlib; int _stampa_len, _stampa_mese;
real _totale_doc, _credito;
TString _codreg, _desc_lib, _codatt, _attivita, _tipoatt;
TString _tipodoc, _descr_doc, _codlib, _codice_vidi;
TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis; TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis;
protected: protected:
const char* desc_attivita (const char * codatt); const char* desc_attivita ();
const char* descr_doc (const char * tipo); const char* tipo_attivita ();
const char* descr_iva (const char * cod); const char* descr_doc ();
const char* ricerca_cf (char tipocf, long codcf); const char* descr_iva (const char *);
const char* ricerca_occ(const char * occ); TRectype& ricerca_occ(const char*);
TRectype& ricerca_cf (char, long);
TRectype& look_comuni(const char*);
int setta_riga (int, const TRigaiva&, real&, real&, real&, real&); int setta_riga (int, const TRigaiva&, real&, real&, real&, real&);
int riga_rmoviva(); int riga_rmoviva();
bool set_print(int); bool set_print(int);
@ -63,30 +75,41 @@ protected:
bool compila_lib(); bool compila_lib();
bool controlla_liquidazione(); bool controlla_liquidazione();
bool controlla_mov(); bool controlla_mov();
bool stampo_liquidazione(int);
bool ventilazione(const char*); bool ventilazione(const char*);
void cerca_reg(const TString&, byte&, TDate&); bool cerca_libro_gio(TString&);
//void leggi_movimenti(const TDate&, const TString&, bool&); bool look_reg (long, int, TString&, int, const char*, int*);
void stampa_registri_IVA(const TMask&); bool look_regs(int, TString&, int, int*);
bool stampa_totali_finali();
bool stampa_datareg();
bool stampa_registri_IVA(const TMask&);
void cerca_reg(const TString&, byte*);
void set_page_tot_reg(); void set_page_tot_reg();
void send_message(char, const TFilename&,int);
void aggiorna_reg(); void aggiorna_reg();
void aggiorna_lib(); void aggiorna_lib();
void calcola_progressivi(real&, real&, const char*, const int); void calcola_progressivi();
bool user_create(); bool user_create();
bool user_destroy(); bool user_destroy();
bool preprocess_page(int, int); bool preprocess_page(int, int);
int stampa_intestazione(); int stampa_intestazione();
int stampa_prospetto(); int stampa_prospetto();
void stampa_plafonds(int);
void get_dati_ditta(); void get_dati_ditta();
void stampa_acquisti(int); void stampa_vidi();
int stampa_acquisti(int);
real stampa_valori_plafonds(const real&, const int, TTable&);
bool preprocess_print(int, int); bool preprocess_print(int, int);
print_action postprocess_print(int, int); //print_action postprocess_print(int, int);
print_action postprocess_page (int, int); print_action postprocess_page (int, int);
void preprocess_header(); void preprocess_header();
static bool filter_func (const TRelation * r); static bool filter_func (const TRelation * r);
static bool mask_tipo_stampa (TMask_field&, KEY);
static bool mask_firm_to (TMask_field&, KEY); static bool mask_firm_to (TMask_field&, KEY);
static bool mask_cod (TMask_field&, KEY); static bool mask_cod (TMask_field&, KEY);
static bool mask_libun (TMask_field&, KEY);
static bool mask_data (TMask_field&, KEY); static bool mask_data (TMask_field&, KEY);
static bool mask_mese (TMask_field&, KEY); static bool mask_mese (TMask_field&, KEY);
static bool mask_fino_a_mese (TMask_field&, KEY); static bool mask_fino_a_mese (TMask_field&, KEY);

View File

@ -20,6 +20,8 @@
#define MESE 118 #define MESE 118
#define CODICE_LIBRO_PROVA 119 #define CODICE_LIBRO_PROVA 119
#define RIF_VID 120 #define RIF_VID 120
#define STAMPA_WIDTH 121
#define STAMPA_LEN 122

View File

@ -5,19 +5,18 @@
PAGE "Stampa registri IVA" -1 -1 56 18 PAGE "Stampa registri IVA" -1 -1 56 18
LISTBOX TIPO_STAMPA 1 48 LISTBOX TIPO_STAMPA 1 48
BEGIN BEGIN
PROMPT 2 1 "Tipo " PROMPT 2 1 "Tipo "
HELP "Indicare il tipo di stampa da eseguire" HELP "Indicare il tipo di stampa da eseguire"
ITEM "3|Stampa di prova" ITEM "1|Stampa di prova"
MESSAGE SHOW,3@|SHOW,CODICE_LIBRO_PROVA|SHOW,DATA_STAMPA|HIDE,1@|RESET,1@|HIDE,2@|RESET,2@ MESSAGE SHOW,3@|SHOW,CODICE_LIBRO_PROVA|SHOW,DATA_STAMPA|HIDE,1@|RESET,1@|HIDE,2@|RESET,2@|HIDE,4@|RESET,4@
ITEM "1|Libri bollati della ditta" ITEM "2|Libri bollati della ditta"
MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,4@|RESET,4@
ITEM "2|Libri unici dello studio" ITEM "3|Libri unici dello studio"
MESSAGE SHOW,2@|HIDE,1@|RESET,1@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA MESSAGE SHOW,2@|HIDE,1@|RESET,1@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,4@|RESET,4@
ITEM "4|Libri con riferimenti al libro giornale" ITEM "4|Libri con riferimenti al libro giornale"
MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,4@|RESET,4@
END END
GROUPBOX DLG_NULL 35 5 GROUPBOX DLG_NULL 35 5
@ -25,60 +24,56 @@ BEGIN
PROMPT 20 2 "Scelta ditte" PROMPT 20 2 "Scelta ditte"
END END
NUMBER DA_CODICE 5 NUMBER DA_CODICE 6
BEGIN BEGIN
PROMPT 21 3 "Da codice " PROMPT 21 3 "Da codice "
HELP "Codice ditta di partenza per la selezione" FLAGS "UR"
HELP "Codice ditta di inizio selezione"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
CHECKTYPE NORMAL //CHECKTYPE NORMAL
INPUT CODDITTA DA_CODICE INPUT CODDITTA DA_CODICE
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT DA_CODICE CODDITTA OUTPUT DA_CODICE CODDITTA
END END
NUMBER A_CODICE 5 NUMBER A_CODICE 6
BEGIN BEGIN
PROMPT 21 4 "A codice " PROMPT 21 4 "A codice "
FLAGS "UR"
HELP "Codice ditta di fine selezione" HELP "Codice ditta di fine selezione"
COPY USE DA_CODICE COPY USE DA_CODICE
CHECKTYPE NORMAL //CHECKTYPE NORMAL
INPUT CODDITTA A_CODICE INPUT CODDITTA A_CODICE
COPY DISPLAY DA_CODICE COPY DISPLAY DA_CODICE
OUTPUT A_CODICE CODDITTA OUTPUT A_CODICE CODDITTA
END END
STRING F_SELECT 5 STRING F_SELECT 6
BEGIN BEGIN
PROMPT 21 5 "Scelte n. " PROMPT 21 5 "Scelte n. "
FLAGS "D" FLAGS "DR"
END END
BUTTON DLG_SELECT 9 2 BUTTON DLG_SELECT 9 2
BEGIN BEGIN
PROMPT 42 3 "~Selezione" PROMPT 42 3 "~Selezione"
HELP "Indicare le ditta da selezionare per la stampa" HELP "Indicare le ditte da selezionare per la stampa"
END END
BUTTON F_ANNULLA 9 BUTTON F_ANNULLA 9
BEGIN BEGIN
PROMPT 42 5 "A~zzera" PROMPT 42 5 "A~zzera"
HELP "Togliere la selezione alle ditte" HELP "Annullare la selezione delle ditte"
MESSAGE RESET,DA_CODICE|RESET,A_CODICE MESSAGE RESET,DA_CODICE|RESET,A_CODICE
END END
DATE DATA_STAMPA DATE DATA_STAMPA
BEGIN BEGIN
PROMPT 28 7 "Data stampa " PROMPT 28 7 "Data stampa "
<<<<<<< cg4400a.uml
FLAGS "A" FLAGS "A"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
WARNING "Inserire la data di stampa" WARNING "Inserire la data di stampa"
=======
HELP "Data in cui viene stampato il registro"
FLAG "AH"
GROUP 3
>>>>>>> 1.14
END END
NUMBER ANNO 4 NUMBER ANNO 4
@ -103,7 +98,7 @@ BEGIN
OUTPUT ANNO CODTAB[1,4] OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIBRO CODTAB[5,7] OUTPUT CODICE_LIBRO CODTAB[5,7]
//CHECKTYPE NORMAL //CHECKTYPE NORMAL
FLAGS "UZ" FLAGS "UR"
GROUP 1 GROUP 1
END END
@ -119,13 +114,7 @@ BEGIN
DISPLAY "Descrizione @40" S0 DISPLAY "Descrizione @40" S0
OUTPUT ANNO CODTAB[1,4] OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIBRO_PROVA CODTAB[5,7] OUTPUT CODICE_LIBRO_PROVA CODTAB[5,7]
<<<<<<< cg4400a.uml
FLAGS "UR" FLAGS "UR"
=======
//CHECKTYPE NORMAL
FLAGS "UZ"
GROUP 1
>>>>>>> 1.15
END END
STRING CODICE_LIB_UN 3 STRING CODICE_LIB_UN 3
@ -153,15 +142,15 @@ END
DATE DA_DATA DATE DA_DATA
BEGIN BEGIN
PROMPT 5 9 "Dalla data " PROMPT 3 9 "Dalla data "
HELP "Data di partenza per la stampa del registro" HELP "Data di inizio stampa registro"
GROUP 3 GROUP 3
END END
DATE A_DATA DATE A_DATA
BEGIN BEGIN
PROMPT 30 9 "Alla data " PROMPT 30 9 "Alla data "
HELP "Data di fine per la stampa del registro" HELP "Data di fine stampa registro"
VALIDATE DATE_CMP_FUNC >= DA_DATA VALIDATE DATE_CMP_FUNC >= DA_DATA
WARNING "Inserire una data non inferiore alla data limite inferiore" WARNING "Inserire una data non inferiore alla data limite inferiore"
GROUP 3 GROUP 3
@ -169,7 +158,7 @@ END
LISTBOX FINO_A_MESE 10 LISTBOX FINO_A_MESE 10
BEGIN BEGIN
PROMPT 5 9 "Fino al mese " PROMPT 4 9 "Fino al mese "
HELP "Mese fino al quale eseguire la stampa" HELP "Mese fino al quale eseguire la stampa"
FLAGS "M" FLAGS "M"
GROUP 1 GROUP 1
@ -177,7 +166,7 @@ END
LISTBOX MESE 10 LISTBOX MESE 10
BEGIN BEGIN
PROMPT 5 9 "Mese " PROMPT 4 9 "Mese "
HELP "Mese di cui eseguire la stampa" HELP "Mese di cui eseguire la stampa"
FLAGS "M" FLAGS "M"
GROUP 2 GROUP 2
@ -186,41 +175,59 @@ END
LISTBOX TIPO_RIEPILOGATIVO 11 LISTBOX TIPO_RIEPILOGATIVO 11
BEGIN BEGIN
PROMPT 2 11 "Tipo riepilogativo " PROMPT 2 11 "Tipo riepilogativo "
HELP "Indicare il periodo di cui si vuole stampare il registro" HELP "Indicare il tipo stampa di liquidazione sul registro"
ITEM "P|Del periodo" ITEM "P|Del periodo"
ITEM "A|Annuale" ITEM "A|Annuale"
GROUP 1 GROUP 4
END END
LISTBOX ULTIMO_MESE 10 GROUPBOX DLG_NULL 35 4
BEGIN BEGIN
PROMPT 2 12 "Ultimo mese stampa su libro unico " PROMPT 2 12 "Formato pagina"
FLAGS "MD"
GROUP 2
END END
LISTBOX STAMPA_WIDTH 4
BEGIN
PROMPT 3 13 "Numero di colonne "
HELP "Numero di colonne per pagina del modulo di stampa."
ITEM "1|132"
ITEM "2|198"
END
NUMBER STAMPA_LEN 3
BEGIN
PROMPT 3 14 "Numero di righe "
HELP "Numero di righe per pagina del modulo di stampa. Se non specificato assume 66 righe"
END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
PAGE "Stampa registri IVA" -1 -1 56 18
NUMBER ULTIMA_PAGINA 4 NUMBER ULTIMA_PAGINA 4
BEGIN BEGIN
<<<<<<< cg4400a.uml PROMPT 2 2 "Ultimo numero di pagina stampata libro unico "
PROMPT 2 13 "Ultimo numero di pagina stampata libro unico "
=======
PROMPT 2 12 "Ultimo numero di pagina stampata libro unico "
HELP "Numero dell'ultima pagina del libro unico stampata" HELP "Numero dell'ultima pagina del libro unico stampata"
>>>>>>> 1.14
FLAGS "R" FLAGS "R"
GROUP 2 GROUP 2
END END
STRING CODICE_LIBRO_IVA 3 STRING CODICE_LIBRO_IVA 3
BEGIN BEGIN
<<<<<<< cg4400a.uml PROMPT 2 3 "Eventuale codice libro IVA "
PROMPT 2 14 "Eventuale codice libro IVA "
HELP "Se non viene indicato nessun cod. libro IVA, vengono stampati tutti i registri delle ditte selezionate"
=======
PROMPT 2 13 "Eventuale codice libro IVA "
HELP "Libro IVA da stampare. Vuoto = tutti" HELP "Libro IVA da stampare. Vuoto = tutti"
>>>>>>> 1.14 USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111)
USE REG SELECT (I0<"3") && (S6=="") && (CODTAB[1,4]==#111)
INPUT CODTAB[1,4] ANNO INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIBRO_IVA INPUT CODTAB[5,7] CODICE_LIBRO_IVA
DISPLAY "Anno " CODTAB[1,4] DISPLAY "Anno " CODTAB[1,4]
@ -229,14 +236,21 @@ BEGIN
OUTPUT ANNO CODTAB[1,4] OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIBRO_IVA CODTAB[5,7] OUTPUT CODICE_LIBRO_IVA CODTAB[5,7]
//CHECKTYPE NORMAL //CHECKTYPE NORMAL
FLAGS "UZ" FLAGS "UR"
GROUP 2
END
LISTBOX ULTIMO_MESE 10
BEGIN
PROMPT 2 4 "Ultimo mese stampa su libro unico "
FLAGS "MD"
GROUP 2 GROUP 2
END END
BOOLEAN RIF_VID BOOLEAN RIF_VID
BEGIN BEGIN
PROMPT 2 15 "Stampa riferimenti vidimazione" PROMPT 2 5 "Stampa riferimenti vidimazione"
GROUP 2 GROUP 4
END END
BUTTON DLG_PRINT 10 2 BUTTON DLG_PRINT 10 2
@ -253,3 +267,4 @@ END
ENDPAGE ENDPAGE
ENDMASK ENDMASK