Patch level : 2.1 021
Files correlati : Quelli dalle Patch 2.0 Ricompilazione Demo : [ ] Commento : Riportata la Versione 2.0 patch 720 git-svn-id: svn://10.65.10.50/trunk@11897 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0f320dc0f2
commit
01cd8cfe92
@ -531,9 +531,13 @@ void TClifo_application::ini2mask(TConfig& ini, TMask& m, bool query)
|
||||
if (!query)
|
||||
{
|
||||
ini.set_paragraph("17");
|
||||
TToken_string nonacc(ini.get(CFV_NONACCEFF), ';');
|
||||
TToken_string nonscd(ini.get(CFV_NONSCADEFF), ';');
|
||||
set_pnae(m, nonacc, nonscd);
|
||||
|
||||
if (ini.exist(CFV_NONACCEFF))
|
||||
{
|
||||
TToken_string nonacc(ini.get(CFV_NONACCEFF), ';');
|
||||
TToken_string nonscd(ini.get(CFV_NONSCADEFF), ';');
|
||||
set_pnae(m, nonacc, nonscd);
|
||||
}
|
||||
|
||||
if (_gesven)
|
||||
{
|
||||
|
@ -2173,12 +2173,16 @@ void TStampa_IVdirettiva::stampa_risultato_prima_delle_imposte()
|
||||
// set_row (_i,"@4g%s@81g%r", TR("Risultato prima delle imposte"), &_totale_economico);
|
||||
// _totale_economico += _sale; // Guy was here 18/02/2004: Altrimenti ignora la prima imposta
|
||||
|
||||
// Guy was here 05/03/2004: Altrimenti ignora la prima imposta
|
||||
// Guy was here 05/03/2004: La prima imposta e' gia' stata sommata
|
||||
const real te = _totale_economico-_sale;
|
||||
set_row (_i,"@4g%s@81g%r", TR("Risultato prima delle imposte"), &te);
|
||||
|
||||
if (raff)
|
||||
set_row (_i,"@111g%r", &_totale_economico_raf);
|
||||
{
|
||||
// Guy was here 10/03/2004: La prima imposta e' gia' stata sommata anche qui
|
||||
const real te = _totale_economico_raf-_salerafr;
|
||||
set_row (_i,"@111g%r", &te);
|
||||
}
|
||||
_i++;
|
||||
_risimp_fatto = FALSE;
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ class TMastrini_application : public TPrintapp
|
||||
TDate _dataregrmov;
|
||||
int _gruppof,_contof;
|
||||
long _sottocf;
|
||||
TString _dataregrmovstring,_importo_str,_saldo_movimenti_str,_saldo_progressivi_str;
|
||||
TString _dataregrmovstring,_importo_str,_saldo_movimenti_str;
|
||||
|
||||
int _rw, _conta_mastrini, _indice_array, _item, _item_lista, _indice_lista;
|
||||
int _ddociva_len;
|
||||
@ -1453,6 +1453,11 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
_saldo_progressivi += _saldo_progre_prec;
|
||||
_rw = stampa_progre_riporto(_rw);
|
||||
}
|
||||
else
|
||||
{
|
||||
calcola_progressivi();
|
||||
_saldo_progressivi += _saldo_progre_prec; // Se trovo quel cazzone che ha scritto sto programma...
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2000,7 +2005,6 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
const int righe_rimaste = printer().rows_left();
|
||||
_stampato = righe_rimaste >= 1;
|
||||
|
||||
_saldo_progressivi_str=real2str(_saldo_progressivi);
|
||||
_saldo_movimenti_str=real2str(_saldo_movimenti);
|
||||
if (_numcarat == 2)
|
||||
{
|
||||
@ -2036,27 +2040,9 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
}
|
||||
if (print_sald)
|
||||
{
|
||||
/* new 32 bit mode
|
||||
if (_flag_del_cazzo)
|
||||
{
|
||||
calcola_progressivi();
|
||||
_saldo_progressivi += _saldo_progre_prec;
|
||||
set_row (_rw,"@135g%r", &_saldo_progressivi);
|
||||
_saldo_progressivi -= _saldo_progre_prec;
|
||||
_flag_del_cazzo = FALSE;
|
||||
}
|
||||
else
|
||||
set_row (_rw,"@135g%r", &_saldo_progressivi);
|
||||
*/
|
||||
/* old 16 bit mode */
|
||||
real saldo_prog = _saldo_progressivi;
|
||||
if (_stampa_progressivi_si)
|
||||
{
|
||||
calcola_progressivi();
|
||||
saldo_prog += _saldo_progre_prec;
|
||||
}
|
||||
set_row(_rw,"@135g%r", &saldo_prog);
|
||||
}
|
||||
// Nuovo mpode semplificato
|
||||
set_row (_rw,"@135g%r", &_saldo_progressivi);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -2881,7 +2867,7 @@ void TMastrini_application::crea_intestazione()
|
||||
}
|
||||
|
||||
calcola_progressivi();
|
||||
_saldo_progressivi += _saldo_progre_prec;
|
||||
// _saldo_progressivi += _saldo_progre_prec; // Se trovo quel cazzone che ha scritto sto programma...
|
||||
|
||||
if (_stampa_progressivi_si)
|
||||
{
|
||||
|
302
ef/ef0600.cpp
302
ef/ef0600.cpp
@ -13,11 +13,11 @@
|
||||
|
||||
#define PICTURE_IMPORTO "###.###.###.##@,@@"
|
||||
|
||||
enum pt { st_undefined = 0, st_banca = 1, st_cliente = 2, st_distinta = 3, st_scadenza = 4};
|
||||
enum pt { st_undefined, st_banca_app, st_cliente, st_distinta, st_scadenza, st_banca_pre };
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Classe per le stampe di controllo degli effetti in portafoglio //
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Classe per le stampe di controllo degli effetti in portafoglio //
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class TPrint_effetti_app : public TPrintapp
|
||||
{
|
||||
pt _pr_type;
|
||||
@ -25,7 +25,8 @@ class TPrint_effetti_app : public TPrintapp
|
||||
TPrintrow _pr;
|
||||
TString _ban, _banp, _cli, _val, _data_stampa, _ban_prec;
|
||||
TDate _scad_prec;
|
||||
int _cur_1, _cur_2, _cur_3, _cur_4, _cur_5, _cur_6, _interline, _colonne;
|
||||
int _cur_1, _cur_2, _cur_3, _cur_4, _cur_5, _cur_6, _cur_7;
|
||||
int _interline, _colonne;
|
||||
long _dist_prec, _cliente_prec;
|
||||
char _tipo_prec, _tipocf_prec;
|
||||
real _tot_data, _tot_mese, _tot_banca, _tot_distinta, _tot_tip_dist, _tot_cliente, _tot_stampa;
|
||||
@ -39,7 +40,8 @@ public:
|
||||
virtual void preprocess_header();
|
||||
virtual print_action postprocess_page(int file, int counter);
|
||||
void header_scadenza();
|
||||
void header_banca();
|
||||
void header_banca_app();
|
||||
void header_banca_pre();
|
||||
void header_distinta();
|
||||
void header_cliente();
|
||||
virtual bool user_create();
|
||||
@ -48,7 +50,8 @@ public:
|
||||
virtual void set_page (int file, int counter);
|
||||
void write_bancapp();
|
||||
void set_scadenza();
|
||||
void set_banca();
|
||||
void set_banca_app();
|
||||
void set_banca_pre();
|
||||
void set_distinta();
|
||||
void set_cliente();
|
||||
const char* get_field(int ln, const char* fn) {return current_cursor()->curr(ln).get(fn);}
|
||||
@ -295,20 +298,22 @@ void TPrint_effetti_app::preprocess_header()
|
||||
|
||||
switch(_pr_type)
|
||||
{
|
||||
case st_scadenza:
|
||||
header_scadenza();
|
||||
break;
|
||||
case st_banca:
|
||||
header_banca();
|
||||
break;
|
||||
case st_distinta:
|
||||
header_distinta();
|
||||
break;
|
||||
case st_cliente:
|
||||
header_cliente();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case st_scadenza:
|
||||
header_scadenza();
|
||||
break;
|
||||
case st_banca_app:
|
||||
header_banca_app();
|
||||
break;
|
||||
case st_distinta:
|
||||
header_distinta();
|
||||
break;
|
||||
case st_cliente:
|
||||
header_cliente();
|
||||
break;
|
||||
case st_banca_pre:
|
||||
header_banca_pre();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -326,7 +331,7 @@ void TPrint_effetti_app::header_scadenza()
|
||||
}
|
||||
|
||||
// setta l'header per la stampa per banca di appoggio
|
||||
void TPrint_effetti_app::header_banca()
|
||||
void TPrint_effetti_app::header_banca_app()
|
||||
{
|
||||
int j = 2;
|
||||
set_header(j, FR("@45g@bSTAMPA RI.BA. PER BANCA D'APPOGGIO")); j++;
|
||||
@ -338,6 +343,18 @@ void TPrint_effetti_app::header_banca()
|
||||
set_header(j, (const char *)(TString(_colonne).fill('_')));
|
||||
}
|
||||
|
||||
// setta l'header per la stampa per banca di presentazione
|
||||
void TPrint_effetti_app::header_banca_pre()
|
||||
{
|
||||
int j = 2;
|
||||
set_header(j, FR("@45g@bSTAMPA RI.BA. PER BANCA DI PRESENTAZIONE")); j++;
|
||||
set_header(j++, (const char *)(TString(_colonne).fill('_')));
|
||||
TString head = FR("@b Banca Scadenza Cliente N.Riba N.Dist Importo Imp. in valuta Val Rata Data fattura N.");
|
||||
set_header(j++, head);
|
||||
set_header(j, (const char *)(TString(_colonne).fill('_')));
|
||||
}
|
||||
|
||||
|
||||
// setta l'header per la stampa per distinta di presentazione
|
||||
void TPrint_effetti_app::header_distinta()
|
||||
{
|
||||
@ -424,20 +441,23 @@ void TPrint_effetti_app::set_page(int file, int counter)
|
||||
{
|
||||
switch(_pr_type)
|
||||
{
|
||||
case st_scadenza:
|
||||
set_scadenza();
|
||||
break;
|
||||
case st_banca:
|
||||
set_banca();
|
||||
break;
|
||||
case st_distinta:
|
||||
set_distinta();
|
||||
break;
|
||||
case st_cliente:
|
||||
set_cliente();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case st_scadenza:
|
||||
set_scadenza();
|
||||
break;
|
||||
case st_banca_app:
|
||||
set_banca_app();
|
||||
break;
|
||||
case st_distinta:
|
||||
set_distinta();
|
||||
break;
|
||||
case st_cliente:
|
||||
set_cliente();
|
||||
break;
|
||||
case st_banca_pre:
|
||||
set_banca_pre();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -449,11 +469,11 @@ void TPrint_effetti_app::write_bancapp()
|
||||
const TRectype& rec = current_cursor()->curr();
|
||||
const TString8 codabi = rec.get(EFF_CODABI);
|
||||
TString16 codcab; codcab << codabi << rec.get(EFF_CODCAB);
|
||||
TString desccab = look_tab("%BAN", codcab);
|
||||
TString80 desccab = look_tab("%BAN", codcab);
|
||||
set_row(2,"@133g@pn @pn %s",
|
||||
FLD(LF_EFFETTI, EFF_CODABI, "@@@@@"),
|
||||
FLD(LF_EFFETTI, EFF_CODCAB, "@@@@@"),
|
||||
(const char*)desccab);
|
||||
FLD(LF_EFFETTI, EFF_CODABI, "@@@@@"),
|
||||
FLD(LF_EFFETTI, EFF_CODCAB, "@@@@@"),
|
||||
(const char*)desccab);
|
||||
}
|
||||
}
|
||||
|
||||
@ -477,40 +497,69 @@ void TPrint_effetti_app::set_scadenza()
|
||||
if (!is_firm_value(valuta)) //effetto in valuta diversa da quella di conto
|
||||
{
|
||||
set_row(2,"@81g@pn@100g%s",
|
||||
FLD(LF_EFFETTI, EFF_IMPORTOVAL, PICTURE_IMPORTO),
|
||||
(const char *)valuta);
|
||||
FLD(LF_EFFETTI, EFF_IMPORTOVAL, PICTURE_IMPORTO),
|
||||
(const char *)valuta);
|
||||
}
|
||||
write_bancapp();
|
||||
for(int i = 0; i < _interline; i++) set_row(i+1," ");
|
||||
write_bancapp();
|
||||
for(int i = 0; i < _interline; i++)
|
||||
set_row(i+1," ");
|
||||
}
|
||||
|
||||
// setta la pagina logica nel caso di stampa per banca di appoggio
|
||||
void TPrint_effetti_app::set_banca_app()
|
||||
{
|
||||
set_row(1," ");
|
||||
set_row(2,"@1g#t@14g@s@26g#t@49g@pn@55g@pn@63g@pn@105g@pn@111g@s@125g@pn",
|
||||
&_banp,
|
||||
FLD(LF_EFFETTI, EFF_DATASCAD),
|
||||
&_cli,
|
||||
FLD(LF_EFFETTI, EFF_NPROGTR, "#####@"),
|
||||
FLD(LF_EFFETTI, EFF_NDIST, "#######@"),
|
||||
FLD(LF_EFFETTI, EFF_IMPORTO, PICTURE_IMPORTO),
|
||||
FLD(LF_REFFETTI, REFF_NRATA,"##@"),
|
||||
FLD(LF_REFFETTI, REFF_DATAFATT),
|
||||
FLD(LF_REFFETTI, REFF_NFATT,"######"));
|
||||
|
||||
const TString& valuta = current_cursor()->curr().get(EFF_CODVAL);
|
||||
if (!is_firm_value(valuta)) //effetto in valuta diversa da quella di conto
|
||||
{
|
||||
set_row(2,"@81g@pn@100g%s",
|
||||
FLD(LF_EFFETTI, EFF_IMPORTOVAL, PICTURE_IMPORTO),
|
||||
(const char *)valuta);
|
||||
}
|
||||
write_bancapp();
|
||||
for(int i = 0; i < _interline; i++)
|
||||
set_row(i+1,"");
|
||||
}
|
||||
|
||||
// setta la pagina logica nel caso di stampa per banca di appoggio
|
||||
void TPrint_effetti_app::set_banca()
|
||||
void TPrint_effetti_app::set_banca_pre()
|
||||
{
|
||||
set_row(1," ");
|
||||
set_row(2,"@1g#t@14g@s@26g#t@49g@pn@55g@pn@63g@pn@105g@pn@111g@s@125g@pn",
|
||||
&_banp,
|
||||
FLD(LF_EFFETTI, EFF_DATASCAD),
|
||||
&_cli,
|
||||
FLD(LF_EFFETTI, EFF_NPROGTR, "#####@"),
|
||||
FLD(LF_EFFETTI, EFF_NDIST, "#######@"),
|
||||
FLD(LF_EFFETTI, EFF_IMPORTO, PICTURE_IMPORTO),
|
||||
FLD(LF_REFFETTI, REFF_NRATA,"##@"),
|
||||
FLD(LF_REFFETTI, REFF_DATAFATT),
|
||||
FLD(LF_REFFETTI, REFF_NFATT,"######"));
|
||||
set_row(1," ");
|
||||
set_row(2,"@1g#t@14g@s@26g#t@49g@pn@55g@pn@63g@pn@105g@pn@111g@s@125g@pn",
|
||||
&_banp,
|
||||
FLD(LF_EFFETTI, EFF_DATASCAD),
|
||||
&_cli,
|
||||
FLD(LF_EFFETTI, EFF_NPROGTR, "#####@"),
|
||||
FLD(LF_EFFETTI, EFF_NDIST, "#######@"),
|
||||
FLD(LF_EFFETTI, EFF_IMPORTO, PICTURE_IMPORTO),
|
||||
FLD(LF_REFFETTI, REFF_NRATA,"##@"),
|
||||
FLD(LF_REFFETTI, REFF_DATAFATT),
|
||||
FLD(LF_REFFETTI, REFF_NFATT,"######"));
|
||||
|
||||
const TString8 valuta = current_cursor()->curr().get(EFF_CODVAL);
|
||||
const TString& valuta = current_cursor()->curr().get(EFF_CODVAL);
|
||||
if (!is_firm_value(valuta)) //effetto in valuta diversa da quella di conto
|
||||
{
|
||||
set_row(2,"@81g@pn@100g%s",
|
||||
FLD(LF_EFFETTI, EFF_IMPORTOVAL, PICTURE_IMPORTO),
|
||||
(const char *)valuta);
|
||||
}
|
||||
write_bancapp();
|
||||
for(int i = 0; i < _interline; i++) set_row(i+1,"");
|
||||
write_bancapp();
|
||||
for(int i = 0; i < _interline; i++)
|
||||
set_row(i+1,"");
|
||||
}
|
||||
|
||||
|
||||
// setta la pagina logica nel caso di stampa per distinta di presentazione
|
||||
void TPrint_effetti_app::set_distinta()
|
||||
{
|
||||
@ -572,30 +621,39 @@ bool TPrint_effetti_app::preprocess_page(int file, int counter)
|
||||
// necessitano per effettuare la "rorrura della stampa"
|
||||
TRectype& rec = current_cursor()->curr();
|
||||
const TDate scad = rec.get_date (EFF_DATASCAD);
|
||||
TString ban = rec.get (EFF_CODABI);
|
||||
long dist = rec.get_long (EFF_NDIST);
|
||||
char tipodist = rec.get_char(EFF_TIPODIST);
|
||||
long cliente = rec.get_long (EFF_CODCF);
|
||||
char tipocf = rec.get_char(EFF_TIPOCF);
|
||||
real importo = rec.get_real(EFF_IMPORTO);
|
||||
// elaboro le seguenti stringhe per la stampa
|
||||
if (ban=="00000")
|
||||
ban = "";
|
||||
_ban = get_field(LF_EFFETTI, EFF_CODABI);
|
||||
if (_ban=="00000")
|
||||
_ban = "";
|
||||
s = get_field(LF_EFFETTI, EFF_CODCAB);
|
||||
if (s=="00000")
|
||||
s = "";
|
||||
_ban << " " << s;
|
||||
if (real::is_null(_ban))
|
||||
_ban.cut(0);
|
||||
else
|
||||
{
|
||||
s = get_field(LF_EFFETTI, EFF_CODCAB);
|
||||
if (!real::is_null(s))
|
||||
_ban << ' ' << s;
|
||||
}
|
||||
|
||||
_banp = get_field(LF_EFFETTI, EFF_CODABIP);
|
||||
if (_banp=="00000")
|
||||
_banp = "";
|
||||
s = get_field(LF_EFFETTI, EFF_CODCABP);
|
||||
if (s=="00000")
|
||||
s = "";
|
||||
_banp << " " << s;
|
||||
if (real::is_null(_banp))
|
||||
_banp.cut(0);
|
||||
else
|
||||
{
|
||||
s = get_field(LF_EFFETTI, EFF_CODCABP);
|
||||
if (!real::is_null(s))
|
||||
_banp << ' ' << s;
|
||||
}
|
||||
|
||||
TString16 ban;
|
||||
if (_pr_type == st_banca_pre)
|
||||
ban = _banp;
|
||||
else
|
||||
ban = _ban;
|
||||
ban.strip(" "); // Toglie lo spazio tra ABI e CAB
|
||||
|
||||
_cli = get_field(LF_CLIFO, CLI_RAGSOC);
|
||||
s = _cli.mid(30,50); s.trim();
|
||||
_cli = _cli.mid(0,30); _cli.trim();
|
||||
@ -612,36 +670,33 @@ bool TPrint_effetti_app::preprocess_page(int file, int counter)
|
||||
if (_prima_volta)
|
||||
{
|
||||
_prima_volta = FALSE;
|
||||
//_rec_prec = &rec;
|
||||
_scad_prec = scad;
|
||||
switch(_pr_type)
|
||||
{
|
||||
case st_scadenza:
|
||||
_scad_prec = scad;
|
||||
st_header_scad(scad);
|
||||
break;
|
||||
case st_banca:
|
||||
_scad_prec = scad;
|
||||
_ban_prec = ban;
|
||||
st_header_ban(ban);
|
||||
break;
|
||||
case st_distinta:
|
||||
_scad_prec = scad;
|
||||
_dist_prec = dist;
|
||||
_tipo_prec = tipodist;
|
||||
_cliente_prec = cliente;
|
||||
_tipocf_prec = tipocf;
|
||||
st_header_dist(tipodist);
|
||||
if (_tipoord == 'D')
|
||||
st_header_scad(scad);
|
||||
break;
|
||||
case st_cliente:
|
||||
_scad_prec = scad;
|
||||
_cliente_prec = cliente;
|
||||
_tipocf_prec = tipocf;
|
||||
st_header_cliente(_cli);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case st_scadenza:
|
||||
st_header_scad(scad);
|
||||
break;
|
||||
case st_banca_app:
|
||||
case st_banca_pre:
|
||||
_ban_prec = ban; // ban vale automaticamente appoggio o presentazione
|
||||
st_header_ban(ban);
|
||||
break;
|
||||
case st_distinta:
|
||||
_dist_prec = dist;
|
||||
_tipo_prec = tipodist;
|
||||
_cliente_prec = cliente;
|
||||
_tipocf_prec = tipocf;
|
||||
st_header_dist(tipodist);
|
||||
if (_tipoord == 'D')
|
||||
st_header_scad(scad);
|
||||
break;
|
||||
case st_cliente:
|
||||
_cliente_prec = cliente;
|
||||
_tipocf_prec = tipocf;
|
||||
st_header_cliente(_cli);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//else
|
||||
@ -668,7 +723,7 @@ bool TPrint_effetti_app::preprocess_page(int file, int counter)
|
||||
_pr.reset();
|
||||
if (_pr_type == st_scadenza || _pr_type == st_cliente )
|
||||
_pr.put(descfatt, 111);
|
||||
if (_pr_type == st_banca || _pr_type == st_distinta )
|
||||
else
|
||||
_pr.put(descfatt, 114);
|
||||
//printer().print(_pr);
|
||||
set_row(j++,_pr);
|
||||
@ -697,7 +752,8 @@ bool TPrint_effetti_app::preprocess_page(int file, int counter)
|
||||
_tot_mese += importo;
|
||||
_tot_stampa += importo ;
|
||||
break;
|
||||
case st_banca:
|
||||
case st_banca_app:
|
||||
case st_banca_pre:
|
||||
// è cambiata la data di scadenza, stampo il relativo totale
|
||||
if (scad != _scad_prec)
|
||||
st_tot_scad();
|
||||
@ -829,16 +885,16 @@ bool TPrint_effetti_app::preprocess_print(int file, int counter)
|
||||
|
||||
bool TPrint_effetti_app::set_print(int)
|
||||
{
|
||||
_tipoord = 'D';
|
||||
TMask mask("ef0600a.msk");
|
||||
if (mask.run() == K_QUIT)
|
||||
return FALSE;
|
||||
|
||||
_tipoord = 'D';
|
||||
disable_links();
|
||||
set_multiple_link(FALSE);
|
||||
// richiamo la maschera di scelta del tipo di stampa
|
||||
TMask mask("ef0600a.msk");
|
||||
mask.run();
|
||||
force_setpage(FALSE);
|
||||
if (mask.last_key() == K_QUIT)
|
||||
return FALSE;
|
||||
_pr_type = (pt) mask.get_int(RDB_TIPOST);
|
||||
_pr_type = (pt)mask.get_int(RDB_TIPOST);
|
||||
TDate data_stampa (mask.get(F_DATA_STAMPA));
|
||||
_data_stampa = data_stampa.string();
|
||||
_stampa_bancapp = mask.get_bool(F_BANCA_APP);
|
||||
@ -862,12 +918,11 @@ bool TPrint_effetti_app::set_print(int)
|
||||
from.put(EFF_DATASCAD,cod_from);
|
||||
to.put(EFF_DATASCAD,cod_to);
|
||||
tipocf = mask.get(F_TIPOCF)[0];
|
||||
filter = "";
|
||||
filter << "(TIPOCF=='" << tipocf << "')";
|
||||
filter.cut(0) << "(TIPOCF=='" << tipocf << "')";
|
||||
select_cursor(_cur_1);
|
||||
}
|
||||
break;
|
||||
case st_banca:
|
||||
case st_banca_app:
|
||||
{
|
||||
cod_from = mask.get(F_DA_DATA2);
|
||||
cod_to = mask.get(F_A_DATA2);
|
||||
@ -886,6 +941,22 @@ bool TPrint_effetti_app::set_print(int)
|
||||
select_cursor(_cur_2);
|
||||
}
|
||||
break;
|
||||
case st_banca_pre:
|
||||
{
|
||||
from.put(EFF_DATASCAD,mask.get(F_DA_DATA2));
|
||||
to.put(EFF_DATASCAD,mask.get(F_A_DATA2));
|
||||
cod_from = mask.get(F_DABAN);
|
||||
cod_to = mask.get(F_ABAN);
|
||||
filter = "(NDIST!='')";
|
||||
if (cod_from.not_empty())
|
||||
filter << "&&(CODABIP>='" << cod_from << "')";
|
||||
if (cod_to.not_empty())
|
||||
filter << "&&(CODABIP<='" << cod_to << "')";
|
||||
tipocf = mask.get(F_TIPOCF2)[0];
|
||||
filter << "&&(TIPOCF=='" << tipocf << "')";
|
||||
select_cursor(_cur_7);
|
||||
}
|
||||
break;
|
||||
case st_distinta:
|
||||
{
|
||||
_tipoord = mask.get(F_TIPOORD)[0];
|
||||
@ -974,7 +1045,7 @@ bool TPrint_effetti_app::user_create()
|
||||
_rel->add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF");
|
||||
//STAMPA PER SCADENZA
|
||||
_cur_1 = add_cursor(new TCursor(_rel,"",3));
|
||||
//STAMPA PER BANCA
|
||||
//STAMPA PER BANCA DI APPOGGIO
|
||||
TString ordine = "CODABI|CODCAB|DATASCAD|NPROGTR";
|
||||
_cur_2 = add_cursor(new TSorted_cursor(_rel,ordine,"",3));
|
||||
//STAMPA PER DISTINTA ordinata per data scadenze
|
||||
@ -989,6 +1060,9 @@ bool TPrint_effetti_app::user_create()
|
||||
//STAMPA PER DISTINTA ordinata per cliente/fornitore
|
||||
ordine = "TIPODIST|NDIST|NRIGADIST|TIPOCF|CODCF|DATASCAD|NPROGTR";
|
||||
_cur_6 = add_cursor(new TSorted_cursor(_rel,ordine,"",3));
|
||||
//STAMPA PER BANCA DI PRESENTAZIONE
|
||||
ordine = "CODABIP|CODCABP|DATASCAD|NPROGTR";
|
||||
_cur_7 = add_cursor(new TSorted_cursor(_rel,ordine,"",3));
|
||||
|
||||
add_file(LF_EFFETTI);
|
||||
enable_print_menu();
|
||||
|
@ -20,10 +20,10 @@ BEGIN
|
||||
PROMPT 52 4 "(richieste 198 colonne)"
|
||||
END
|
||||
|
||||
RADIOBUTTON RDB_TIPOST 25
|
||||
RADIOBUTTON RDB_TIPOST 32
|
||||
BEGIN
|
||||
PROMPT 1 1 "Stampa per "
|
||||
ITEM "1|Banca"
|
||||
PROMPT 1 0 "Stampa per "
|
||||
ITEM "1|Banca di appoggio"
|
||||
MESSAGE SHOW,2@|HIDE,1@|HIDE,3@|HIDE,4@
|
||||
ITEM "2|Cliente/Fornitore"
|
||||
MESSAGE SHOW,4@|HIDE,1@|HIDE,2@|HIDE,3@
|
||||
@ -31,6 +31,8 @@ BEGIN
|
||||
MESSAGE SHOW,3@|HIDE,1@|HIDE,2@|HIDE,4@
|
||||
ITEM "4|Scadenza"
|
||||
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@|HIDE,4@
|
||||
ITEM "5|Banca di presentazione"
|
||||
MESSAGE SHOW,2@|HIDE,1@|HIDE,3@|HIDE,4@
|
||||
END
|
||||
|
||||
//---------data----------------------------------------------------------------------------------------------------------//
|
||||
@ -65,19 +67,18 @@ END
|
||||
//---------banca----------------------------------------------------------------------------------------------------------//
|
||||
GROUPBOX DLG_NULL 75 6
|
||||
BEGIN
|
||||
PROMPT 1 7 "Stampa effetti per Banca di appoggio"
|
||||
PROMPT 1 7 "Stampa effetti per Banca"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_DABAN 5
|
||||
BEGIN
|
||||
PROMPT 2 8 "Dalla Banca "
|
||||
FLAGS "RZ"
|
||||
FLAGS "Z"
|
||||
GROUP 2
|
||||
USE %BAN KEY 1 SELECT CODTAB ?= "??????????"
|
||||
USE %BAN KEY 1 SELECT CODTAB?="?????"
|
||||
INPUT CODTAB F_DABAN
|
||||
DISPLAY "ABI@5" CODTAB[1,5]
|
||||
DISPLAY "CAB@5" CODTAB[6,10]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT F_DABAN CODTAB[1,5]
|
||||
OUTPUT F_DABAN_DESCR S0
|
||||
@ -88,11 +89,10 @@ STRING F_DABAN_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 23 8 ""
|
||||
GROUP 2
|
||||
USE %BAN KEY 2 SELECT CODTAB?="??????????"
|
||||
USE %BAN KEY 2 SELECT CODTAB?="?????"
|
||||
INPUT S0 F_DABAN_DESCR
|
||||
DISPLAY "Denominazione@50" S0
|
||||
DISPLAY "ABI@5" CODTAB[1,5]
|
||||
DISPLAY "CAB@5" CODTAB[6,10]
|
||||
COPY OUTPUT F_DABAN
|
||||
CHECKTYPE SEARCH
|
||||
END
|
||||
@ -100,12 +100,11 @@ END
|
||||
NUMBER F_ABAN 5
|
||||
BEGIN
|
||||
PROMPT 2 9 "Alla Banca "
|
||||
FLAGS "RZ"
|
||||
FLAGS "Z"
|
||||
GROUP 2
|
||||
USE %BAN KEY 1 SELECT CODTAB ?= "??????????"
|
||||
USE %BAN KEY 1 SELECT CODTAB?="?????"
|
||||
INPUT CODTAB F_ABAN
|
||||
DISPLAY "ABI@5" CODTAB[1,5]
|
||||
DISPLAY "CAB@5" CODTAB[6,10]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT F_ABAN CODTAB[1,5]
|
||||
OUTPUT F_ABAN_DESCR S0
|
||||
@ -116,11 +115,10 @@ STRING F_ABAN_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 23 9 ""
|
||||
GROUP 2
|
||||
USE %BAN KEY 2 SELECT CODTAB?="??????????"
|
||||
USE %BAN KEY 2 SELECT CODTAB?="?????"
|
||||
INPUT S0 F_ABAN_DESCR
|
||||
DISPLAY "Denominazione@50" S0
|
||||
DISPLAY "ABI@5" CODTAB[1,5]
|
||||
DISPLAY "CAB@5" CODTAB[6,10]
|
||||
COPY OUTPUT F_ABAN
|
||||
CHECKTYPE SEARCH
|
||||
END
|
||||
|
@ -417,6 +417,17 @@ TLocalisamfile& TRelation::lfile(const char* name) const
|
||||
return (TLocalisamfile&)_files[idx];
|
||||
}
|
||||
|
||||
bool TRelation::has_children(int first) const
|
||||
{
|
||||
for (int i = first; i < _reldefs.items(); i++)
|
||||
{
|
||||
const TRelationdef& ref = reldef(i);
|
||||
if (ref._numto == first)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @mfunc Abilita/disabilita la scrittura sul file
|
||||
|
@ -66,6 +66,8 @@ public:
|
||||
// @cmember Aggiorna l'albero delle relazioni
|
||||
int update(int first = 0)
|
||||
{ return position_rels(_isequal, _nolock, first); }
|
||||
// @cmember Controlla se il nodo della relazione ha figli
|
||||
bool has_children(int first = 0) const;
|
||||
// @cmember Azzera l'albero delle relazioni
|
||||
void zero();
|
||||
//@cmember Sposta la relazione sul record successivo del file principale (chiama <mf TRelation::position_rels>)
|
||||
|
@ -761,11 +761,11 @@ void TSt_certif::preprocess_header()
|
||||
TString dep(73);
|
||||
dep.fill('-');
|
||||
dati_percipiente();
|
||||
set_header(i++, "@1g---------------------------------------------------");
|
||||
set_header(i++, "!@12gCERTIFICAZIONE DEI COMPENSI@52g!");
|
||||
set_header(i++, "!@9gASSOGGETTATI A RITENUTA D'ACCONTO@52g!");
|
||||
set_header(i++, "!@3g(Art. 7 bis D.P.R. 29 Settembre 1973, n.600)@52g!");
|
||||
set_header(i++, "@1g---------------------------------------------------");
|
||||
set_header(i++, "@1g-----------------------------------------------------------------");
|
||||
set_header(i++, "!@12gCERTIFICAZIONE DEI COMPENSI@66g!");
|
||||
set_header(i++, "!@9gASSOGGETTATI A RITENUTA D'ACCONTO@66g!");
|
||||
set_header(i++, "!@3g(Art.4 commi 6-ter e 6-quater D.P.R. 22 Luglio 1998, n.332)@66g!");
|
||||
set_header(i++, "@1g-----------------------------------------------------------------");
|
||||
set_header(i++, "");
|
||||
set_header(i++, "@59g%s", (const char*) dep);
|
||||
set_header(i++, "@58g!@84gSOGGETTO PERCIPIENTE@132g!");
|
||||
@ -795,7 +795,7 @@ void TSt_certif::preprocess_header()
|
||||
set_header(i++, "");
|
||||
set_header(i++, "@50g%s,li %d %s %d", (const char*)_luogo, _data.day(), itom(_data.month()), _data.year());
|
||||
set_header(i++, "");
|
||||
set_header(i++, "@7gPer gli adempimenti previsti dall'art.7 bis del D.P.R. 29 Settembre 1973,n. 600 e successive modificazioni");
|
||||
set_header(i++, "@7gPer gli adempimenti previsti dall'Art.4 commi 6-ter e 6-quater D.P.R. 22 Luglio 1998, n.332 e successive modificazioni");
|
||||
set_header(i++, "si attesta che nel corso del periodo dal 01/01/%d al 31/12/%d al percipiente evidenziato in riquadro", _anno_dic, _anno_dic);
|
||||
set_header(i++, "sono stati corrisposti i seguenti compensi debitamente assoggettati a ritenuta d'acconto e ad eventuale ritenuta previdenziale:");
|
||||
set_header(i++, "");
|
||||
|
@ -312,6 +312,7 @@ bool TDocumento_form::doc_arrange()
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
void TDocumento_form::print_documento()
|
||||
{
|
||||
TPrinter& pr = printer();
|
||||
@ -324,16 +325,16 @@ void TDocumento_form::print_documento()
|
||||
|
||||
const int righe = _doc->rows();
|
||||
bool one_row_printed = FALSE;
|
||||
|
||||
const bool update_relation = relation()->has_children(1);
|
||||
|
||||
set_last_page(FALSE); // E' importante settare questo flag, per evitare "Falli di Piede" eheh :-)
|
||||
for (int r=1; r<=righe; r++)
|
||||
{
|
||||
_rdocfile->set_row(r);
|
||||
|
||||
// Questo if non c'era e quindi, a causa della next_match ignorava sempre la prima riga.
|
||||
// Ora la next_match non viene mai fatta: a cosa serve allora tutto cio'?
|
||||
//if (cursor()->curr(LF_RIGHEDOC).get_int(RDOC_NRIGA) < r)
|
||||
// cursor()->next_match(LF_RIGHEDOC);
|
||||
|
||||
if (update_relation)
|
||||
relation()->update(1);
|
||||
|
||||
if (!print_on_body(r))
|
||||
continue;
|
||||
@ -2062,4 +2063,4 @@ int ve1100(int argc, char* argv[])
|
||||
const bool riep = argc == 4 && argv[2][0] == 'L'; // Lista documenti
|
||||
a.run(argc, argv, riep ? TR("Lista documenti") : TR("Stampa documenti"));
|
||||
return 0;
|
||||
}
|
||||
}
|
@ -110,20 +110,19 @@ void TDocumentoEsteso::summary_set_next()
|
||||
|
||||
const char * TDocumentoEsteso::summary_get(const TString& w)
|
||||
{
|
||||
if (w == "COD")
|
||||
return _sum_current.cod_iva().codice(); // Ritorna il codice IVA
|
||||
else
|
||||
if (w == "IMP")
|
||||
return _sum_current.imp().string(); // Ritorna l'imponibile
|
||||
else
|
||||
if (w == "IVA")
|
||||
return _sum_current.iva().string(); // Ritorna l'imposta
|
||||
else
|
||||
if (w == "ALI")
|
||||
return _sum_current.cod_iva().percentuale().string(); // Ritorna l'aliquota %
|
||||
else
|
||||
if (w == "DES")
|
||||
return _sum_current.cod_iva().descrizione(); // Ritorna la descrizione ( se il codice e' regime normale la descr. e' vuota)
|
||||
if (w == "COD") // Ritorna il codice IVA
|
||||
return _sum_current.cod_iva().codice(); else
|
||||
if (w == "IMP") // Ritorna l'imponibile
|
||||
return _sum_current.imp().string(); else
|
||||
if (w == "IVA") // Ritorna l'imposta
|
||||
return _sum_current.iva().string(); else
|
||||
if (w == "ALI") // Ritorna l'aliquota %
|
||||
return _sum_current.cod_iva().percentuale().string(); else
|
||||
if (w == "DES") // Ritorna la descrizione ( se il codice e' regime normale la descr. e' vuota)
|
||||
{
|
||||
if (_sum_current.cod_iva().tipo().not_empty())
|
||||
return _sum_current.cod_iva().descrizione();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user