Commit di guy per Enrica
git-svn-id: svn://10.65.10.50/trunk@1031 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
bf5d8d08fa
commit
429bebccbc
515
cg/cg0400.cpp
515
cg/cg0400.cpp
@ -1,3 +1,6 @@
|
||||
//
|
||||
//Riepilogo Progressivi IVA
|
||||
//
|
||||
#include <applicat.h>
|
||||
#include <date.h>
|
||||
#include <lffiles.h>
|
||||
@ -9,42 +12,39 @@
|
||||
#include <nditte.h>
|
||||
#include <anagr.h>
|
||||
#include <comuni.h>
|
||||
#include "classpim.h"
|
||||
#include "cg0.h"
|
||||
#include "cg0400.h"
|
||||
|
||||
struct Importi {
|
||||
real imponibile;
|
||||
real imposta;
|
||||
};
|
||||
|
||||
class CG0400_application : public TPrintapp
|
||||
{
|
||||
|
||||
TTable* _tabpim, * _tabreg;
|
||||
TTable* _tabpim, * _tabreg;
|
||||
TLocalisamfile* _nditte, * _attiv, * _anag, * _com;
|
||||
TMask* _msk;
|
||||
TDate _data;
|
||||
int _i, _sospmsk, _tipoprog, _livelloprog, _tipo_crmsk;
|
||||
TString _cap,_cofi,_paiva,_ragsoc,_comunefis,_provfis,_viafis,_codivamsk,_codattmsk;
|
||||
bool _vuoilordi;
|
||||
real _imponibile, _imposta, _lordo, _imponibile_v, _imposta_v, _lordo_v;
|
||||
real _imponibile_vs, _imposta_vs, _lordo_vs, _totimponibile_v, _totimposta_v;
|
||||
real _totlordo_v, _totimponibile_vs, _totimposta_vs, _totlordo_vs, _imponibile_acq;
|
||||
real _imposta_acq, _lordo_acq, _totimponibile_acq, _totimposta_acq, _totlordo_acq;
|
||||
|
||||
TMask* _msk;
|
||||
TDate _data;
|
||||
int _sospmsk, _tipoprog, _livelloprog, _tipo_crmsk, _annoiva, _i;
|
||||
TString _cap,_cofi,_paiva,_ragsoc,_comunefis,_provfis,_viafis,_codivamsk,_codattmsk;
|
||||
//bool _vuoilordi;
|
||||
Importi _mesi[12];
|
||||
|
||||
public:
|
||||
bool user_create();
|
||||
bool user_destroy();
|
||||
bool set_print(int);
|
||||
|
||||
bool menu(MENU_TAG m) { return TPrintapp::menu(m); }
|
||||
|
||||
virtual void preprocess_header();
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual bool set_print(int);
|
||||
virtual bool preprocess_page(int,int);
|
||||
virtual print_action postprocess_page(int,int);
|
||||
virtual bool preprocess_print(int,int);
|
||||
void cerca_i_pim();
|
||||
void azzera_mesi();
|
||||
void get_dati_ditta();
|
||||
void setta_intestazione();
|
||||
void calcola_totali(real&,real&);
|
||||
int stampa_intestazione_ditta();
|
||||
|
||||
void fai_ricerca(int);
|
||||
void get_dati_ditta();
|
||||
int stampa_intestazione_ditta();
|
||||
|
||||
public:
|
||||
CG0400_application(){};
|
||||
};
|
||||
|
||||
@ -73,226 +73,229 @@ bool CG0400_application::user_destroy()
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void CG0400_application::fai_ricerca(int i)
|
||||
void CG0400_application::azzera_mesi()
|
||||
{
|
||||
TString codtab,codreg,dep,codiva,codatt;
|
||||
int mese;
|
||||
long anno;
|
||||
|
||||
_imponibile=0;
|
||||
_imponibile_v=0;
|
||||
_imponibile_vs=0;
|
||||
_imposta=0;
|
||||
_imposta_v=0;
|
||||
_imposta_vs=0;
|
||||
_lordo=0;
|
||||
_lordo_v=0;
|
||||
_lordo_vs=0;
|
||||
_imponibile_acq=0;
|
||||
_imposta_acq=0;
|
||||
_lordo_acq=0;
|
||||
|
||||
_tabpim->first();
|
||||
while (!_tabpim->eof()) //Scorre tutti i record della tabella PIM
|
||||
{
|
||||
_imponibile = 0;
|
||||
_imposta = 0;
|
||||
_lordo = 0;
|
||||
codtab = _tabpim->curr().get("CODTAB");
|
||||
mese = atoi(codtab.mid(12,2));
|
||||
if (_livelloprog == 1) //Se si tratta di una aliquota
|
||||
{
|
||||
codiva = codtab.mid(15,3);
|
||||
codatt = codtab.mid(4,5);
|
||||
}
|
||||
else //altrimenti se si tratta di una attivita'
|
||||
{
|
||||
codatt = codtab.mid(4,5);
|
||||
codiva = codtab.mid(55,3);
|
||||
}
|
||||
if (((mese==i)&&(codiva==_codivamsk))||((mese==i)&&(codatt==_codattmsk)))
|
||||
{
|
||||
codreg = codtab.mid(9,3);
|
||||
anno = atoi(codtab.mid(0,4));
|
||||
_tabreg->curr().zero();
|
||||
dep = format("%04d", anno);
|
||||
dep << format("%3s", (const char*)codreg);
|
||||
_tabreg->curr().put("CODTAB", (const char*)dep);
|
||||
_tabreg->read();
|
||||
if (_tabreg->bad())
|
||||
_tabreg->curr().zero();
|
||||
int tipo = atoi(_tabreg->curr().get("I0"));
|
||||
if ((tipo == 1) && (_tipoprog == 1)) //Se si tratta di una vendita
|
||||
{
|
||||
int tipo_importo = (int) _tabreg->curr().get_long("I0");
|
||||
bool sosp = _tabreg->curr().get_bool("B0");
|
||||
if (tipo_importo == 1) // 1=importo netto 2=importo lordo
|
||||
{
|
||||
_imponibile = _tabpim->curr().get_real("R0");
|
||||
|
||||
_imposta = _tabpim->curr().get_real("R1");
|
||||
}
|
||||
else
|
||||
_lordo = _tabpim->curr().get_real("R2");
|
||||
if (sosp) //Se e' una vendita in sospensione d'imposta
|
||||
{
|
||||
_imponibile_vs += _imponibile;
|
||||
_imposta_vs += _imposta;
|
||||
_lordo_vs += _lordo;
|
||||
}
|
||||
else
|
||||
{
|
||||
_imponibile_v += _imponibile;
|
||||
_imposta_v += _imposta;
|
||||
_lordo_v += _lordo;
|
||||
}
|
||||
}
|
||||
else if ((tipo == 2) && (_tipoprog == 2)) //Se si tratta di un acquisto
|
||||
{
|
||||
int tipo_importo = atoi(codtab.mid(15,1));
|
||||
int tipo_cr = atoi(codtab.mid(14,1));
|
||||
if (_tipo_crmsk == tipo_cr)
|
||||
{
|
||||
if (tipo_importo == 1) // 1=importo netto 2=importo lordo
|
||||
{
|
||||
_imponibile = _tabpim->curr().get_real("R0");
|
||||
|
||||
_imposta = _tabpim->curr().get_real("R1");
|
||||
}
|
||||
else
|
||||
_lordo = _tabpim->curr().get_real("R2");
|
||||
|
||||
_imponibile_acq += _imponibile;
|
||||
_imposta_acq += _imposta;
|
||||
_lordo_acq += _lordo;
|
||||
}
|
||||
}
|
||||
}
|
||||
_tabpim->next();
|
||||
}
|
||||
|
||||
_totimponibile_v+=_imponibile_v;
|
||||
_totimposta_v+=_imposta_v;
|
||||
_totlordo_v+=_lordo_v;
|
||||
_totimponibile_vs+=_imponibile_vs;
|
||||
_totimposta_vs+=_imposta_vs;
|
||||
_totlordo_vs+=_lordo_vs;
|
||||
_totimponibile_acq+= _imponibile_acq;
|
||||
_totimposta_acq+= _imposta_acq;
|
||||
_totlordo_acq+= _lordo_acq;
|
||||
for (int i=0; i<12; i++)
|
||||
{
|
||||
_mesi[i].imponibile = ZERO;
|
||||
_mesi[i].imposta = ZERO;
|
||||
}
|
||||
}
|
||||
|
||||
void CG0400_application::cerca_i_pim()
|
||||
{
|
||||
TTable pim("PIM");
|
||||
for (pim.first(); !pim.eof(); pim.next())
|
||||
{
|
||||
real imponibile, imposta, impo, impos;
|
||||
tiporec tipo;
|
||||
|
||||
TString80 codtab = pim.get("CODTAB");
|
||||
int anno = atoi(codtab.mid(0,4));
|
||||
TString16 codatt = codtab.mid(4,5);
|
||||
int mese = atoi(codtab.mid(13,2));
|
||||
TString16 codiva = codtab.mid(16,4);
|
||||
|
||||
if (anno != _annoiva) continue;
|
||||
|
||||
if (_livelloprog == 1) //riepilogo per aliquota
|
||||
if (codiva.trim() != _codivamsk) continue;
|
||||
|
||||
if (_livelloprog == 2) //riepilogo per attivita'
|
||||
if (codatt.trim() != _codattmsk) continue;
|
||||
|
||||
impo = impos = ZERO;
|
||||
|
||||
while (classify_pim(pim.curr(), imponibile, imposta, tipo))
|
||||
{
|
||||
switch(tipo)
|
||||
{
|
||||
case acq_norm:
|
||||
if (_tipoprog == 1) break; //vendite
|
||||
if (_tipo_crmsk == 1) //nella maschera e' stato richiesto
|
||||
{ //acquisti in genere
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case vend_norm:
|
||||
if (_tipoprog == 2) break; //acquisti
|
||||
if (_tipo_crmsk == 1) //nella maschera e' stato richiesto
|
||||
{ //vendite in genere
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case acq_ind_op_es:
|
||||
if (_tipoprog == 1) break;
|
||||
if (_tipo_crmsk == 2)
|
||||
{
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case acq_ind_pass_int:
|
||||
if (_tipoprog == 1) break;
|
||||
if (_tipo_crmsk == 3)
|
||||
{
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case acq_ind_art_19:
|
||||
if (_tipoprog == 1) break;
|
||||
if (_tipo_crmsk == 4)
|
||||
{
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case base_ventilazione:
|
||||
if (_tipoprog == 1) break;
|
||||
if (_tipo_crmsk == 5)
|
||||
{
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case bolle_doganali:
|
||||
if (_tipoprog == 1) break;
|
||||
if (_tipo_crmsk == 6)
|
||||
{
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case acq_beni_riv:
|
||||
if (_tipoprog == 1) break;
|
||||
if (_tipo_crmsk == 1)
|
||||
{
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case acq_beni_ammort:
|
||||
if (_tipoprog == 1) break;
|
||||
if (_tipo_crmsk == 2)
|
||||
{
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case acq_beni_ammort_nd:
|
||||
if (_tipoprog == 1) break;
|
||||
if (_tipo_crmsk == 3)
|
||||
{
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case acq_beni_leasing:
|
||||
if (_tipoprog == 1) break;
|
||||
if (_tipo_crmsk == 4)
|
||||
{
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
case acq_amm_ultdetr:
|
||||
if (_tipoprog == 1) break;
|
||||
if (_tipo_crmsk == 6)
|
||||
{
|
||||
impo += imponibile;
|
||||
impos += imposta;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} //fine while
|
||||
_mesi[mese].imponibile += impo;
|
||||
_mesi[mese].imposta += impos;
|
||||
impo = impos = ZERO;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool CG0400_application::set_print(int)
|
||||
{
|
||||
KEY tasto;
|
||||
tasto = _msk->run();
|
||||
if (tasto == K_ENTER)
|
||||
{
|
||||
_sospmsk = atoi(_msk->get(F_TIPOTAB));
|
||||
_vuoilordi = (bool)(_msk->get(F_VUOILORDI) == "X");
|
||||
_tipoprog = atoi(_msk->get(F_TIPO));
|
||||
_livelloprog = atoi(_msk->get(F_LIVELLO));
|
||||
if (_livelloprog == 1) //Se si tratta di una aliquota
|
||||
_annoiva = _msk->get_int(F_ANNO);
|
||||
//_vuoilordi = _msk->get_bool(F_VUOILORDI);
|
||||
_tipoprog = _msk->get_int(F_TIPO); // 1 <=> vendite; 2 <=> acquisti
|
||||
if (_tipoprog == 1)
|
||||
_sospmsk = _msk->get_int(F_TIPOTAB); //vendite in genere; vendite in sospensione d'imposta
|
||||
_livelloprog = _msk->get_int(F_LIVELLO);
|
||||
if (_livelloprog == 1) //si tratta di una aliquota
|
||||
{
|
||||
_codivamsk = _msk->get(F_CODIVA);
|
||||
_tipo_crmsk = atoi(_msk->get(F_TIPOTABE));
|
||||
_codivamsk = _msk->get(F_CODIVA);
|
||||
_tipo_crmsk = _msk->get_int(F_TIPOTABE);
|
||||
}
|
||||
else //altrimenti se si tratta di una attivita'
|
||||
else //si tratta di una attivita'
|
||||
{
|
||||
_codattmsk = _msk->get(F_ATTIVITA);
|
||||
_tipo_crmsk = atoi(_msk->get(F_TIPOTABEL));
|
||||
_codattmsk = _msk->get(F_ATTIVITA);
|
||||
_tipo_crmsk = _msk->get_int(F_TIPOTABEL);
|
||||
}
|
||||
|
||||
set_real_picture("###.###.###.###");
|
||||
set_print_zero();
|
||||
|
||||
setta_intestazione();
|
||||
|
||||
azzera_mesi();
|
||||
cerca_i_pim();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
bool CG0400_application::preprocess_print(int file,int counter)
|
||||
void CG0400_application::calcola_totali(real& imp, real& imps)
|
||||
{
|
||||
set_real_picture("###.###.###.###");
|
||||
set_print_zero();
|
||||
_totimponibile_v = 0;
|
||||
_totimposta_v = 0;
|
||||
_totlordo_v = 0;
|
||||
_totimponibile_vs = 0;
|
||||
_totimposta_vs = 0;
|
||||
_totlordo_vs = 0;
|
||||
_totimponibile_acq = 0;
|
||||
_totimposta_acq = 0;
|
||||
_totlordo_acq = 0;
|
||||
|
||||
return TRUE;
|
||||
for (int i=0; i<12; i++)
|
||||
{
|
||||
imp += _mesi[i].imponibile;
|
||||
imps += _mesi[i].imposta;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool CG0400_application::preprocess_page(int file, int counter)
|
||||
{
|
||||
const char* mese;
|
||||
reset_print();
|
||||
|
||||
|
||||
if (counter)
|
||||
_i++;
|
||||
else
|
||||
_i = 1;
|
||||
|
||||
fai_ricerca(_i);
|
||||
mese = itom(_i);
|
||||
const char* mese = itom(_i);
|
||||
|
||||
set_row(1,"%s", mese);
|
||||
if (_tipoprog == 1)
|
||||
{
|
||||
if (_sospmsk == 1)
|
||||
{
|
||||
set_row(1,"@16g%r", &_imponibile_v);
|
||||
set_row(1,"@32g%r", &_imposta_v);
|
||||
if (_vuoilordi)
|
||||
set_row(1,"@48g%r", &_lordo_v);
|
||||
}
|
||||
else if (_sospmsk == 2)
|
||||
{
|
||||
set_row(1,"@16g%r", &_imponibile_vs);
|
||||
set_row(1,"@32g%r", &_imposta_vs);
|
||||
if (_vuoilordi)
|
||||
set_row(1,"@48g%r",&_lordo_vs);
|
||||
}
|
||||
}
|
||||
else if (_tipoprog == 2)
|
||||
{
|
||||
set_row(1,"@16g%r", &_imponibile_acq);
|
||||
set_row(1,"@32g%r", &_imposta_acq);
|
||||
if (_vuoilordi)
|
||||
set_row(1,"@48g%r", &_lordo_acq);
|
||||
}
|
||||
set_row(1,"@26g%r", &_mesi[_i].imponibile);
|
||||
set_row(1,"@56g%r", &_mesi[_i].imposta);
|
||||
//if (_vuoilordi)
|
||||
// set_row(1,"@48g%r", &_lordo_v);
|
||||
|
||||
if (_i == 12)
|
||||
{
|
||||
real tot_impo = ZERO;
|
||||
real tot_imposta = ZERO;
|
||||
|
||||
calcola_totali(tot_impo, tot_imposta);
|
||||
|
||||
TString dep = "";
|
||||
set_row(2,(const char*) dep);
|
||||
set_row(3,"@10gTotale");
|
||||
if (_tipoprog == 1)
|
||||
{
|
||||
if (_sospmsk == 1)
|
||||
{
|
||||
set_row(3,"@16g%r", &_totimponibile_v);
|
||||
set_row(3,"@32g%r", &_totimposta_v);
|
||||
if (_vuoilordi)
|
||||
set_row(3,"@48g%r", &_totlordo_v);
|
||||
}
|
||||
else if (_sospmsk == 2)
|
||||
{
|
||||
set_row(3,"@16g%r", &_totimponibile_vs);
|
||||
set_row(3,"@32g%r", &_totimposta_vs);
|
||||
if (_vuoilordi)
|
||||
set_row(3,"@48g%r", &_totlordo_vs);
|
||||
}
|
||||
}
|
||||
else if (_tipoprog == 2)
|
||||
{
|
||||
set_row(3,"@16g%r", &_totimponibile_acq);
|
||||
set_row(3,"@32g%r", &_totimposta_acq);
|
||||
if (_vuoilordi)
|
||||
set_row(3,"@48g%r", &_totlordo_acq);
|
||||
}
|
||||
set_row(3,"@8gTotale");
|
||||
set_row(3,"@26g%r", &tot_impo);
|
||||
set_row(3,"@56g%r", &tot_imposta);
|
||||
// if (_vuoilordi)
|
||||
// set_row(3,"@48g%r", &_totlordo_v);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -303,7 +306,7 @@ TRectype& look_com (const char * cod, TLocalisamfile *comuni)
|
||||
comuni->read();
|
||||
if (comuni->bad())
|
||||
comuni->zero();
|
||||
|
||||
|
||||
return comuni->curr();
|
||||
}
|
||||
|
||||
@ -333,7 +336,6 @@ void CG0400_application::get_dati_ditta()
|
||||
|
||||
_cofi = anag.get(ANA_COFI);
|
||||
_paiva = anag.get(ANA_PAIV);
|
||||
//_ragsoc = anag.get(ANA_RAGSOC);
|
||||
_comunefis = anag.get(ANA_COMRF);
|
||||
|
||||
if (_comunefis.empty())
|
||||
@ -360,49 +362,102 @@ void CG0400_application::get_dati_ditta()
|
||||
|
||||
int CG0400_application::stampa_intestazione_ditta()
|
||||
{
|
||||
int r = 3;
|
||||
int r = 1;
|
||||
TString codice_ditta;
|
||||
TString riga(132);
|
||||
|
||||
get_dati_ditta();
|
||||
codice_ditta << get_firm();
|
||||
|
||||
set_header (r, "Ditta %s %s Via %s %s %s %s", (const char*)codice_ditta,
|
||||
set_header (r, "Ditta %s %s %s %s %s %s", (const char*)codice_ditta,
|
||||
(const char*)_ragsoc, (const char*)_viafis,
|
||||
(const char*)_cap, (const char*)_comunefis,
|
||||
(const char*)_provfis);
|
||||
r++;
|
||||
printer().setdate(_data);
|
||||
riga = "Data @< Pag. @#";
|
||||
riga.right_just(127);
|
||||
riga.overwrite (format ("Partita iva %s Codice fiscale %s", (const char*)_paiva, (const char*)_cofi));
|
||||
set_header (r, "%s", (const char*) riga);
|
||||
r++;
|
||||
|
||||
r+=3;
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
void CG0400_application::preprocess_header()
|
||||
void CG0400_application::setta_intestazione()
|
||||
{
|
||||
int r = 1;
|
||||
|
||||
reset_header();
|
||||
if (_livelloprog == 1)
|
||||
set_header(1, "@30gProgressivi IVA per Aliquota");
|
||||
else set_header(1, "@30gProgressivi IVA per Attivita'");
|
||||
|
||||
r = stampa_intestazione_ditta();
|
||||
|
||||
if (_tipoprog == 1)
|
||||
set_header(r, "Vendite");
|
||||
else set_header(r, "Acquisti");
|
||||
|
||||
if (_livelloprog == 1)
|
||||
set_header(r++, "@10gIVA %s",(const char*) _codivamsk);
|
||||
else set_header(r++, "@10gCod.attivita' %s",(const char*)_codattmsk);
|
||||
r++;
|
||||
if (_vuoilordi)
|
||||
set_header(r, "@21gImponibile@40gImposta@50gImporto lordo");
|
||||
else set_header(r, "@21gImponibile@40gImposta");
|
||||
set_header(r++, "Gestione Iva@b@50gPROGRESSIVI IVA PER ALIQUOTA");
|
||||
else set_header(r++, "Gestione Iva@b@50gPROGRESSIVI IVA PER ATTIVITA'");
|
||||
r++;
|
||||
set_header(r++, "Anno liquidazione %d", _annoiva);
|
||||
if (_tipoprog == 1) //vendite
|
||||
{
|
||||
if (_sospmsk == 1)
|
||||
set_header(r, "Vendite in genere");
|
||||
else set_header(r, "Vendite in sospensione d'imposta");
|
||||
}
|
||||
else //acquisti
|
||||
{
|
||||
if (_livelloprog == 1) //per codice iva
|
||||
switch (_tipo_crmsk)
|
||||
{
|
||||
case 1:
|
||||
set_header(r, "Acquisti in genere");
|
||||
break;
|
||||
case 2:
|
||||
set_header(r, "Acquisti indetraibili su operazioni esenti");
|
||||
break;
|
||||
case 3:
|
||||
set_header(r, "Acquisti indetraibili passaggi interni");
|
||||
break;
|
||||
case 4:
|
||||
set_header(r, "Acquisti indetraibili art.19");
|
||||
break;
|
||||
case 5:
|
||||
set_header(r, "Acquisti base di calcolo per la ventilazione");
|
||||
break;
|
||||
case 6:
|
||||
set_header(r, "Bolle doganali");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
else //per attivita'
|
||||
switch (_tipo_crmsk)
|
||||
{
|
||||
case 1:
|
||||
set_header(r, "Acquisti beni per rivendita");
|
||||
break;
|
||||
case 2:
|
||||
set_header(r, "Acquisti beni da ammortizzare detraibili");
|
||||
break;
|
||||
case 3:
|
||||
set_header(r, "Acquisti beni da ammortizzare non detraibili");
|
||||
break;
|
||||
case 4:
|
||||
set_header(r, "Altri beni strumentali acquisiti in leasing");
|
||||
break;
|
||||
case 5:
|
||||
set_header(r, "Acquisti beni da ammortizzare ult.detr. 6%");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
r++;
|
||||
if (_livelloprog == 1)
|
||||
set_header(r++, "IVA %s",(const char*) _codivamsk);
|
||||
else set_header(r++, "ATTIVITA' %s",(const char*)_codattmsk);
|
||||
set_header(++r, "@29gImponibile@60gImposta");
|
||||
//if (_vuoilordi)
|
||||
// set_header(r, "@21gImponibile@40gImposta@50gImporto lordo");
|
||||
//else set_header(r, "@21gImponibile@40gImposta");
|
||||
}
|
||||
|
||||
print_action CG0400_application::postprocess_page(int file, int counter)
|
||||
|
20
cg/cg0400.h
20
cg/cg0400.h
@ -1,13 +1,6 @@
|
||||
#ifndef __CG0400_H
|
||||
#define __CG0400_H
|
||||
/****
|
||||
#define TCLI "C"
|
||||
|
||||
#define N_CODDITTA "CODDITTA"
|
||||
#define N_CODATTPREV "CODATTPREV"
|
||||
#define N_CODATT "CODATT"
|
||||
#define N_CODCF "CODCF"
|
||||
***/
|
||||
#define TAB_REG "REG"
|
||||
#define TAB_PIM "PIM"
|
||||
|
||||
@ -22,18 +15,7 @@
|
||||
#define F_ATTIVITA 108
|
||||
#define F_TIPOTABEL 109
|
||||
#define F_RAGSOC 110
|
||||
#define F_VUOILORDI 111
|
||||
#define F_TIPO1 112
|
||||
/*
|
||||
#define F_TOTALE1 122
|
||||
#define F_TOTALE2 123
|
||||
#define F_TOTALE3 124
|
||||
#define F_TOTALE4 125
|
||||
#define F_TOTALE5 126
|
||||
#define F_TOTALE6 127
|
||||
#define F_PROMPT 128
|
||||
*/
|
||||
|
||||
#define F_TIPO1 111
|
||||
#endif // __CG0400_H
|
||||
|
||||
|
||||
|
138
cg/cg0400a.uml
138
cg/cg0400a.uml
@ -1,41 +1,68 @@
|
||||
#include "cg0400.h"
|
||||
|
||||
PAGE "Visualizzazione progressivi IVA" -1 -1 78 20
|
||||
PAGE "Visualizzazione progressivi IVA" -1 -1 78 19
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
END
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 4 1 "Ditta "
|
||||
FLAGS "FRD"
|
||||
USE LF_NDITTE KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
OUTPUT F_CODDITTA CODDITTA
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
OUTPUT F_ATTIVITA CODATTPREV
|
||||
KEY 1
|
||||
PROMPT 3 1 "Ditta "
|
||||
FLAGS "FRD"
|
||||
USE LF_NDITTE KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
OUTPUT F_ATTIVITA CODATTPREV
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 4 2 "Ragione sociale "
|
||||
FLAGS "D"
|
||||
KEY 1
|
||||
PROMPT 17 1 "Ragione "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 4 3 "Anno liquidazione "
|
||||
PROMPT 3 3 "Anno liquidazione "
|
||||
HELP "Anno di cui si effettua la liquidazione"
|
||||
FLAGS "A"
|
||||
KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
RADIOBUTTON F_TIPO 18
|
||||
BEGIN
|
||||
PROMPT 3 5 "Tipo progressivi "
|
||||
HELP "Tipo di riepilogo da effettuare"
|
||||
ITEM "1|Vendite"
|
||||
MESSAGE HIDE,F_TIPOTABE|SHOW,F_TIPOTAB|HIDE,F_TIPOTABEL
|
||||
MESSAGE COPY,F_TIPO1
|
||||
ITEM "2|Acquisti"
|
||||
MESSAGE SHOW,F_TIPOTABE|HIDE,F_TIPOTABEL|HIDE,F_TIPOTAB
|
||||
MESSAGE COPY,F_TIPO1
|
||||
KEY 1
|
||||
END
|
||||
|
||||
RADIOBUTTON F_TIPO1 18
|
||||
BEGIN
|
||||
PROMPT 3 5 "Tipo progressivi "
|
||||
HELP "Tipo di riepilogo da effettuare"
|
||||
ITEM "1|Vendite"
|
||||
MESSAGE HIDE,F_TIPOTABE|HIDE,F_TIPOTABEL|SHOW,F_TIPOTAB
|
||||
MESSAGE COPY,F_TIPO
|
||||
ITEM "2|Acquisti"
|
||||
MESSAGE HIDE,F_TIPOTABE|SHOW,F_TIPOTABEL|HIDE,F_TIPOTAB
|
||||
MESSAGE COPY,F_TIPO
|
||||
KEY 1
|
||||
END
|
||||
|
||||
RADIOBUTTON F_LIVELLO 21
|
||||
BEGIN
|
||||
PROMPT 4 5 "Livello progressivi "
|
||||
PROMPT 38 5 "Livello progressivi "
|
||||
HELP "Tipo di raggruppamento dei riepiloghi"
|
||||
ITEM "1|Per aliquota"
|
||||
MESSAGE HIDE,F_ATTIVITA|SHOW,F_CODIVA
|
||||
@ -45,43 +72,26 @@ BEGIN
|
||||
MESSAGE HIDE,F_TIPO|SHOW,F_TIPO1|K_SPACE,F_TIPO1
|
||||
END
|
||||
|
||||
RADIOBUTTON F_TIPO 18
|
||||
STRING F_CODIVA 4
|
||||
BEGIN
|
||||
PROMPT 38 5 "Tipo progressivi "
|
||||
HELP "Tipo di riepilogo da effettuare"
|
||||
ITEM "1|Vendite"
|
||||
MESSAGE HIDE,F_TIPOTABE|SHOW,F_TIPOTAB|HIDE,F_TIPOTABEL
|
||||
MESSAGE COPY,F_TIPO1
|
||||
ITEM "2|Acquisti"
|
||||
MESSAGE SHOW,F_TIPOTABE|HIDE,F_TIPOTABEL|HIDE,F_TIPOTAB
|
||||
MESSAGE COPY,F_TIPO1
|
||||
KEY 1
|
||||
END
|
||||
|
||||
RADIOBUTTON F_TIPO1 18
|
||||
BEGIN
|
||||
PROMPT 38 5 "Tipo progressivi "
|
||||
HELP "Tipo di riepilogo da effettuare"
|
||||
ITEM "1|Vendite"
|
||||
MESSAGE HIDE,F_TIPOTABE|HIDE,F_TIPOTABEL|SHOW,F_TIPOTAB
|
||||
MESSAGE COPY,F_TIPO
|
||||
ITEM "2|Acquisti"
|
||||
MESSAGE HIDE,F_TIPOTABE|SHOW,F_TIPOTABEL|HIDE,F_TIPOTAB
|
||||
MESSAGE COPY,F_TIPO
|
||||
KEY 1
|
||||
END
|
||||
|
||||
|
||||
STRING F_CODIVA 3
|
||||
BEGIN
|
||||
PROMPT 4 10 "Codice IVA "
|
||||
HELP "Aliquata IVA da riepilogare"
|
||||
FLAGS "R"
|
||||
PROMPT 3 10 "Codice IVA "
|
||||
HELP "Aliquota IVA da riepilogare"
|
||||
FLAGS "U"
|
||||
USE %IVA
|
||||
INPUT CODTAB F_CODIVA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "%@6" R0
|
||||
DISPLAY "Tipo" S1
|
||||
OUTPUT F_CODIVA CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
VALIDATE ZEROFILL_FUNC 2
|
||||
WARNING "Codice IVA assente"
|
||||
END
|
||||
|
||||
RADIOBUTTON F_TIPOTAB 38
|
||||
BEGIN
|
||||
PROMPT 4 12 "Tipo tabella "
|
||||
PROMPT 3 12 "Tipo tabella "
|
||||
HELP "Tipo di tabella da visualizzare"
|
||||
ITEM "1|Vendite in genere"
|
||||
ITEM "2|Vendite in sospensione d'imposta"
|
||||
@ -89,12 +99,12 @@ END
|
||||
|
||||
STRING F_ATTIVITA 5
|
||||
BEGIN
|
||||
PROMPT 4 10 "Codice attivita' "
|
||||
PROMPT 3 10 "Codice attivita' "
|
||||
HELP "Codice dell'attivita' di cui si vuole il riepilogo"
|
||||
USE LF_ATTIV
|
||||
FLAGS "H"
|
||||
FLAGS "H"
|
||||
JOIN %AIS TO LF_ATTIV INTO CODTAB=CODATT
|
||||
CHECKTYPE NORMAL
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODDITTA F_CODDITTA SELECT
|
||||
INPUT CODATT F_ATTIVITA
|
||||
DISPLAY "Codice attivita'" LF_TABCOM->CODTAB
|
||||
@ -105,21 +115,21 @@ END
|
||||
|
||||
NUMBER F_TIPOTABEL 1
|
||||
BEGIN
|
||||
PROMPT 4 12 "Tipo tabella "
|
||||
PROMPT 3 12 "Tipo tabella "
|
||||
HELP "Tipo di tabella da visualizzare"
|
||||
SHEET "Tipo|Descrizione@50"
|
||||
ITEM "1|Acquisti beni per rivendita"
|
||||
ITEM "2|Acquisti beni da ammortizzare detraibili"
|
||||
ITEM "3|Acquisti beni da ammortizzare non detraibili"
|
||||
ITEM "4|Altri beni strumentali acquisiti in leasing"
|
||||
ITEM "5|Altri beni strumentali ult. detr. 6%"
|
||||
ITEM "5|Acquisti beni da ammortizzare ult.detr. 6%"
|
||||
INPUT F_TIPOTABEL
|
||||
OUTPUT F_TIPOTABEL
|
||||
END
|
||||
|
||||
NUMBER F_TIPOTABE 1
|
||||
BEGIN
|
||||
PROMPT 4 12 "Tipo tabella "
|
||||
PROMPT 3 12 "Tipo tabella "
|
||||
HELP "Tipo di tabella da visualizzare"
|
||||
SHEET "Tipo|Descrizione@50"
|
||||
ITEM "1|Acquisti in genere"
|
||||
@ -128,26 +138,30 @@ BEGIN
|
||||
ITEM "4|Acquisti indetraibili art. 19"
|
||||
ITEM "5|Acquisti base di calcolo per la ventilazione"
|
||||
ITEM "6|Bolle doganali"
|
||||
ITEM "7|Acquisti indetraibili per cambio regime"
|
||||
// ITEM "7|Acquisti indetraibili per cambio regime"
|
||||
INPUT F_TIPOTABE
|
||||
OUTPUT F_TIPOTABE
|
||||
END
|
||||
|
||||
/*
|
||||
BOOLEAN F_VUOILORDI
|
||||
BEGIN
|
||||
PROMPT 4 16 "Visualizzazione importi lordi "
|
||||
HELP "Indicare se visualizzare anche gli importi"
|
||||
HELP "Indicare se visualizzare anche gli importi lordi"
|
||||
END
|
||||
*/
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BUTTON DLG_PRINT 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
PROMPT -12 -1 "~Stampa"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -2986,7 +2986,7 @@ bool CG1500_application::set_print(int)
|
||||
{
|
||||
TConfig conf(CONFIG_DITTA);
|
||||
|
||||
_causale_ap = conf.get("CoCaCh");
|
||||
_causale_ap = conf.get("CoCaAp");
|
||||
_causale_chi = conf.get("CoCaCh");
|
||||
}
|
||||
|
||||
|
@ -1911,7 +1911,14 @@ bool CG1600_application::calcola(int g, int c, long s,
|
||||
data = datareg;
|
||||
if (_annoese != 0)
|
||||
data = datacomp;
|
||||
|
||||
|
||||
TString datastr = data.string();
|
||||
TString datastr3 = _datafine.string();
|
||||
TString datastr1 = _dataini.string();
|
||||
TString datastr2 = _data_ini_ese.string();
|
||||
|
||||
TString codcausapp = causale_apertura();
|
||||
|
||||
//calcolo i movimenti del periodo
|
||||
if ( (data >= _dataini) && (data <= _datafine) )
|
||||
if ((codcaus == causale_apertura() && _data_ini_ese != _dataini) ||
|
||||
@ -1955,7 +1962,7 @@ bool CG1600_application::set_print(int)
|
||||
{
|
||||
TConfig conf(CONFIG_DITTA);
|
||||
|
||||
_causale_ap = conf.get("CoCaCh");
|
||||
_causale_ap = conf.get("CoCaAp");
|
||||
_causale_chi = conf.get("CoCaCh");
|
||||
}
|
||||
|
||||
@ -3117,7 +3124,7 @@ void CG1600_application::stampa_totali_verifica()
|
||||
if (classe > ris_imp && _risimp_fatto)
|
||||
{
|
||||
if (_num_tot == "20" || _num_tot == "21")
|
||||
{
|
||||
{
|
||||
set_row (_i,"@4gTotale delle partite straordinarie");
|
||||
set_row (_i,"@49g%r", &_tot_parz_prg_d);
|
||||
set_row (_i,"@65g%r", &_tot_parz_prg_a);
|
||||
|
450
cg/cg3200.cpp
450
cg/cg3200.cpp
@ -31,7 +31,6 @@ class TMastrini_application : public TPrintapp
|
||||
static bool data_fine (TMask_field& f, KEY k);
|
||||
static bool gruppo_hnd (TMask_field& f, KEY k);
|
||||
static bool conto_hnd (TMask_field& f, KEY k);
|
||||
static bool sottoc_hnd (TMask_field& f, KEY k);
|
||||
friend bool sottoc_handler_ini (TMask_field& f, KEY k);
|
||||
friend bool sottoc_handler_fine (TMask_field& f, KEY k);
|
||||
|
||||
@ -69,7 +68,7 @@ class TMastrini_application : public TPrintapp
|
||||
bool _stampaprogre,_stampatotiva,_stampatot,_prima_volta,_stampa_mov_prov;
|
||||
|
||||
int _annomsk,_annoesmsk,_annoes,_annomsksucc,_tipo_mask,_anno_ghost;
|
||||
int _anno_corrente,_anno_precedente,_indbil;
|
||||
int _anno_corrente,_anno_precedente,_indbil,_numero_pag;
|
||||
long _sottoc,_numreg,_numgio,_protiva;
|
||||
bool _stampa_progressivi_si,_competenza,_inizio_stampa,_puoi_stampare;
|
||||
char _tmcf,_tipo_contr;
|
||||
@ -96,6 +95,9 @@ public:
|
||||
TDate _inizioEs,_fineEs;
|
||||
void ricerca_clifo();
|
||||
void ricerca_gruppo();
|
||||
int ricerca_clifo(int riga);
|
||||
int ricerca_gruppo(int riga);
|
||||
|
||||
void calcola_progressivi();
|
||||
void calcola_progressivi_al();
|
||||
void stampa_progressivi();
|
||||
@ -104,6 +106,7 @@ public:
|
||||
void ricerca_regiva();
|
||||
void descrizione_causale();
|
||||
void saldi_zero();
|
||||
void crea_intestazione(int riga);
|
||||
void crea_intestazione();
|
||||
void fai_stampa132();
|
||||
void fai_stampa198();
|
||||
@ -117,7 +120,8 @@ public:
|
||||
const char* descrizione_classe(char,char,int,int);
|
||||
bool almeno_un_record();
|
||||
void ricerca_dati_ditta();
|
||||
void conto(int,int,bool);
|
||||
void conto(int,int,bool);
|
||||
bool check_ordine(TMask_field& f, KEY k);
|
||||
|
||||
TMastrini_application() {}
|
||||
};
|
||||
@ -233,6 +237,9 @@ bool sottoc_handler_fine(TMask_field& f, KEY key)
|
||||
|
||||
if (conto != 0 && gruppo == 0)
|
||||
return f.warning_box("Manca il GRUPPO");
|
||||
|
||||
if (!app().check_ordine(f,key))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if ( key == K_TAB )
|
||||
@ -336,10 +343,9 @@ bool TMastrini_application::conto_hnd (TMask_field& f, KEY k)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TMastrini_application::sottoc_hnd (TMask_field& f, KEY k)
|
||||
bool TMastrini_application::check_ordine(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_ENTER)
|
||||
{
|
||||
// if (k == K_ENTER) {
|
||||
int gruppof = f.mask().get_int(F_GRUPPOFINE);
|
||||
|
||||
if (gruppof == 0)
|
||||
@ -361,7 +367,7 @@ bool TMastrini_application::sottoc_hnd (TMask_field& f, KEY k)
|
||||
|
||||
if (sottoci > sottocf)
|
||||
return f.error_box("Il sottoconto di partenza deve essere inferiore o uguale al sottoconto di arrivo");
|
||||
}
|
||||
// }
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@ -585,7 +591,8 @@ void TMastrini_application::fai_stampa132()
|
||||
if (_stampanum == 2)
|
||||
{
|
||||
set_row (1,"@11g#7d", &_numgio);
|
||||
}
|
||||
}
|
||||
|
||||
set_row (1,"@19g#t", &_datadocs);
|
||||
set_row (1,"@30g#7t", &_numdoc);
|
||||
set_row (1,"@38g#3t", &_codcaus);
|
||||
@ -598,13 +605,17 @@ void TMastrini_application::fai_stampa132()
|
||||
void TMastrini_application::fai_stampa198()
|
||||
{
|
||||
set_row (1,"@0g#t", &_dataregs);
|
||||
if (_stampanum == 1)
|
||||
if (_stampanum == 1)
|
||||
{
|
||||
set_row (1,"@11g$[r]#7d$[n]", &_numreg);
|
||||
set_row (1,"@18g/#3d", &_numrig);
|
||||
}
|
||||
else if (_stampanum == 2)
|
||||
set_row (1,"@11g#7d", &_numgio);
|
||||
set_row (1,"@19g#t", &_datadocs);
|
||||
set_row (1,"@30g#7t", &_numdoc);
|
||||
set_row (1,"@38g#3t", &_codcaus);
|
||||
|
||||
set_row (1,"@23g#t", &_datadocs);
|
||||
set_row (1,"@34g#7t", &_numdoc);
|
||||
set_row (1,"@42g#3t", &_codcaus);
|
||||
|
||||
// Stampa saldo movimenti
|
||||
|
||||
@ -627,18 +638,27 @@ void TMastrini_application::stampa_totali132()
|
||||
_saldo_periodo = _totale_periodo_dare - _totale_periodo_avere;
|
||||
_saldo_progre = _totprogre_dare - _totprogre_avere;
|
||||
_saldo_progre_al = _totprogre_dare_al - _totprogre_avere_al;
|
||||
set_row (3,"@32gTOTALI PERIODO@69g%15.0r", &_saldo_periodo);
|
||||
set_row (3,"@85g%15.0r", &_totale_periodo_dare);
|
||||
set_row (3,"@101g%15.0r", &_totale_periodo_avere);
|
||||
set_row (4,"@32gTOTALI PROGRESSIVI@69g%15.0r", &_saldo_progre);
|
||||
set_row (4,"@85g%15.0r", &_totprogre_dare);
|
||||
set_row (4,"@101g%15.0r", &_totprogre_avere);
|
||||
TString string = _saldo_periodo.string("###.###.###.###");
|
||||
set_row (3,"@32gTOTALI PERIODO@69g%15s", (const char*)string);
|
||||
string = _totale_periodo_dare.string("###.###.###.###");
|
||||
set_row (3,"@85g%15s", (const char*)string);
|
||||
string = _totale_periodo_avere.string("###.###.###.###");
|
||||
set_row (3,"@101g%15s", (const char*)string);
|
||||
string = _saldo_progre.string("###.###.###.###");
|
||||
set_row (4,"@32gTOTALI PROGRESSIVI@69g%15s", (const char*)string);
|
||||
string = _totprogre_dare.string("###.###.###.###");
|
||||
set_row (4,"@85g%15s", (const char*)string);
|
||||
string = _totprogre_avere.string("###.###.###.###");
|
||||
set_row (4,"@101g%15s", (const char*)string);
|
||||
if (_stampaprogre) //Progressivi attuali
|
||||
{
|
||||
{
|
||||
TString str = _saldo_progre_al.string("###.###.###.###");
|
||||
set_row (5,"@32gTOTALI PROGRESSIVI AL@55g%s",(const char*)_ultima_data_reg.string());
|
||||
set_row (5,"@69g%15.0r", &_saldo_progre_al);
|
||||
set_row (5,"@85g%15.0r", &_totprogre_dare_al);
|
||||
set_row (5,"@101g%15.0r", &_totprogre_avere_al);
|
||||
set_row (5,"@69g%15s", (const char*)str);
|
||||
str = _totprogre_dare_al.string("###.###.###.###");
|
||||
set_row (5,"@85g%15s", (const char*)str);
|
||||
str = _totprogre_avere_al.string("###.###.###.###");
|
||||
set_row (5,"@101g%15s", (const char*)str);
|
||||
}
|
||||
}
|
||||
|
||||
@ -651,18 +671,27 @@ void TMastrini_application::stampa_totali198()
|
||||
|
||||
_totprogre_dare=_progredare+_totale_periodo_dare;
|
||||
_totprogre_avere=_progreavere+_totale_periodo_avere;
|
||||
set_row (3,"@32gTOTALI PERIODO@102g%15.0r", &_totale_periodo_dare);
|
||||
set_row (3,"@119g%15.0r", &_totale_periodo_avere);
|
||||
set_row (3,"@153g%15.0r", &_saldo_movimenti);
|
||||
set_row (4,"@32gTOTALI PROGRESSIVI@102g%15.0r", &_totprogre_dare);
|
||||
set_row (4,"@119g%15.0r", &_totprogre_avere);
|
||||
set_row (4,"@136g%15.0r", &_saldo_progressivi);
|
||||
TString string = _totale_periodo_dare.string("###.###.###.###");
|
||||
set_row (3,"@32gTOTALI PERIODO@102g%15s", (const char*)string);
|
||||
string = _totale_periodo_avere.string("###.###.###.###");
|
||||
set_row (3,"@119g%15s", (const char*)string);
|
||||
string = _saldo_movimenti.string("###.###.###.###");
|
||||
set_row (3,"@153g%15s", (const char*)string);
|
||||
string = _totprogre_dare.string("###.###.###.###");
|
||||
set_row (4,"@32gTOTALI PROGRESSIVI@102g%15s",(const char*)string);
|
||||
string = _totprogre_avere.string("###.###.###.###");
|
||||
set_row (4,"@119g%15s", (const char*)string);
|
||||
string = _saldo_progressivi.string("###.###.###.###");
|
||||
set_row (4,"@136g%15s", (const char*)string);
|
||||
if (_stampaprogre) //Progressivi attuali
|
||||
{
|
||||
set_row(5,"@32gTOTALI PROGRESSIVI AL@55g%s",(const char*)_ultima_data_reg.string());
|
||||
set_row (5,"@102g%15.0r", &_totprogre_dare_al);
|
||||
set_row (5,"@119g%15.0r", &_totprogre_avere_al);
|
||||
set_row (5,"@136g%15.0r", &_saldo_progressivi);
|
||||
TString str = _totprogre_dare_al.string("###.###.###.###");
|
||||
set_row (5,"@102g%15s", (const char*)str);
|
||||
str = _totprogre_avere_al.string("###.###.###.###");
|
||||
set_row (5,"@119g%15s", (const char*)str);
|
||||
str = _saldo_progressivi.string("###.###.###.###");
|
||||
set_row (5,"@136g%15s", (const char*)str);
|
||||
}
|
||||
}
|
||||
|
||||
@ -762,6 +791,7 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
TLocalisamfile& rmov = current_cursor()->file(LF_RMOV);
|
||||
|
||||
_numreg = atol (current_cursor()->curr(LF_RMOV).get(RMV_NUMREG));
|
||||
_numrig = atoi (current_cursor()->curr(LF_RMOV).get(RMV_NUMRIG));
|
||||
|
||||
_gruppocontr = rmov.get_int (RMV_GRUPPOC);
|
||||
_contocontr = rmov.get_int (RMV_CONTOC);
|
||||
@ -774,7 +804,7 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
// nella maschera. Se non viene specificato li stampa tutti
|
||||
|
||||
_importo = current_cursor()->curr(LF_RMOV).get_real(RMV_IMPORTO);
|
||||
_importo_str = _importo.string("###############");
|
||||
_importo_str = _importo.string("###.###.###.###");
|
||||
_mov->setkey(1);
|
||||
_mov->curr().zero();
|
||||
_mov->curr().put(MOV_NUMREG,_numreg);
|
||||
@ -879,20 +909,20 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
{
|
||||
if (_descrizionemov != "")
|
||||
{
|
||||
set_row (1,"@42g%.25s", (const char*) _descrizionemov);
|
||||
set_row (1,"@68g%.32s", (const char*) _descrizione);
|
||||
set_row (1,"@46g%.23s", (const char*) _descrizionemov);
|
||||
set_row (1,"@70g%.30s", (const char*) _descrizione);
|
||||
}
|
||||
else if (_descrizionemov == "")
|
||||
{
|
||||
set_row (1,"@42g%.25s", (const char*) _descrcaus);
|
||||
set_row (1,"@68g%.32s", (const char*) _descrizione);
|
||||
set_row (1,"@46g%.23s", (const char*) _descrcaus);
|
||||
set_row (1,"@70g%.30s", (const char*) _descrizione);
|
||||
}
|
||||
}
|
||||
else if (_descrizione == "")
|
||||
if (_descrizionemov != "")
|
||||
{
|
||||
set_row (1,"@42g%.25s", (const char*) _descrcaus);
|
||||
set_row (1,"@68g%.32s", (const char*) _descrizionemov);
|
||||
set_row (1,"@46g%.23s", (const char*) _descrcaus);
|
||||
set_row (1,"@70g%.30s", (const char*) _descrizionemov);
|
||||
}
|
||||
else
|
||||
if (_descrizionemov == "")
|
||||
@ -900,9 +930,9 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
conto(_gruppocontr,_contocontr,FALSE);
|
||||
TConto tc (_gruppocontr,_contocontr,_sottocontocontr,_tipo_contr);
|
||||
TString descr_contr = tc.descrizione();
|
||||
set_row (1,"@42g%.25s", (const char*) _descrcaus);
|
||||
set_row (1,"@46g%.23s", (const char*) _descrcaus);
|
||||
if (descr_contr != "Sconosciuto")
|
||||
set_row (1,"@68g%.32s", (const char*) descr_contr);
|
||||
set_row (1,"@70g%.30s", (const char*) descr_contr);
|
||||
}
|
||||
}
|
||||
|
||||
@ -937,8 +967,8 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
}
|
||||
}
|
||||
|
||||
_saldo_progressivi_str=_saldo_progressivi.string("###############");
|
||||
_saldo_movimenti_str=_saldo_movimenti.string("###############");
|
||||
_saldo_progressivi_str=_saldo_progressivi.string("###.###.###.###");
|
||||
_saldo_movimenti_str=_saldo_movimenti.string("###.###.###.###");
|
||||
if (_numcarat == 2)
|
||||
{
|
||||
ricerca_regiva();
|
||||
@ -1091,13 +1121,16 @@ print_action TMastrini_application::postprocess_print(int file, int counter)
|
||||
|
||||
void TMastrini_application::stampa_totaliiva()
|
||||
{
|
||||
|
||||
real totale;
|
||||
|
||||
if (_stampatotiva)
|
||||
for (int j = 0; j < _b.items(); j++)
|
||||
{
|
||||
TDociva& riga = (TDociva&)_b[j];
|
||||
set_row(7+j, "@0g%-50s",(const char*) riga._descrdoc);
|
||||
set_row(7+j, "@61g%15.0r", &riga._totdociva);
|
||||
set_row(7+j, "@0g%s",(const char*) riga._descrdoc);
|
||||
totale = riga._totdociva;
|
||||
TString string = totale.string("###.###.###.###");
|
||||
set_row(7+j, " %15s", (const char*)string);
|
||||
}
|
||||
_b.destroy();
|
||||
}
|
||||
@ -1184,8 +1217,8 @@ bool TMastrini_application::set_print(int)
|
||||
TLocalisamfile* fl;
|
||||
TString data1,data2;
|
||||
|
||||
_puoi_stampare = TRUE;
|
||||
|
||||
_puoi_stampare = TRUE;
|
||||
|
||||
_msk->set_handler (F_DATAINI ,data_inizio);
|
||||
_msk->set_handler (F_DATAFINE ,data_fine);
|
||||
|
||||
@ -1377,7 +1410,8 @@ void TMastrini_application::crea_intestazione()
|
||||
sep.right_just(132);
|
||||
set_header(1,(const char*) sep);
|
||||
sep ="";
|
||||
set_header(2,"@1g%s",(const char*) sep);
|
||||
set_header(2,"@1g%s",(const char*) sep);
|
||||
//set_header(1,"@126gPag. %2d", _numero_pag++);
|
||||
}
|
||||
else if (_numcarat == 2)
|
||||
{
|
||||
@ -1385,16 +1419,17 @@ void TMastrini_application::crea_intestazione()
|
||||
sep1.right_just(198);
|
||||
set_header(1,(const char*) sep1);
|
||||
sep1 ="";
|
||||
set_header(2,"@1g%s",(const char*) sep1);
|
||||
set_header(2,"@1g%s",(const char*) sep1);
|
||||
//set_header(1,"@190gPagina %2d", _numero_pag++);
|
||||
}
|
||||
|
||||
set_header (1, "@0gDITTA@6g%5ld", _codice_ditta);
|
||||
set_header (1, "@12g%-45s", (const char*) _ragsoc);
|
||||
set_header (1, "@59g%-25s", (const char*) _indulc);
|
||||
set_header (1, "@86g%-9s", (const char*) _civulc);
|
||||
set_header (1, "@97g%-5s", (const char*) _capulc);
|
||||
set_header (1, "@103g%-18s", (const char*) _com);
|
||||
set_header (1, "@122g%-3s", (const char*) _prov);
|
||||
set_header (1, "@12g%-.45s", (const char*) _ragsoc);
|
||||
set_header (1, "@59g%-.25s", (const char*) _indulc);
|
||||
set_header (1, "@86g%-.9s", (const char*) _civulc);
|
||||
set_header (1, "@97g%-.5s", (const char*) _capulc);
|
||||
set_header (1, "@103g%-.18s", (const char*) _com);
|
||||
set_header (1, "@122g%-.3s", (const char*) _prov);
|
||||
|
||||
set_header (3, "@0gSottoconto@12g%d", _gruppo);
|
||||
set_header (3, "@16g%d", _conto);
|
||||
@ -1433,15 +1468,82 @@ void TMastrini_application::crea_intestazione()
|
||||
{
|
||||
sep1.fill('-'); //Stampa 198 - (sep1(198))
|
||||
set_header (6,"@1g%s", (const char *) sep1);
|
||||
set_header (7,"Operazione@19gData@30gNumero@172gContro@182gReg@190gNumero@197gA");
|
||||
set_header (7,"Operazione@23gData@34gNumero@172gContro@182gReg@190gNumero@197gA");
|
||||
set_header (8,"Data");
|
||||
if (_stampanum < 3)
|
||||
set_header (8,"@11gnumero");
|
||||
set_header (8,"@19gDocumento@38gCod.Causale@68gDescrizione@113gDare@129gAvere@136gSaldo progress.@156gSaldo movim.@172gPartita@182gIva@186gProtocollo@197gC");
|
||||
set_header (8,"@23gDocumento@42gCod.Causale@70gDescrizione@113gDare@129gAvere@136gSaldo progress.@156gSaldo movim.@172gPartita@182gIva@186gProtocollo@197gC");
|
||||
sep1.fill('-');
|
||||
set_header (9,"@1g%s", (const char *) sep1);
|
||||
}
|
||||
}
|
||||
|
||||
void TMastrini_application::crea_intestazione(int start_riga)
|
||||
{
|
||||
TString sep(132),sep1(198);
|
||||
int r = start_riga;
|
||||
|
||||
reset_header();
|
||||
|
||||
if (_numcarat == 1)
|
||||
set_header(1,"@126gPag. %2d", _numero_pag++);
|
||||
else if (_numcarat == 2)
|
||||
set_header(1,"@190gPagina %2d", _numero_pag++);
|
||||
|
||||
set_header (r, "@0gDITTA@6g%5ld", _codice_ditta);
|
||||
set_row (r, "@12g%-45s", (const char*) _ragsoc);
|
||||
set_row (r, "@59g%-25s", (const char*) _indulc);
|
||||
set_row (r, "@86g%-9s", (const char*) _civulc);
|
||||
set_row (r, "@97g%-5s", (const char*) _capulc);
|
||||
set_row (r, "@103g%-18s", (const char*) _com);
|
||||
set_row (r, "@122g%-3s", (const char*) _prov);
|
||||
r += 2;
|
||||
set_row (r, "@0gSottoconto@12g%d", _gruppo);
|
||||
set_row (r, "@16g%d", _conto);
|
||||
set_row (r, "@20g%ld", _sottoc);
|
||||
|
||||
if (_tmcf == 'C')
|
||||
_tipo_mask = 1;
|
||||
else if (_tmcf == 'F')
|
||||
_tipo_mask = 2;
|
||||
else if (_tmcf == '\0')
|
||||
_tipo_mask = 3;
|
||||
switch (_tipo_mask)
|
||||
{
|
||||
case 1: ricerca_clifo(r);
|
||||
break;
|
||||
case 2: ricerca_clifo(r);
|
||||
break;
|
||||
case 3: ricerca_gruppo(r);
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
if (_numcarat == 1)
|
||||
{
|
||||
sep.fill('-'); //Stampa 132 - (sep(132))
|
||||
set_row (6, (const char *) sep);
|
||||
set_row (7,"Operazione@19gDocumento@117gContro@131gA");
|
||||
set_row (8,"Data");
|
||||
if (_stampanum < 3)
|
||||
set_row (8,"@11gnumero");
|
||||
set_row (8,"@19gData@30gNumero@38gCod.Causale@61gDescrizione@96gDare@111gAvere@117gPartita@131gC");
|
||||
sep.fill('-');
|
||||
set_row (9, (const char *) sep);
|
||||
}
|
||||
else if (_numcarat == 2)
|
||||
{
|
||||
sep1.fill('-'); //Stampa 198 - (sep1(198))
|
||||
set_row (6,"@1g%s", (const char *) sep1);
|
||||
set_row (7,"Operazione@23gData@34gNumero@172gContro@182gReg@190gNumero@197gA");
|
||||
set_row (8,"Data");
|
||||
if (_stampanum < 3)
|
||||
set_row (8,"@11gnumero");
|
||||
set_row (8,"@23gDocumento@42gCod.Causale@70gDescrizione@113gDare@129gAvere@136gSaldo progress.@156gSaldo movim.@172gPartita@182gIva@186gProtocollo@197gC");
|
||||
sep1.fill('-');
|
||||
set_row (9,"@1g%s", (const char *) sep1);
|
||||
}
|
||||
}
|
||||
|
||||
void TMastrini_application::stampa_progre_riporto()
|
||||
{
|
||||
@ -1460,16 +1562,16 @@ void TMastrini_application::stampa_progre_riporto()
|
||||
_riporto_avere += _riporto_parziale_avere;
|
||||
if (_numcarat == 1)
|
||||
{
|
||||
TString string = _riporto_dare.string("###############");
|
||||
TString string = _riporto_dare.string("###.###.###.###");
|
||||
set_row (1,"@32gA RIPORTO@85g%15s",(const char*) string);
|
||||
string = _riporto_avere.string("###############");
|
||||
string = _riporto_avere.string("###.###.###.###");
|
||||
set_row (1,"@101g%15s",(const char*) string);
|
||||
}
|
||||
if (_numcarat == 2)
|
||||
{
|
||||
TString string = _riporto_dare.string("###############");
|
||||
TString string = _riporto_dare.string("###.###.###.###");
|
||||
set_row (1,"@32gA RIPORTO@102g%15s",(const char*) string);
|
||||
string = _riporto_avere.string("###############");
|
||||
string = _riporto_avere.string("###.###.###.###");
|
||||
set_row (1,"@119g%15s",(const char*) string);
|
||||
}
|
||||
_riporto_parziale_dare = 0;
|
||||
@ -1614,7 +1716,7 @@ void TMastrini_application::calcola_progressivi()
|
||||
// progressivi dell'esercizio e i progressivi di quelli scaricati, tenendo
|
||||
// conto del flag salini per sapere se il saldo e' dare oppure avere.
|
||||
|
||||
|
||||
/*
|
||||
if (_annomsk != 0 && _anno_corrente == annoes_saldi)
|
||||
{
|
||||
if (saldo != ZERO)
|
||||
@ -1631,12 +1733,13 @@ void TMastrini_application::calcola_progressivi()
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
} // FOR
|
||||
|
||||
|
||||
//Se il saldo dell'esercizio attuale non e' diverso da zero, allora il saldo
|
||||
// finale dell'esercizio precedente devo calcolarmelo tenendo conto dell'indbil
|
||||
|
||||
if (_annomsk != 0 && saldo == ZERO)
|
||||
if (_annomsk != 0 /*&& saldo == ZERO*/)
|
||||
{
|
||||
if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5))
|
||||
{
|
||||
@ -1691,21 +1794,21 @@ void TMastrini_application::stampa_progressivi()
|
||||
{
|
||||
if (_numcarat == 1)
|
||||
{
|
||||
TString string = _saldo_progre_prec.string("###############");
|
||||
set_row (1,"@32gPROGRESSIVI PRECEDENTI@69g%15s",(const char*) string);
|
||||
string = _progredare.string("###############");
|
||||
TString string = _saldo_progre_prec.string("###.###.###.###");
|
||||
set_row (1,"@42gPROGRESSIVI PRECEDENTI@69g%15s",(const char*) string);
|
||||
string = _progredare.string("###.###.###.###");
|
||||
set_row (1,"@85g%15s",(const char*) string);
|
||||
string = _progreavere.string("###############");
|
||||
string = _progreavere.string("###.###.###.###");
|
||||
set_row (1,"@101g%15s",(const char*) string);
|
||||
}
|
||||
|
||||
if (_numcarat == 2)
|
||||
{
|
||||
TString string = _progredare.string("###############");
|
||||
set_row (1,"@32gPROGRESSIVI PRECEDENTI@102g%15s",(const char*)string);
|
||||
string = _progreavere.string("###############");
|
||||
TString string = _progredare.string("###.###.###.###");
|
||||
set_row (1,"@70gPROGRESSIVI PRECEDENTI@102g%15s",(const char*)string);
|
||||
string = _progreavere.string("###.###.###.###");
|
||||
set_row (1,"@119g%15s",(const char*) string);
|
||||
string = _saldo_progre_prec.string("###############");
|
||||
string = _saldo_progre_prec.string("###.###.###.###");
|
||||
set_row (1,"@136g%15s",(const char*) string);
|
||||
}
|
||||
}
|
||||
@ -1784,9 +1887,9 @@ void TMastrini_application::ricerca_clifo()
|
||||
else
|
||||
descriz2 = "";
|
||||
|
||||
set_header(3,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-30s",(const char*) descrizione_conto());
|
||||
set_header(3, "@91g%-30s",(const char*) ragsoc);
|
||||
set_header(3,"@27g%-.30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-.30s",(const char*) descrizione_conto());
|
||||
set_header(3, "@91g%-.41s",(const char*) ragsoc);
|
||||
set_header(4, "Classe@8g%c", _lettivd);
|
||||
set_header(4, "@10g%-8s", (const char*) _numrivd);
|
||||
if (_numivd != 0)
|
||||
@ -1815,10 +1918,10 @@ void TMastrini_application::ricerca_clifo()
|
||||
|
||||
set_header (5, "@33gP.I.@37g%-11s",(const char*) paiv);
|
||||
set_header (5, "@49gCF@52g%-16s",(const char*) cofi);
|
||||
set_header (5, "@69g%-25s",(const char*) indcf);
|
||||
set_header (5, "@69g%-.25s",(const char*) indcf);
|
||||
set_header (5, "@95g%-5s",(const char*) capcf);
|
||||
set_header (5, "@101g%-24s",(const char*) dencom);
|
||||
set_header (5,"@126g%-5s",(const char*) provcom);
|
||||
set_header (5, "@101g%-.24s",(const char*) dencom);
|
||||
set_header (5, "@126g%-5s",(const char*) provcom);
|
||||
|
||||
if (_numcarat == 2)
|
||||
{
|
||||
@ -1827,6 +1930,124 @@ void TMastrini_application::ricerca_clifo()
|
||||
}
|
||||
}
|
||||
|
||||
int TMastrini_application::ricerca_clifo(int start)
|
||||
{
|
||||
TString ragsoc,paiv,cofi,indcf,capcf,ptel,tel,statocf,comcf,dencom,provcom,dep;
|
||||
TLocalisamfile clifo(LF_CLIFO);
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
TString16 dataini,datafine;
|
||||
TString descriz,descriz2;
|
||||
int numrivd;
|
||||
int r = start;
|
||||
|
||||
clifo.setkey(1);
|
||||
clifo.zero();
|
||||
clifo.put(CLI_TIPOCF, _tmcf);
|
||||
clifo.put(CLI_CODCF, _sottoc);
|
||||
clifo.read();
|
||||
if (clifo.bad())
|
||||
clifo.zero();
|
||||
TConto tc (_gruppo,_conto,_sottoc,_tmcf);
|
||||
|
||||
ragsoc = tc.descrizione();
|
||||
paiv = clifo.get(CLI_PAIV);
|
||||
cofi = clifo.get(CLI_COFI);
|
||||
indcf = clifo.get(CLI_INDCF);
|
||||
indcf.trim();
|
||||
indcf << " " << clifo.get(CLI_CIVCF);
|
||||
capcf = clifo.get(CLI_CAPCF);
|
||||
ptel = clifo.get(CLI_PTEL);
|
||||
tel = clifo.get(CLI_TEL);
|
||||
statocf = clifo.get(CLI_STATOCF);
|
||||
comcf = clifo.get(CLI_COMCF);
|
||||
|
||||
_comuni->setkey(1);
|
||||
_comuni->zero();
|
||||
_comuni->put(COM_STATO, statocf);
|
||||
_comuni->put(COM_COM, comcf);
|
||||
_comuni->read();
|
||||
if (_comuni->good())
|
||||
{
|
||||
dencom = _comuni->get(COM_DENCOM);
|
||||
provcom = _comuni->get(COM_PROVCOM);
|
||||
}
|
||||
else
|
||||
{
|
||||
dencom="";
|
||||
provcom="";
|
||||
}
|
||||
|
||||
pconti.setkey(1);
|
||||
pconti.zero();
|
||||
pconti.put(PCN_GRUPPO, _gruppo);
|
||||
pconti.put(PCN_CONTO, _conto);
|
||||
pconti.read();
|
||||
_sezivd = pconti.get_char(PCN_SEZIVD);
|
||||
_lettivd = pconti.get_char(PCN_LETTIVD);
|
||||
numrivd = pconti.get_int(PCN_NUMRIVD);
|
||||
_numrivd = itor(numrivd);
|
||||
_numivd = pconti.get_int(PCN_NUMIVD);
|
||||
|
||||
descriz = descrizione_classe(_sezivd,_lettivd,numrivd,_numivd);
|
||||
|
||||
if (_numivd != 0) //Ora devo stampare la descrizione del livello della
|
||||
{ //classe immediatamente precedente a quello appena
|
||||
if (_numrivd != "") //stampato
|
||||
descriz2 = descrizione_classe(_sezivd,_lettivd,_numrivd_int,0);
|
||||
else
|
||||
descriz2 = descrizione_classe(_sezivd,_lettivd,0,0);
|
||||
}
|
||||
else
|
||||
if (_numrivd != "")
|
||||
descriz2 = descrizione_classe(_sezivd,_lettivd,0,0);
|
||||
else
|
||||
descriz2 = "";
|
||||
|
||||
set_row (r,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_row (r,"@59g%-30s",(const char*) descrizione_conto());
|
||||
set_row(r++, "@91g%-30s",(const char*) ragsoc);
|
||||
set_row(r, "Classe@8g%c", _lettivd);
|
||||
set_row(r, "@10g%-8s", (const char*) _numrivd);
|
||||
if (_numivd != 0)
|
||||
set_row(r, "@19g%2d", _numivd);
|
||||
if (descriz2 != "")
|
||||
{
|
||||
set_row(r,"@23g%-50s",(const char*) descriz2);
|
||||
set_row(r,"@80g%-50s",(const char*) descriz);
|
||||
}
|
||||
else
|
||||
set_row(r++,"@23g%-50s",(const char*) descriz);
|
||||
|
||||
dataini = _data_ini.string();
|
||||
datafine = _data_fine.string();
|
||||
|
||||
if (_annomsk == 0)
|
||||
{
|
||||
set_row (r, "Periodo@10g%s", (const char*) dataini);
|
||||
set_row (r, "@22g%s", (const char*) datafine);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row (r, "Comp. da@9g%s", (const char*) dataini);
|
||||
set_row (r, "@20ga@22g%s", (const char*) datafine);
|
||||
}
|
||||
|
||||
set_row (r, "@33gP.I.@37g%-11s",(const char*) paiv);
|
||||
set_row (r, "@49gCF@52g%-16s",(const char*) cofi);
|
||||
set_row (r, "@69g%-25s",(const char*) indcf);
|
||||
set_row (r, "@95g%-5s",(const char*) capcf);
|
||||
set_row (r, "@101g%-24s",(const char*) dencom);
|
||||
set_row (r, "@126g%-5s",(const char*) provcom);
|
||||
|
||||
if (_numcarat == 2)
|
||||
{
|
||||
set_row (r,"@134g%-4s",(const char*) ptel);
|
||||
set_row (r++,"@138g/@139g%-10s",(const char*) tel);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
// Se la ricerca selezionata sulla maschera e' per gruppo, conto, sottoconto
|
||||
// ricerca i corrispondenti su PCON, con relativa IV direttiva CEE
|
||||
|
||||
@ -1873,10 +2094,10 @@ void TMastrini_application::ricerca_gruppo()
|
||||
else
|
||||
descriz2 = "";
|
||||
|
||||
set_header(3,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-30s",(const char*) descrizione_conto());
|
||||
set_header(3,"@27g%-.30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-.30s",(const char*) descrizione_conto());
|
||||
|
||||
set_header(3,"@91g%-30s",(const char*) _descr);
|
||||
set_header(3,"@91g%-.41s",(const char*) _descr);
|
||||
set_header(4, "@0gClasse@12g%c", _lettivd);
|
||||
set_header(4, "@14g%-8s",(const char*) _numrivd);
|
||||
if (_numivd != 0)
|
||||
@ -1904,6 +2125,63 @@ void TMastrini_application::ricerca_gruppo()
|
||||
}
|
||||
}
|
||||
|
||||
int TMastrini_application::ricerca_gruppo(int start)
|
||||
{
|
||||
TString80 descr,descriz,descriz2,dep;
|
||||
TString dataini,datafine;
|
||||
int r = start;
|
||||
|
||||
ricerca_classe_IV (TRUE); //Esiste a livello di sottoconto
|
||||
|
||||
if (_sezivd == '0') //Non esiste a livello di sottoconto
|
||||
ricerca_classe_IV (FALSE); //Allora la cerco a livello di conto
|
||||
|
||||
descriz = descrizione_classe(_sezivd,_lettivd,_numrivd_int,_numivd);
|
||||
if (_numivd != 0) //Ora devo stampare la descrizione del livello della
|
||||
{ //classe immediatamente precedente a quello appena
|
||||
if (_numrivd != "") //stampato
|
||||
descriz2 = descrizione_classe(_sezivd,_lettivd,_numrivd_int,0);
|
||||
else
|
||||
descriz2 = descrizione_classe(_sezivd,_lettivd,0,0);
|
||||
}
|
||||
else
|
||||
if (_numrivd != "")
|
||||
descriz2 = descrizione_classe(_sezivd,_lettivd,0,0);
|
||||
else
|
||||
descriz2 = "";
|
||||
|
||||
set_row(3,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_row(3,"@59g%-30s",(const char*) descrizione_conto());
|
||||
|
||||
set_row(3,"@91g%-30s",(const char*) _descr);
|
||||
set_row(4, "@0gClasse@12g%c", _lettivd);
|
||||
set_row(4, "@14g%-8s",(const char*) _numrivd);
|
||||
if (_numivd != 0)
|
||||
set_row(4, "@23g%d", _numivd);
|
||||
if (descriz2 != "")
|
||||
{
|
||||
set_row(4,"@27g%-50s",(const char*) descriz2);
|
||||
set_row(4,"@80g%-50s",(const char*) descriz);
|
||||
}
|
||||
else
|
||||
set_row(4,"@27g%-50s",(const char*) descriz);
|
||||
|
||||
dataini = _data_ini.string();
|
||||
datafine = _data_fine.string();
|
||||
|
||||
if (_annomsk == 0)
|
||||
{
|
||||
set_row (5, "Periodo@12g%s", (const char*) dataini);
|
||||
set_row (5, "@24g%s", (const char*) datafine);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_row (5, "Periodo di competenza@23g%s", (const char*) dataini);
|
||||
set_row (5, "@35g%s", (const char*) datafine);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
const char* TMastrini_application::descrizione_classe(char sezione, char lettera, int numr, int numero)
|
||||
{
|
||||
TTable tabivd(TAB_IVD);
|
||||
@ -2003,11 +2281,13 @@ bool TMastrini_application::user_create()
|
||||
_msk->set_handler (F_CONTOFINE_CLIENTE ,conto_hnd);
|
||||
_msk->set_handler (F_CONTOFINE_FORN ,conto_hnd);
|
||||
|
||||
_msk->set_handler (F_SOTTOCFINE_CONTO ,sottoc_hnd);
|
||||
_msk->set_handler (F_SOTTOCFINE_CLIENTE ,sottoc_hnd);
|
||||
_msk->set_handler (F_SOTTOCFINE_FORN ,sottoc_hnd);
|
||||
// _msk->set_handler (F_SOTTOCFINE_CONTO ,sottoc_hnd);
|
||||
// _msk->set_handler (F_SOTTOCFINE_CLIENTE ,sottoc_hnd);
|
||||
// _msk->set_handler (F_SOTTOCFINE_FORN ,sottoc_hnd);
|
||||
|
||||
_inizio_stampa = TRUE;
|
||||
_numero_pag = 1;
|
||||
|
||||
_inizio_stampa = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -5,15 +5,15 @@ PAGE "Stampa Mastrini" -1 -1 78 20
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 4 1 "Ditta "
|
||||
FLAGS "FRD"
|
||||
USE LF_NDITTE KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
OUTPUT F_CODDITTA CODDITTA
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
PROMPT 4 1 "Ditta "
|
||||
FLAGS "FRD"
|
||||
USE LF_NDITTE KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
OUTPUT F_CODDITTA CODDITTA
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
@ -148,7 +148,7 @@ NUMBER F_SOTTOCINI_CONTO 6
|
||||
BEGIN
|
||||
PROMPT 48 5 ""
|
||||
HELP "Codice conto da cui iniziare la stampa"
|
||||
USE LF_PCON //SELECT SOTTOCONTO!=""
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
INPUT GRUPPO F_GRUPPOINI
|
||||
INPUT CONTO F_CONTOINI_CONTO
|
||||
INPUT SOTTOCONTO F_SOTTOCINI_CONTO
|
||||
@ -476,7 +476,7 @@ END
|
||||
LIST F_STAMPANUM 15
|
||||
BEGIN
|
||||
PROMPT 4 15 "Stampa numerazione "
|
||||
HELP "Indicare il tipo di numerazione da stampare"
|
||||
HELP "Indicare il tipo di numerazione da stampare"
|
||||
ITEM "1|Operazione"
|
||||
ITEM "2|Riga giornale"
|
||||
ITEM "3|Nessuna"
|
||||
@ -500,12 +500,12 @@ END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -528,23 +528,24 @@ BEGIN
|
||||
ITEM "72|12 pollici (30,48 cm)"
|
||||
END
|
||||
|
||||
LIST F_NUMMAST 5
|
||||
LIST F_NUMMAST 10
|
||||
BEGIN
|
||||
PROMPT 4 6 "Numero mastrini per pagina "
|
||||
HELP "Indicare il numero di mastrini contenuti in una pagina"
|
||||
ITEM "1|Uno"
|
||||
ITEM "2|Due"
|
||||
ITEM "3|Continua"
|
||||
END
|
||||
|
||||
BUTTON DLG_PRINT 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 "~Stampa"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
PROMPT -12 -1 "~Stampa"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
|
||||
|
@ -270,8 +270,6 @@ bool CG4400_application::mask_libun (TMask_field& f, KEY k)
|
||||
{
|
||||
static bool can_print = TRUE;
|
||||
|
||||
if (!can_print) return FALSE;
|
||||
|
||||
if (k == K_ENTER) return can_print;
|
||||
|
||||
if (k==K_TAB && f.mask().is_running())
|
||||
@ -286,7 +284,7 @@ bool CG4400_application::mask_libun (TMask_field& f, KEY k)
|
||||
int last_mese = 13;
|
||||
int mese = 0;
|
||||
|
||||
app().__firm = app().get_firm();
|
||||
app().__firm = app().get_firm();
|
||||
|
||||
for (int i = 0; i < app()._ditte->items(); i++)
|
||||
{
|
||||
@ -301,11 +299,8 @@ bool CG4400_application::mask_libun (TMask_field& f, KEY k)
|
||||
{
|
||||
if (app()._selected[i]) f.message_box("Ditta %ld: il registro %s non soddisfa i parametri indicati", ditta, (const char*)cod);
|
||||
if (app()._selected.last_one() == i)
|
||||
{
|
||||
can_print = FALSE;
|
||||
break;
|
||||
}
|
||||
else
|
||||
else
|
||||
continue;
|
||||
}
|
||||
if (mese != 0 && mese < fino_a_mese - 1) //indipendentemente se si tratta di una ditta selezionata oppure no
|
||||
@ -328,10 +323,9 @@ bool CG4400_application::mask_libun (TMask_field& f, KEY k)
|
||||
last_mese = (last_mese < mese) ? last_mese : mese;
|
||||
}
|
||||
}
|
||||
|
||||
app().set_firm(app().__firm);
|
||||
app().set_firm(app().__firm);
|
||||
|
||||
if (last_mese == 13)
|
||||
//return FALSE;
|
||||
last_mese = 0; //l'ultima data di stampa sul/sui registri specificati e' vuota (cioe' non sono ancora stati stampati sul libro unico specificato per l'anno specificato)
|
||||
const char* me = "";
|
||||
me = format("%02d", last_mese);
|
||||
@ -1634,10 +1628,8 @@ bool CG4400_application::compila_reg(const TMask& m)
|
||||
if (_tabreg->read() != NOERR)
|
||||
{
|
||||
if (_tipo_stampa != 3)
|
||||
{
|
||||
warning_box("Il registro IVA specificato non esiste nella \n Ditta %ld", _ditta);
|
||||
return FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1830,18 +1822,6 @@ bool CG4400_application::preprocess_page(int file, int counter)
|
||||
mov.rewrite();
|
||||
}
|
||||
|
||||
/*
|
||||
if ( intra && autof)
|
||||
{
|
||||
_auto_intraf = TRUE;
|
||||
tipo_op = "3";
|
||||
}
|
||||
else if (intra)
|
||||
tipo_op = "1";
|
||||
else if (autof)
|
||||
tipo_op = "2";
|
||||
*/
|
||||
|
||||
if (codcf == 0l)
|
||||
ragsoc = descrcau;
|
||||
else
|
||||
@ -1890,14 +1870,13 @@ bool CG4400_application::preprocess_page(int file, int counter)
|
||||
_r = 1;
|
||||
if (!_stampa_data_reg)
|
||||
set_row(_r, "%s", (const char*) _datareg.string(2, '/'));
|
||||
set_row(_r, "@9g%5d", protiva);
|
||||
set_row(_r, "@9g%5ld", protiva);
|
||||
if (datadoc.ok())
|
||||
set_row(_r, "@15g%s", (const char*) app);
|
||||
set_row(_r, "@24g%s", (const char*) numdoc);
|
||||
if (codcf != 0l)
|
||||
set_row(_r, "@31g%6ld", codcf);
|
||||
set_row(_r, "@38g%-.29s",(const char*) ragsoc);
|
||||
//set_row(_r, "@68g%s", (const char*) tipo_op);
|
||||
set_row(_r, "@38g%-.30s",(const char*) ragsoc);
|
||||
set_row(_r, "@70g%2s", (const char*) _tipodoc);
|
||||
if (_stampa_width == 132)
|
||||
set_row(_r, "@72g%r", &totdoc);
|
||||
@ -2472,7 +2451,9 @@ bool CG4400_application::stampa_registri_IVA(const TMask& m)
|
||||
send_message('C',t, _fino_a_mese);
|
||||
}
|
||||
|
||||
print();
|
||||
print();
|
||||
|
||||
if (is_cancelled()) return FALSE;
|
||||
|
||||
if (_tipo_stampa != 3 && _liquidazione)
|
||||
stampa_liq_mesi_succ();
|
||||
@ -2642,6 +2623,8 @@ bool CG4400_application::stampa_registri_IVA(const TMask& m)
|
||||
|
||||
print();
|
||||
|
||||
if (is_cancelled()) return FALSE;
|
||||
|
||||
if (_tipo_stampa != 3 && _liquidazione)
|
||||
stampa_liq_mesi_succ();
|
||||
}
|
||||
|
@ -133,6 +133,7 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Inserire il codice del libro unico"
|
||||
VALIDATE ZEROFILL_FUNC 3
|
||||
MESSAGE K_TAB, CODICE_LIBRO_IVA
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
|
@ -499,7 +499,7 @@ bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil
|
||||
_prg_avere = saldi.get_real(SLD_PAVERE);
|
||||
sezione = saldi.get_char(SLD_FLAGSALINI);
|
||||
|
||||
if (_prg_dare == ZERO && _prg_avere == ZERO)
|
||||
if (_saldo_iniziale == ZERO && _prg_dare == ZERO && _prg_avere == ZERO)
|
||||
return esito;
|
||||
|
||||
if (sezione == 'A') _saldo_iniziale = -_saldo_iniziale;
|
||||
|
Loading…
x
Reference in New Issue
Block a user