Correzione errori
git-svn-id: svn://10.65.10.50/trunk@1626 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
43b3d42d58
commit
69029737cc
2385
cg/cg1100.cpp
2385
cg/cg1100.cpp
File diff suppressed because it is too large
Load Diff
314
cg/cg1300.cpp
314
cg/cg1300.cpp
@ -1,157 +1,157 @@
|
||||
//********************************
|
||||
//* Aggiornamento Tipo Attivita' *
|
||||
//********************************
|
||||
#include <applicat.h>
|
||||
#include <mask.h>
|
||||
#include <relation.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <progind.h>
|
||||
#include <urldefid.h>
|
||||
#include <prefix.h>
|
||||
#include <mov.h>
|
||||
#include <rmoviva.h>
|
||||
#include "conto.h"
|
||||
#include "cg2103.h"
|
||||
#include "cg1301.h"
|
||||
#include "cg1302.h"
|
||||
#include "cg1303.h"
|
||||
#include "cg1304.h"
|
||||
#include "cg1.h"
|
||||
|
||||
class TAgg_attiv : public TApplication
|
||||
{
|
||||
TLocalisamfile* _pcon,* _attiv;
|
||||
TTable* _reg;
|
||||
|
||||
public:
|
||||
virtual bool create();
|
||||
virtual bool destroy();
|
||||
virtual bool menu(MENU_TAG m);
|
||||
|
||||
void elabora_mov();
|
||||
|
||||
TAgg_attiv() {};
|
||||
virtual ~TAgg_attiv() {};
|
||||
};
|
||||
|
||||
HIDDEN TAgg_attiv& app() { return (TAgg_attiv&)main_app(); }
|
||||
|
||||
bool TAgg_attiv::create()
|
||||
{
|
||||
TApplication::create();
|
||||
|
||||
_pcon = new TLocalisamfile(LF_PCON);
|
||||
_attiv = new TLocalisamfile(LF_ATTIV);
|
||||
_reg = new TTable("REG");
|
||||
|
||||
dispatch_e_menu (BAR_ITEM(1));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TAgg_attiv::destroy()
|
||||
{
|
||||
delete _pcon;
|
||||
delete _attiv;
|
||||
delete _reg;
|
||||
|
||||
return TApplication::destroy();
|
||||
}
|
||||
|
||||
bool TAgg_attiv::menu(MENU_TAG m)
|
||||
{
|
||||
TMask msk("cg1300a");
|
||||
|
||||
while (msk.run() == K_ENTER)
|
||||
{
|
||||
elabora_mov();
|
||||
message_box("Aggiornamento completato");
|
||||
//return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void TAgg_attiv::elabora_mov()
|
||||
{
|
||||
TRelation rel (LF_MOV);
|
||||
rel.add(LF_RMOVIVA, "NUMREG=NUMREG",1);
|
||||
TCursor cursor(&rel,"",1);
|
||||
|
||||
TLocalisamfile& mov = rel.lfile();
|
||||
TLocalisamfile& rmoviva = rel.lfile(LF_RMOVIVA);
|
||||
|
||||
long ditta = get_firm();
|
||||
cursor = 0L;
|
||||
const long nitems = cursor.items();
|
||||
|
||||
TProgind p(nitems ? nitems : 1, "Aggiornamento in corso..." , TRUE, TRUE, 70);
|
||||
|
||||
for (; cursor.pos() < cursor.items(); ++cursor)
|
||||
{
|
||||
p.addstatus(1);
|
||||
const TString16 reg(mov.get(MOV_REG));
|
||||
if (reg.empty()) continue;
|
||||
|
||||
const int annoiva = mov.get_int(MOV_ANNOIVA);
|
||||
TRegistro registro(reg, annoiva);
|
||||
const bool att_mista = registro.attivita_mista();
|
||||
|
||||
if (att_mista)
|
||||
{
|
||||
bool ok = rel.is_first_match(LF_RMOVIVA);
|
||||
while (ok)
|
||||
{
|
||||
const char tipo = rmoviva.get_char("TIPOC");
|
||||
if (tipo <= ' ')
|
||||
{
|
||||
TBill c(rmoviva.get_int("GRUPPO"), rmoviva.get_int("CONTO"), rmoviva.get_long("SOTTOCONTO"));
|
||||
int tipoatt = c.tipo_att();
|
||||
rmoviva.put("TIPOATT", tipoatt);
|
||||
rmoviva.rewrite();
|
||||
}
|
||||
ok = rel.next_match(LF_RMOVIVA);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int cg1300(int argc, char* argv[])
|
||||
{
|
||||
switch (*argv[2])
|
||||
{
|
||||
case 'A':
|
||||
{
|
||||
TAgg_attiv a;
|
||||
a.run(argc, argv, "Aggiornamento tipo attivita' su movimenti iva");
|
||||
}
|
||||
break;
|
||||
case 'I':
|
||||
{
|
||||
TAgg_opintra a;
|
||||
a.run(argc, argv, "Aggiornamento flag op. intracomunitarie");
|
||||
}
|
||||
break;
|
||||
case 'T':
|
||||
{
|
||||
TAgg_tconto a;
|
||||
a.run(argc, argv, "Aggiornamento tipo conto");
|
||||
}
|
||||
break;
|
||||
case 'P':
|
||||
{
|
||||
TAgg_nprot a;
|
||||
a.run(argc, argv,"Rinumerazione numero di protocollo");
|
||||
}
|
||||
break;
|
||||
case 'C':
|
||||
{
|
||||
TAgg_codatt a;
|
||||
a.run(argc, argv,"Aggiornamento codice attivita'");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
//********************************
|
||||
//* Aggiornamento Tipo Attivita' *
|
||||
//********************************
|
||||
#include <applicat.h>
|
||||
#include <mask.h>
|
||||
#include <relation.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <progind.h>
|
||||
#include <urldefid.h>
|
||||
#include <prefix.h>
|
||||
#include <mov.h>
|
||||
#include <rmoviva.h>
|
||||
#include "conto.h"
|
||||
#include "cg2103.h"
|
||||
#include "cg1301.h"
|
||||
#include "cg1302.h"
|
||||
#include "cg1303.h"
|
||||
#include "cg1304.h"
|
||||
#include "cg1.h"
|
||||
|
||||
class TAgg_attiv : public TApplication
|
||||
{
|
||||
TLocalisamfile* _pcon,* _attiv;
|
||||
TTable* _reg;
|
||||
|
||||
public:
|
||||
virtual bool create();
|
||||
virtual bool destroy();
|
||||
virtual bool menu(MENU_TAG m);
|
||||
|
||||
void elabora_mov();
|
||||
|
||||
TAgg_attiv() {};
|
||||
virtual ~TAgg_attiv() {};
|
||||
};
|
||||
|
||||
HIDDEN TAgg_attiv& app() { return (TAgg_attiv&)main_app(); }
|
||||
|
||||
bool TAgg_attiv::create()
|
||||
{
|
||||
TApplication::create();
|
||||
|
||||
_pcon = new TLocalisamfile(LF_PCON);
|
||||
_attiv = new TLocalisamfile(LF_ATTIV);
|
||||
_reg = new TTable("REG");
|
||||
|
||||
dispatch_e_menu (BAR_ITEM(1));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TAgg_attiv::destroy()
|
||||
{
|
||||
delete _pcon;
|
||||
delete _attiv;
|
||||
delete _reg;
|
||||
|
||||
return TApplication::destroy();
|
||||
}
|
||||
|
||||
bool TAgg_attiv::menu(MENU_TAG m)
|
||||
{
|
||||
TMask msk("cg1300a");
|
||||
|
||||
while (msk.run() == K_ENTER)
|
||||
{
|
||||
elabora_mov();
|
||||
message_box("Aggiornamento completato");
|
||||
//return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void TAgg_attiv::elabora_mov()
|
||||
{
|
||||
TRelation rel (LF_MOV);
|
||||
rel.add(LF_RMOVIVA, "NUMREG=NUMREG",1);
|
||||
TCursor cursor(&rel,"",1);
|
||||
|
||||
TLocalisamfile& mov = rel.lfile();
|
||||
TLocalisamfile& rmoviva = rel.lfile(LF_RMOVIVA);
|
||||
|
||||
long ditta = get_firm();
|
||||
cursor = 0L;
|
||||
const long nitems = cursor.items();
|
||||
|
||||
TProgind p(nitems ? nitems : 1, "Aggiornamento in corso..." , TRUE, TRUE, 70);
|
||||
|
||||
for (; cursor.pos() < cursor.items(); ++cursor)
|
||||
{
|
||||
p.addstatus(1);
|
||||
const TString16 reg(mov.get(MOV_REG));
|
||||
if (reg.empty()) continue;
|
||||
|
||||
const int annoiva = mov.get_int(MOV_ANNOIVA);
|
||||
TRegistro registro(reg, annoiva);
|
||||
const bool att_mista = registro.attivita_mista();
|
||||
|
||||
if (att_mista)
|
||||
{
|
||||
bool ok = rel.is_first_match(LF_RMOVIVA);
|
||||
while (ok)
|
||||
{
|
||||
const char tipo = rmoviva.get_char("TIPOC");
|
||||
if (tipo <= ' ')
|
||||
{
|
||||
TBill c(rmoviva.get_int("GRUPPO"), rmoviva.get_int("CONTO"), rmoviva.get_long("SOTTOCONTO"));
|
||||
int tipoatt = c.tipo_att();
|
||||
rmoviva.put("TIPOATT", tipoatt);
|
||||
rmoviva.rewrite();
|
||||
}
|
||||
ok = rel.next_match(LF_RMOVIVA);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int cg1300(int argc, char* argv[])
|
||||
{
|
||||
switch (*argv[2])
|
||||
{
|
||||
case 'A':
|
||||
{
|
||||
TAgg_attiv a;
|
||||
a.run(argc, argv, "Aggiornamento tipo attivita' su movimenti iva");
|
||||
}
|
||||
break;
|
||||
case 'I':
|
||||
{
|
||||
TAgg_opintra a;
|
||||
a.run(argc, argv, "Aggiornamento flag op. intracomunitarie");
|
||||
}
|
||||
break;
|
||||
case 'T':
|
||||
{
|
||||
TAgg_tconto a;
|
||||
a.run(argc, argv, "Aggiornamento tipo conto");
|
||||
}
|
||||
break;
|
||||
case 'P':
|
||||
{
|
||||
TAgg_nprot a;
|
||||
a.run(argc, argv,"Rinumerazione numero di protocollo");
|
||||
}
|
||||
break;
|
||||
case 'C':
|
||||
{
|
||||
TAgg_codatt a;
|
||||
a.run(argc, argv,"Aggiornamento codice attivita'");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
60
cg/cg1300.h
60
cg/cg1300.h
@ -1,30 +1,30 @@
|
||||
#ifndef __CG1300_H
|
||||
#define __CG1300_H
|
||||
|
||||
#define F_CODDITTA 101
|
||||
#define F_RAGSOC 102
|
||||
#define F_ANNO 103
|
||||
#define F_REG 104
|
||||
#define F_PROT 105
|
||||
#define F_PASS 106
|
||||
#define F_DA 107
|
||||
#define F_A 108
|
||||
#define F_DENATTV 109
|
||||
#define F_DENATTN 110
|
||||
#endif // __CG1300_H
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef __CG1300_H
|
||||
#define __CG1300_H
|
||||
|
||||
#define F_CODDITTA 101
|
||||
#define F_RAGSOC 102
|
||||
#define F_ANNO 103
|
||||
#define F_REG 104
|
||||
#define F_PROT 105
|
||||
#define F_PASS 106
|
||||
#define F_DA 107
|
||||
#define F_A 108
|
||||
#define F_DENATTV 109
|
||||
#define F_DENATTN 110
|
||||
#endif // __CG1300_H
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -126,10 +126,11 @@ void TAgg_codatt::cancella_rec()
|
||||
TTable pla("PLA");
|
||||
for (pla.first(); !pla.eof(); pla.next())
|
||||
pla.remove();
|
||||
|
||||
/***
|
||||
TTable rmb("RMB");
|
||||
for (rmb.first(); !rmb.eof(); rmb.next())
|
||||
rmb.remove();
|
||||
***/
|
||||
}
|
||||
|
||||
void TAgg_codatt::aggiorna_att(const char* nome)
|
||||
|
7416
cg/cg1500.cpp
7416
cg/cg1500.cpp
File diff suppressed because it is too large
Load Diff
1462
cg/cg4300.cpp
1462
cg/cg4300.cpp
File diff suppressed because it is too large
Load Diff
1750
cg/cg4301.cpp
1750
cg/cg4301.cpp
File diff suppressed because it is too large
Load Diff
522
cg/cg4303.cpp
522
cg/cg4303.cpp
@ -1,3 +1,524 @@
|
||||
<<<<<<< cg4303.cpp
|
||||
// -----------------------------------------------------------------
|
||||
// Calcolo liquidazione
|
||||
// part 4: casi particolari
|
||||
// fv 2-2-94
|
||||
// -----------------------------------------------------------------
|
||||
|
||||
#include "cg4300.h"
|
||||
|
||||
void TLiquidazione_app::add_plafond(int month, const char* codatt, int type,
|
||||
real& howmuch, bool intra)
|
||||
{
|
||||
look_ppa(month,codatt,type);
|
||||
|
||||
TString att(codatt);
|
||||
|
||||
real r0 = _ppa_r->get_real("R0");
|
||||
real r1 = _ppa_r->get_real("R1");
|
||||
real r2 = _ppa_r->get_real("R2");
|
||||
|
||||
if (intra) r1 += howmuch;
|
||||
else r0 += howmuch;
|
||||
|
||||
if (r2 < (r0+r1))
|
||||
describe_error("Acquisti in eccesso rispetto al plafond disponibile",
|
||||
att.cut(5));
|
||||
_ppa_r->put("R0",r0);
|
||||
_ppa_r->put("R1",r1);
|
||||
_ppa->rewrite();
|
||||
}
|
||||
|
||||
void TLiquidazione_app::zero_plafond (int month, const char* codatt)
|
||||
{
|
||||
for (int jj = 1; jj <= 3; jj++) // three types of plafond
|
||||
{
|
||||
real r;
|
||||
look_ppa(month,codatt,jj,TRUE);
|
||||
if (is_first_month(month))
|
||||
{
|
||||
r = (jj == 1 ? _p8 : (jj == 2 ? _p8b : _p9));
|
||||
}
|
||||
else
|
||||
{
|
||||
long rn = _ppa->recno();
|
||||
|
||||
// se non c'e' quello del mese prima c'e' poco da fare,
|
||||
// si ricalcola tutto
|
||||
if (!look_ppa(previous_month(month),codatt,jj))
|
||||
// mazza che bella chiamata ricorsiva
|
||||
{
|
||||
if (_recalc != needed)
|
||||
{
|
||||
describe_error("Progressivi plafond non ricalcolati per "
|
||||
"i mesi precedenti: possibili errori",
|
||||
codatt);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!update_att(previous_month(month),codatt, FALSE))
|
||||
describe_error("Progressivi plafond non ricalcolati per "
|
||||
"i mesi precedenti: possibili errori",
|
||||
codatt);
|
||||
look_ppa(previous_month(month),codatt,jj);
|
||||
}
|
||||
}
|
||||
r = _ppa_r->get_real("R2") -
|
||||
_ppa_r->get_real("R0") -
|
||||
_ppa_r->get_real("R1");
|
||||
|
||||
_ppa->readat(rn);
|
||||
}
|
||||
_ppa_r->put("R2",r);
|
||||
_ppa_r->put("R0","");
|
||||
_ppa_r->put("R1","");
|
||||
_ppa->rewrite();
|
||||
} // for tipo esenzione plafond
|
||||
}
|
||||
|
||||
// ricalcolo dei corrispettivi
|
||||
void TLiquidazione_app::recalc_corrispettivi(int month, const char* codatt)
|
||||
{
|
||||
if (_corr_arr.items() == 0) return;
|
||||
// ricalcola (solo per il mese in corso!) operando sull'array
|
||||
for (int i = 0; i < _corr_arr.items(); i++)
|
||||
{
|
||||
_CorrItem* ci = (_CorrItem*)&_corr_arr[i];
|
||||
if (ci->_month != month || ci->_codatt != codatt)
|
||||
continue;
|
||||
|
||||
real imposta = (abs(ci->_totale) * ci->_aliquota)/(ci->_aliquota + 1.00);
|
||||
imposta.ceil();
|
||||
if (ci->_totale.sign() < 0) imposta = -imposta;
|
||||
real imponibile = ci->_totale - imposta;
|
||||
|
||||
// aggiusto l'IVA vendite nei plm
|
||||
look_plm(month, codatt);
|
||||
real ive = _plm->get_real("R0");
|
||||
ive += imposta;
|
||||
_plm->put("R0",ive);
|
||||
_plm->rewrite();
|
||||
// .. e il volume di affari nei pam
|
||||
real vaf = _pam->get_real("R1");
|
||||
vaf += imponibile;
|
||||
_pam->put("R1", vaf);
|
||||
_pam->rewrite();
|
||||
|
||||
// Aggiorno i luridi pim
|
||||
look_pim(month, codatt, ci->_codreg, "", ci->_codiva, ci->_tipodet, TRUE);
|
||||
|
||||
imponibile += _pim->get_real("R0");
|
||||
imposta += _pim->get_real("R1");
|
||||
_pim->put("R0", imponibile);
|
||||
_pim->put("R1", imposta);
|
||||
_pim->rewrite();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// ricalcolo della malefica ventilazione
|
||||
void TLiquidazione_app::recalc_ventilation(int month, const char* codatt)
|
||||
{
|
||||
if (!_isvent || _isagricolo || _isviaggio || _vend_arr.items() == 0) return;
|
||||
|
||||
TString att(codatt);
|
||||
|
||||
// 1) ricalcola i pim dei mesi dal primo al corrente se necessario
|
||||
recalc rcl = _recalc;
|
||||
_recalc = needed;
|
||||
for (int m = 1; m < month; m++)
|
||||
update_att(m,codatt, FALSE);
|
||||
_recalc = rcl;
|
||||
|
||||
_vent_arr.destroy();
|
||||
|
||||
for (m = 1; m <= month; m++)
|
||||
{
|
||||
// aggiunge gli acquisti del mese m operando sui pim
|
||||
for (_pim->first(); !_pim->eof(); _pim->next())
|
||||
{
|
||||
if (_year != *_pim_anno) continue;
|
||||
|
||||
// se e' acquisto beni per rivendita
|
||||
int tipocr = atoi(*_pim_tipocr);
|
||||
int mese = atoi(*_pim_mese);
|
||||
int tipodet = atoi(*_pim_tipodet);
|
||||
look_iva(*_pim_codiva);
|
||||
// base di riparto solo se non esente, non soggetto, non imponibile
|
||||
TString16 tipoiva(_iva->get("S1"));
|
||||
TString16 reg = *_pim_codreg;
|
||||
|
||||
|
||||
/*
|
||||
* caso particolare SENSU Vladimiro (1995) #MI3001
|
||||
* questi vengono pero' conteggiati nel totale
|
||||
* acquisti per rivendita
|
||||
*/
|
||||
if (tipocr == 5 && tipodet == 3)
|
||||
continue;
|
||||
|
||||
TString att(codatt);
|
||||
|
||||
if (tipocr == 1 && (mese == m) &&
|
||||
att == (const char*)(*_pim_codatt))
|
||||
{
|
||||
if (tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES")
|
||||
{
|
||||
real lurd = _pim->get_real("R0");
|
||||
lurd += _pim->get_real("R1");
|
||||
real perc = _iva->get_real("R0");
|
||||
TString other = _iva->get("S6");
|
||||
if (!other.empty())
|
||||
{
|
||||
// ventila a un altro codice
|
||||
look_iva(other);
|
||||
perc = _iva->get_real("R0");
|
||||
}
|
||||
add_ventilation(perc / CENTO, lurd, *_pim_codiva, other);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 2) calcola totale acquisti su tutte le aliquote
|
||||
real totacq = 0.0;
|
||||
real totven = 0.0;
|
||||
|
||||
for (int j = 0; j < _vent_arr.items(); j++)
|
||||
{
|
||||
_VentItem& vv = (_VentItem&)_vent_arr[j];
|
||||
totacq += vv._totale;
|
||||
}
|
||||
|
||||
// 3) ricalcola (solo per il mese in corso!) operando sull'array
|
||||
for (int i = 0; i < _vend_arr.items(); i++)
|
||||
{
|
||||
_VendItem* vi = (_VendItem*)&_vend_arr[i];
|
||||
if (vi->_month != month)
|
||||
continue;
|
||||
|
||||
// questo serve solo per il prospettino di m.
|
||||
totven += vi->_totale;
|
||||
|
||||
// 3.2) calcola percentuali di ripartizione e prepara l'affettatrice
|
||||
TDistrib dst(vi->_totale,ROUND_LIRA);
|
||||
for (j = 0; j < _vent_arr.items(); j++)
|
||||
{
|
||||
_VentItem* vv = (_VentItem*)&_vent_arr[j];
|
||||
dst.add(vv->_totale/totacq);
|
||||
}
|
||||
|
||||
// 3.3) affetta l'importo
|
||||
for (j = 0; j < _vent_arr.items(); j++)
|
||||
{
|
||||
_VentItem* vv = (_VentItem*)&_vent_arr[j];
|
||||
real imponibile = dst.get();
|
||||
real div(1.0); div += vv->_aliquota;
|
||||
real imposta = imponibile - (imponibile/div);
|
||||
imposta.ceil(ROUND_LIRA);
|
||||
imponibile -= imposta;
|
||||
|
||||
// aggiusto l'IVA vendite nei plm
|
||||
look_plm(month, codatt);
|
||||
real ive = _plm->get_real("R0");
|
||||
ive += imposta;
|
||||
_plm->put("R0",ive);
|
||||
_plm->rewrite();
|
||||
// .. e il volume di affari nei pam
|
||||
real vaf = _pam->get_real("R1");
|
||||
vaf += imponibile;
|
||||
_pam->put("R1", vaf);
|
||||
_pam->rewrite();
|
||||
|
||||
// Aggiorno i luridi pim
|
||||
look_pim(month, codatt, vi->_codreg, "0", vv->_codiva, vi->_tipodet, TRUE);
|
||||
|
||||
imponibile += _pim->get_real("R0");
|
||||
imposta += _pim->get_real("R1");
|
||||
_pim->put("R0", imponibile);
|
||||
_pim->put("R1", imposta);
|
||||
_pim->put("S4", vv->_other);
|
||||
// segnale per comodita'
|
||||
_pim->put("B1","X");
|
||||
_pim->rewrite();
|
||||
}
|
||||
}
|
||||
|
||||
// memorizza totali per il prospettino di m.
|
||||
look_plm(month, codatt);
|
||||
|
||||
// PAM e PUM
|
||||
_pam->put("R2",totacq);
|
||||
_pam->put("R3",totven);
|
||||
_pam->rewrite();
|
||||
}
|
||||
|
||||
|
||||
// questa serve per il rimborso secondo le
|
||||
// nuove cazzonorme
|
||||
class rObj : public TObject
|
||||
{
|
||||
public:
|
||||
real _imp;
|
||||
real _iva;
|
||||
real _perc;
|
||||
|
||||
rObj() {}
|
||||
virtual ~rObj() {}
|
||||
};
|
||||
|
||||
|
||||
// defines per stabilire quale cazzo di metodo piace oggi alla prassi
|
||||
// ------------------------------------------------------------------
|
||||
// Considera tutti i mesi del trimestre fino a quello indicato
|
||||
// se lasciato indefinito usa solo il mese passato
|
||||
#define OGGI_GLI_TIRA_DI_USARE_TRE_MESI
|
||||
|
||||
_DescrItem* TLiquidazione_app::recalc_rimborso(int month, const char* codatts,
|
||||
bool stliq)
|
||||
{
|
||||
// calcola condizioni per il diritto al rimborso infracazzuale
|
||||
// chiamata soltanto per i trimestri anche se annuale
|
||||
// aggiornata a normative per anno liq. > 1994
|
||||
|
||||
bool rimborsami = FALSE;
|
||||
_DescrItem* d = NULL;
|
||||
TToken_string atts(codatts);
|
||||
const char* tmpatt;
|
||||
TString att;
|
||||
|
||||
real es_ni = 0.0;
|
||||
real vol_aff = 0.0;;
|
||||
|
||||
while ((tmpatt = atts.get()) != NULL)
|
||||
{
|
||||
att = tmpatt;
|
||||
#ifdef OGGI_GLI_TIRA_DI_USARE_TRE_MESI
|
||||
for (int m = (month == 13 ? 1 : (next_trim(month)-2)); m <= month; m++)
|
||||
{
|
||||
#else
|
||||
int m = month;
|
||||
#endif
|
||||
if (!look_plm(m,att)) continue;
|
||||
|
||||
vol_aff += _pam->get_real("R1");
|
||||
es_ni += _pum->get_real("R12");
|
||||
#ifdef OGGI_GLI_TIRA_DI_USARE_TRE_MESI
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// condizione 1
|
||||
real prc = es_ni/vol_aff; prc.round(2);
|
||||
|
||||
if (stliq && !vol_aff.is_zero() && prc > MIN_PARTE_ESENTE)
|
||||
{
|
||||
rimborsami = TRUE;
|
||||
d = new _DescrItem(RIMBORSO);
|
||||
d->_f0 = TRUE;
|
||||
d->_r0 = es_ni;
|
||||
d->_r1 = vol_aff;
|
||||
}
|
||||
|
||||
// ---------------------- condizione 2
|
||||
// u' casinu pazzescu d'u nuiu guvernu
|
||||
|
||||
real vtot = 0.0;
|
||||
real atot = 0.0;
|
||||
real ivav = 0.0;
|
||||
real ivaa = 0.0;
|
||||
|
||||
real alv = 0.0; // aliquota media vendite
|
||||
real ala = 0.0; // aliquota media acquisti
|
||||
|
||||
/***********************************************************************
|
||||
Sembra che sia stato annullato subito dopo che ho finito di scrivere
|
||||
queste 150 righe di casino
|
||||
***********************************************************************
|
||||
// due array dove ficcare i totali per
|
||||
// codiva in ordine di imponibile
|
||||
TArray varr, aarr;
|
||||
|
||||
// scorri i bellissimi progressivi mensili rimborso
|
||||
for (_rmb->first(); !_rmb->eof(); _rmb->next())
|
||||
{
|
||||
int year = atoi((const char*)_year);
|
||||
int ryear = atoi((const char*)(*_rmb_anno));
|
||||
int rmese = atoi((const char*)(*_rmb_mese));
|
||||
|
||||
if (year != ryear || (rmese < (month - 2) || rmese > month))
|
||||
continue;
|
||||
|
||||
real imp = _rmb->get("R0");
|
||||
real iva = _rmb->get("R1");
|
||||
real per = _rmb->get("R2");
|
||||
|
||||
rObj* rb = new rObj;
|
||||
rb->_imp = imp;
|
||||
rb->_iva = iva;
|
||||
rb->_perc = per;
|
||||
|
||||
TArray& arr = (tiporeg)atoi((const char*)(*_rmb_tiporeg)) == vendita ? varr : aarr;
|
||||
|
||||
for (int i = 0; i < arr.items(); i++)
|
||||
{
|
||||
rObj& robj = (rObj&)arr[i];
|
||||
if (robj._imp < imp)
|
||||
break;
|
||||
}
|
||||
arr.insert(rb, i);
|
||||
|
||||
// totali imponibili
|
||||
if ((tiporeg)atoi((const char*)(*_rmb_tiporeg)) == vendita)
|
||||
vtot += imp;
|
||||
else
|
||||
atot += imp;
|
||||
}
|
||||
|
||||
// se ci sono due o piu' imponibili uguali devo
|
||||
// sostituire l'imposta con la media delle aliquote
|
||||
// ciclo uguale sui due array
|
||||
for (int w = 0; w < 2; w++)
|
||||
{
|
||||
TArray& arr = w == 0 ? varr : aarr;
|
||||
for (int i = 0; i < arr.items(); i++)
|
||||
{
|
||||
rObj& robj = (rObj&)arr[i];
|
||||
real impref = robj._imp;
|
||||
real perc = robj._perc;
|
||||
|
||||
for (int j = i+1; j < arr.items(); j++)
|
||||
{
|
||||
rObj& rbj = (rObj&)arr[j];
|
||||
if (rbj._imp != impref)
|
||||
break;
|
||||
perc += rbj._perc;
|
||||
}
|
||||
// riaggiustesbimo
|
||||
if (j > i+1)
|
||||
{
|
||||
// funzionerebbe comunque ma risparmiamo una
|
||||
// divisione per 1
|
||||
real ndiv(j-i);
|
||||
perc /= ndiv;
|
||||
for (; i < j; i++)
|
||||
{
|
||||
rObj& rbj = (rObj&)arr[i];
|
||||
rbj._iva = rbj._imp * (perc/CENTO);
|
||||
rbj._iva.round(ROUND_LIRA);
|
||||
}
|
||||
i --;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 51 per cento
|
||||
vtot *= PERC_IMP_RIMBORSABILE;
|
||||
atot *= PERC_IMP_RIMBORSABILE;
|
||||
|
||||
for (w = 0; w < 2; w++)
|
||||
{
|
||||
TArray& arr = w == 0 ? varr : aarr;
|
||||
real timp = w == 0 ? vtot : atot;
|
||||
real tiva = 0.0;
|
||||
|
||||
for (int i = 0; i < arr.items(); i++)
|
||||
{
|
||||
rObj& robj = (rObj&)arr[i];
|
||||
if (timp >= robj._imp)
|
||||
{
|
||||
tiva += robj._iva;
|
||||
timp -= robj._imp;
|
||||
}
|
||||
else
|
||||
{
|
||||
real perc = timp/robj._imp;
|
||||
if (!perc.is_zero())
|
||||
{
|
||||
real ttiv = robj._iva * perc;
|
||||
ttiv.round(ROUND_LIRA);
|
||||
tiva += ttiv;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (w == 0) ivav = tiva;
|
||||
else ivaa = tiva;
|
||||
}
|
||||
|
||||
**************************************************************************/
|
||||
|
||||
// scorri i bellissimi progressivi mensili
|
||||
for (_pim->first(); !_pim->eof(); _pim->next())
|
||||
{
|
||||
int year = atoi((const char*)_year);
|
||||
int ryear = atoi(*_pim_anno);
|
||||
int rmese = atoi(*_pim_mese);
|
||||
|
||||
// B3 significa che e' acq. o vendita valido per rimb. per aliquota
|
||||
if (!_pim->get_bool("B3")) continue;
|
||||
|
||||
#ifdef OGGI_GLI_TIRA_DI_USARE_TRE_MESI
|
||||
if (year != ryear ||
|
||||
(month != 13 && (rmese < (next_trim(month)-2) || rmese > month)))
|
||||
continue;
|
||||
#else
|
||||
if (year != ryear || (month != rmese))
|
||||
continue;
|
||||
#endif
|
||||
|
||||
int tipomov = (tiporeg)_pim->get_long("I1");
|
||||
|
||||
real imp = _pim->get("R0");
|
||||
real iva = _pim->get("R1");
|
||||
|
||||
// totali imponibili
|
||||
if (tipomov == vendita)
|
||||
{
|
||||
vtot += imp;
|
||||
ivav += iva;
|
||||
}
|
||||
else
|
||||
{
|
||||
atot += imp;
|
||||
ivaa += iva;
|
||||
}
|
||||
}
|
||||
|
||||
// finalmente
|
||||
alv = ivav/vtot; alv.round(4);
|
||||
ala = ivaa/atot; ala.round(4);
|
||||
|
||||
// vedi condizioni
|
||||
rimborsami = ala > alv;
|
||||
if (rimborsami)
|
||||
{
|
||||
// vedi di quanto ala eccede alv; deve essere > 10%
|
||||
real ecc = ((ala/alv) - real(1.0));
|
||||
rimborsami = (ecc >= SOGLIA_MAGGIORE_ALIQUOTA_DEL_CAZZO_PER_AVER_DIRITTO_AL_RIMBORSO);
|
||||
}
|
||||
|
||||
if (stliq && rimborsami)
|
||||
{
|
||||
if (d == NULL) d = new _DescrItem(RIMBORSO);
|
||||
d->_f1 = TRUE;
|
||||
d->_r2 = vtot;
|
||||
d->_r3 = atot;
|
||||
d->_r4 = ivav;
|
||||
d->_r5 = ivaa;
|
||||
d->_r6 = alv * CENTO;
|
||||
d->_r7 = ala * CENTO;
|
||||
}
|
||||
|
||||
if (rimborsami && is_month_ok_strict(month))
|
||||
{
|
||||
look_lim(month);
|
||||
_lim->put("B2", "X");
|
||||
_lim->rewrite();
|
||||
}
|
||||
return d;
|
||||
}
|
||||
=======
|
||||
// -----------------------------------------------------------------
|
||||
// Calcolo liquidazione
|
||||
// part 4: casi particolari
|
||||
@ -536,3 +1057,4 @@ _DescrItem* TLiquidazione_app::recalc_rimborso(int month, const char* codatts,
|
||||
}
|
||||
return d;
|
||||
}
|
||||
>>>>>>> 1.41
|
||||
|
6599
cg/cg4400.cpp
6599
cg/cg4400.cpp
File diff suppressed because it is too large
Load Diff
320
cg/cg4400.h
320
cg/cg4400.h
@ -1,160 +1,160 @@
|
||||
//
|
||||
// cg4400.h
|
||||
//
|
||||
#include <isam.h>
|
||||
#include <printapp.h>
|
||||
#include <mask.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <urldefid.h>
|
||||
#include <text.h>
|
||||
#include <mailbox.h>
|
||||
#include <execp.h>
|
||||
#include <sheet.h>
|
||||
#include <config.h>
|
||||
#include <prefix.h>
|
||||
#include <progind.h>
|
||||
#include <nditte.h>
|
||||
#include <anagr.h>
|
||||
#include <comuni.h>
|
||||
#include <unloc.h>
|
||||
#include <mov.h>
|
||||
#include <rmoviva.h>
|
||||
#include <clifo.h>
|
||||
#include <occas.h>
|
||||
#include <causali.h>
|
||||
#include "cglib03.h"
|
||||
#include "cglib04.h"
|
||||
#include "conto.h"
|
||||
|
||||
enum messaggio {
|
||||
no_liquidazione,
|
||||
B0_settato,
|
||||
non_proseguire,
|
||||
prosegui_stampa,
|
||||
prosegui_cal_stampa
|
||||
};
|
||||
|
||||
class CG4400_application : public TPrintapp
|
||||
{
|
||||
TCursor * _cur;
|
||||
TRelation *_rel, *_nditte;
|
||||
TLocalisamfile *_clifo, *_occas, *_tab, *_tabcom, *_com, *_anag, *_unloc, *_attiv, *_indlib;
|
||||
TTable *_tabreg, *_tablbu, *_tablim, *_tabpim, *_tablia, *_tabiva;
|
||||
TTable *_tabpla, *_tabppa, *_tabvid;
|
||||
TRigaiva_array _iva_array, _riga_rmi;
|
||||
TTipodoc_array _doc_array;
|
||||
TRiga_array _tot_iva_array;
|
||||
TBit_array _selected;
|
||||
TArray_sheet *_ditte;
|
||||
TArray _nomiditte;
|
||||
bool _st_liq[13];
|
||||
bool _test;
|
||||
TRecnotype _nrec;
|
||||
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf, _stampa;
|
||||
bool _corrispettivi, _liquidazione, _riep_liq, _stampa_ind_comp, _esiste_riga_iva, _stampa_cred_pre;
|
||||
bool _rif_vid, _intesta_vidi, _intesta_liq, _stampa_data_reg, _ok_vidi;
|
||||
bool _sosp_imposta;
|
||||
char _frequiva, _tipo_riepilogativo;
|
||||
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
|
||||
TDate _u_data;
|
||||
long _n_ditte, _u_stampata, _primast, __firm, _uprotivap, _ditta;
|
||||
long _numini, _pagine_stampate;
|
||||
int _fino_a_mese, _tipo_reg, _tipo_stampa, _cod_un_loc;
|
||||
int _annoes, _r, _stampa_width, _mese_ultima_liq, _mese_credito;
|
||||
int _stampa_len, _stampa_mese, _size_header;
|
||||
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;
|
||||
TFilename _t, _pippo;
|
||||
|
||||
TParagraph_string* _desc27;
|
||||
messaggio _scelta;
|
||||
|
||||
protected:
|
||||
|
||||
static bool filter_func (const TRelation * r);
|
||||
static bool mask_tipo_stampa (TMask_field&, KEY);
|
||||
static bool to_ditt_handler (TMask_field&, KEY);
|
||||
static bool fr_ditt_handler (TMask_field&, KEY);
|
||||
static bool to_butt_handler (TMask_field&, KEY);
|
||||
static bool fr_butt_handler (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_mese (TMask_field&, KEY);
|
||||
static bool mask_fino_a_mese (TMask_field&, KEY);
|
||||
static bool mask_select (TMask_field&, KEY);
|
||||
static bool mask_azzera (TMask_field&, KEY);
|
||||
static bool year_handler (TMask_field&, KEY);
|
||||
|
||||
public:
|
||||
|
||||
const char* desc_attivita ();
|
||||
const char* tipo_attivita ();
|
||||
const char* descr_doc ();
|
||||
const char* descr_iva (const char *);
|
||||
TRectype& ricerca_occ(const char*);
|
||||
TRectype& ricerca_cf (char, long);
|
||||
TRectype& look_comuni(const char*);
|
||||
TArray_sheet* get_ditte_sheet() { return _ditte; }
|
||||
int setta_riga (int, const TRigaiva&, real&, real&, real&, real&);
|
||||
int riga_rmoviva();
|
||||
bool set_print(int);
|
||||
bool set_ditte(TMask&);
|
||||
bool compila_reg(const TMask&);
|
||||
bool compila_lib();
|
||||
messaggio controlla_liquidazione();
|
||||
messaggio controlla_b0();
|
||||
bool controlla_mov();
|
||||
bool stampo_liquidazione(int);
|
||||
bool ventilazione(const char*);
|
||||
bool cerca_libro_gio(TString&, bool*);
|
||||
bool look_reg (int, int, TString&, int, const char*, int*, long);
|
||||
bool look_regs(int, TString&, int, int*, long, bool*);
|
||||
bool stampa_totali_finali();
|
||||
bool stampa_datareg();
|
||||
bool stampa_registri_IVA(const TMask&);
|
||||
bool look_lia(long ditta = 0l);
|
||||
bool ricerca_mese(TString&,TString&,int,int,TMask_field&);
|
||||
void set_choice_limits(TMask&);
|
||||
void build_ditte_sheet();
|
||||
void cerca_reg(const TString&, byte*);
|
||||
void set_page_tot_reg();
|
||||
void send_message(char, const TFilename&,int);
|
||||
void aggiorna_reg(const bool aggiorna_vidi);
|
||||
void aggiorna_lib();
|
||||
void calcola_progressivi();
|
||||
void stampa_liq_mesi_succ();
|
||||
void look_reg();
|
||||
void no_movimenti();
|
||||
void liq_b0_settato();
|
||||
void liq_other_case();
|
||||
bool setta_mask(long);
|
||||
bool preprocess_page(int, int);
|
||||
int stampa_intestazione();
|
||||
int stampa_prospetto();
|
||||
long select_firm_range(long,long);
|
||||
void stampa_plafonds(int);
|
||||
void get_dati_ditta();
|
||||
void stampa_vidi();
|
||||
void scrivi_reg();
|
||||
int stampa_acquisti(int);
|
||||
real stampa_valori_plafonds(const real&, const int, TTable&, const char*);
|
||||
void build_nomiditte(TProgind* pnd = NULL);
|
||||
void set_year(int y) { _annoes = y; }
|
||||
void clear_stliq();
|
||||
virtual bool preprocess_print(int, int);
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual print_action postprocess_page (int, int);
|
||||
virtual void preprocess_header();
|
||||
|
||||
CG4400_application() : TPrintapp(), _ditte(NULL), _selected(10000), _nomiditte(100), _test(FALSE) {}
|
||||
virtual ~CG4400_application() {}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
// cg4400.h
|
||||
//
|
||||
#include <isam.h>
|
||||
#include <printapp.h>
|
||||
#include <mask.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <urldefid.h>
|
||||
#include <text.h>
|
||||
#include <mailbox.h>
|
||||
#include <execp.h>
|
||||
#include <sheet.h>
|
||||
#include <config.h>
|
||||
#include <prefix.h>
|
||||
#include <progind.h>
|
||||
#include <nditte.h>
|
||||
#include <anagr.h>
|
||||
#include <comuni.h>
|
||||
#include <unloc.h>
|
||||
#include <mov.h>
|
||||
#include <rmoviva.h>
|
||||
#include <clifo.h>
|
||||
#include <occas.h>
|
||||
#include <causali.h>
|
||||
#include "cglib03.h"
|
||||
#include "cglib04.h"
|
||||
#include "conto.h"
|
||||
|
||||
enum messaggio {
|
||||
no_liquidazione,
|
||||
B0_settato,
|
||||
non_proseguire,
|
||||
prosegui_stampa,
|
||||
prosegui_cal_stampa
|
||||
};
|
||||
|
||||
class CG4400_application : public TPrintapp
|
||||
{
|
||||
TCursor * _cur;
|
||||
TRelation *_rel, *_nditte;
|
||||
TLocalisamfile *_clifo, *_occas, *_tab, *_tabcom, *_com, *_anag, *_unloc, *_attiv, *_indlib;
|
||||
TTable *_tabreg, *_tablbu, *_tablim, *_tabpim, *_tablia, *_tabiva;
|
||||
TTable *_tabpla, *_tabppa, *_tabvid;
|
||||
TRigaiva_array _iva_array, _riga_rmi;
|
||||
TTipodoc_array _doc_array;
|
||||
TRiga_array _tot_iva_array;
|
||||
TBit_array _selected;
|
||||
TArray_sheet *_ditte;
|
||||
TArray _nomiditte;
|
||||
bool _st_liq[13];
|
||||
bool _test;
|
||||
TRecnotype _nrec;
|
||||
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf, _stampa;
|
||||
bool _corrispettivi, _liquidazione, _riep_liq, _stampa_ind_comp, _esiste_riga_iva, _stampa_cred_pre;
|
||||
bool _rif_vid, _intesta_vidi, _intesta_liq, _stampa_data_reg, _ok_vidi;
|
||||
bool _sosp_imposta;
|
||||
char _frequiva, _tipo_riepilogativo;
|
||||
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
|
||||
TDate _u_data;
|
||||
long _n_ditte, _u_stampata, _primast, __firm, _uprotivap, _ditta;
|
||||
long _numini, _pagine_stampate;
|
||||
int _fino_a_mese, _tipo_reg, _tipo_stampa, _cod_un_loc;
|
||||
int _annoes, _r, _stampa_width, _mese_ultima_liq, _mese_credito;
|
||||
int _stampa_len, _stampa_mese, _size_header;
|
||||
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;
|
||||
TFilename _t, _pippo;
|
||||
|
||||
TParagraph_string* _desc27;
|
||||
messaggio _scelta;
|
||||
|
||||
protected:
|
||||
|
||||
static bool filter_func (const TRelation * r);
|
||||
static bool mask_tipo_stampa (TMask_field&, KEY);
|
||||
static bool to_ditt_handler (TMask_field&, KEY);
|
||||
static bool fr_ditt_handler (TMask_field&, KEY);
|
||||
static bool to_butt_handler (TMask_field&, KEY);
|
||||
static bool fr_butt_handler (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_mese (TMask_field&, KEY);
|
||||
static bool mask_fino_a_mese (TMask_field&, KEY);
|
||||
static bool mask_select (TMask_field&, KEY);
|
||||
static bool mask_azzera (TMask_field&, KEY);
|
||||
static bool year_handler (TMask_field&, KEY);
|
||||
|
||||
public:
|
||||
|
||||
const char* desc_attivita ();
|
||||
const char* tipo_attivita ();
|
||||
const char* descr_doc ();
|
||||
const char* descr_iva (const char *);
|
||||
TRectype& ricerca_occ(const char*);
|
||||
TRectype& ricerca_cf (char, long);
|
||||
TRectype& look_comuni(const char*);
|
||||
TArray_sheet* get_ditte_sheet() { return _ditte; }
|
||||
int setta_riga (int, const TRigaiva&, real&, real&, real&, real&);
|
||||
int riga_rmoviva();
|
||||
bool set_print(int);
|
||||
bool set_ditte(TMask&);
|
||||
bool compila_reg(const TMask&);
|
||||
bool compila_lib();
|
||||
messaggio controlla_liquidazione();
|
||||
messaggio controlla_b0();
|
||||
bool controlla_mov();
|
||||
bool stampo_liquidazione(int);
|
||||
bool ventilazione(const char*);
|
||||
bool cerca_libro_gio(TString&, bool*);
|
||||
bool look_reg (int, int, TString&, int, const char*, int*, long);
|
||||
bool look_regs(int, TString&, int, int*, long, TProgind*);
|
||||
bool stampa_totali_finali();
|
||||
bool stampa_datareg();
|
||||
bool stampa_registri_IVA(const TMask&);
|
||||
bool look_lia(long ditta = 0l);
|
||||
bool ricerca_mese(TString&,TString&,int,int,TMask_field&);
|
||||
void set_choice_limits(TMask&);
|
||||
void build_ditte_sheet();
|
||||
void cerca_reg(const TString&, byte*);
|
||||
void set_page_tot_reg();
|
||||
void send_message(char, const TFilename&,int);
|
||||
void aggiorna_reg(const bool aggiorna_vidi);
|
||||
void aggiorna_lib();
|
||||
void calcola_progressivi();
|
||||
void stampa_liq_mesi_succ();
|
||||
void look_reg();
|
||||
void no_movimenti();
|
||||
void liq_b0_settato();
|
||||
void liq_other_case();
|
||||
bool setta_mask(long);
|
||||
bool preprocess_page(int, int);
|
||||
int stampa_intestazione();
|
||||
int stampa_prospetto();
|
||||
long select_firm_range(long,long);
|
||||
void stampa_plafonds(int);
|
||||
void get_dati_ditta();
|
||||
void stampa_vidi();
|
||||
void scrivi_reg();
|
||||
int stampa_acquisti(int);
|
||||
real stampa_valori_plafonds(const real&, const int, TTable&, const char*);
|
||||
void build_nomiditte(TProgind* pnd = NULL);
|
||||
void set_year(int y) { _annoes = y; }
|
||||
void clear_stliq();
|
||||
virtual bool preprocess_print(int, int);
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual print_action postprocess_page (int, int);
|
||||
virtual void preprocess_header();
|
||||
|
||||
CG4400_application() : TPrintapp(), _ditte(NULL), _selected(10000), _nomiditte(100), _test(FALSE) {}
|
||||
virtual ~CG4400_application() {}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
116
cg/cg4400b.uml
116
cg/cg4400b.uml
@ -1,59 +1,59 @@
|
||||
#include "cg4400b.h"
|
||||
|
||||
PAGE "Stampa registri IVA" -1 -1 78 14
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
END
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 3 1 "Ditta "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 17 1 "Ragione "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING COD_LIB 3
|
||||
BEGIN
|
||||
PROMPT 3 4 "Codice Libro "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LISTBOX U_MESE 10
|
||||
BEGIN
|
||||
PROMPT 3 5 "Stampa mese "
|
||||
FLAGS "MD"
|
||||
ITEM "00|Nessuno"
|
||||
END
|
||||
|
||||
NUMBER U_PAGINA 4
|
||||
BEGIN
|
||||
PROMPT 3 6 "Ult.num.pagina stampata libro ditta "
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
DATE U_DATA
|
||||
BEGIN
|
||||
PROMPT 3 7 "Ultima data di stampa "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
#include "cg4400b.h"
|
||||
|
||||
PAGE "Stampa registri IVA" -1 -1 78 12
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
END
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 3 1 "Ditta "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 17 1 "Ragione "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING COD_LIB 3
|
||||
BEGIN
|
||||
PROMPT 3 4 "Codice Libro "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LISTBOX U_MESE 10
|
||||
BEGIN
|
||||
PROMPT 3 5 "Stampa mese "
|
||||
FLAGS "MD"
|
||||
ITEM "00|Nessuno"
|
||||
END
|
||||
|
||||
NUMBER U_PAGINA 4
|
||||
BEGIN
|
||||
PROMPT 3 6 "Ult.num.pagina stampata libro ditta "
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
DATE U_DATA
|
||||
BEGIN
|
||||
PROMPT 3 7 "Ultima data di stampa "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
3612
cg/cg4600.cpp
3612
cg/cg4600.cpp
File diff suppressed because it is too large
Load Diff
700
cg/cg4600a.uml
700
cg/cg4600a.uml
@ -1,350 +1,350 @@
|
||||
#include "cg4600.h"
|
||||
|
||||
PAGE "" -1 -1 76 20
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 2 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
|
||||
BEGIN
|
||||
PROMPT 2 2 "Ragione sociale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CHIUSURA 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Codice causale chiusura "
|
||||
HELP "Codice causale che genera il movimento di chiusura"
|
||||
USE LF_CAUSALI KEY 1 SELECT MOVAP="C"
|
||||
FLAGS "UZ"
|
||||
DISPLAY "Codice" CODCAUS
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
OUTPUT F_CHIUSURA CODCAUS
|
||||
INPUT CODCAUS F_CHIUSURA
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_APERTURA 3
|
||||
BEGIN
|
||||
PROMPT 2 5 "Codice causale apertura "
|
||||
HELP "Codice causale che genera il movimento di apertura"
|
||||
USE LF_CAUSALI KEY 1 SELECT MOVAP="A"
|
||||
FLAGS "UZ"
|
||||
COPY DISPLAY F_CHIUSURA
|
||||
OUTPUT F_APERTURA CODCAUS
|
||||
INPUT CODCAUS F_APERTURA
|
||||
END
|
||||
|
||||
DATE F_DATAC
|
||||
BEGIN
|
||||
PROMPT 36 4 "Data/Anno chiusura "
|
||||
HELP "Data in cui effettuare il movimento di chiusura"
|
||||
END
|
||||
|
||||
DATE F_DATAAP
|
||||
BEGIN
|
||||
PROMPT 36 5 "Data/Anno apertura "
|
||||
HELP "Data in cui effettuare il movimento di apertura"
|
||||
WARNING "Inserire una data non inferiore alla data di chiusura"
|
||||
VALIDATE DATE_CMP_FUNC >= F_DATAC
|
||||
END
|
||||
|
||||
NUMBER F_ANNOCH 4
|
||||
BEGIN
|
||||
PROMPT 69 4 ""
|
||||
USE ESC
|
||||
INPUT CODTAB F_ANNOCH
|
||||
DISPLAY "Anno" CODTAB
|
||||
DISPLAY "Inizio Es.@12" D0
|
||||
DISPLAY "Fine Es.@12" D1
|
||||
DISPLAY "Scarico@12" D2
|
||||
OUTPUT F_ANNOCH CODTAB
|
||||
OUTPUT F_DATAC D1
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Anno non presente in tabella esercizi"
|
||||
FLAGS "GRZD"
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 69 5 ""
|
||||
COPY USE F_ANNOCH
|
||||
INPUT CODTAB F_ANNO
|
||||
COPY DISPLAY F_ANNOCH
|
||||
OUTPUT F_ANNO CODTAB
|
||||
OUTPUT F_DATAAP D0
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Anno non presente in tabella esercizi"
|
||||
FLAGS "GRZD"
|
||||
END
|
||||
|
||||
|
||||
GROUPBOX DLG_NULL 60 10
|
||||
BEGIN
|
||||
PROMPT 2 7 "Codici sottoconto"
|
||||
END
|
||||
|
||||
NUMBER F_BILCHG 3
|
||||
BEGIN
|
||||
PROMPT 3 9 "Bilancio di chiusura "
|
||||
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
||||
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
|
||||
CHECKTYPE REQUIRED
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
OUTPUT F_BILCHG GRUPPO
|
||||
OUTPUT F_BILCHC CONTO
|
||||
OUTPUT F_BILCHS SOTTOCONTO
|
||||
INPUT GRUPPO F_BILCHG
|
||||
INPUT CONTO F_BILCHC
|
||||
INPUT SOTTOCONTO F_BILCHS
|
||||
END
|
||||
|
||||
NUMBER F_BILCHC 3
|
||||
BEGIN
|
||||
PROMPT 44 9 ""
|
||||
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
||||
COPY ALL F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_BILCHS 6
|
||||
BEGIN
|
||||
PROMPT 51 9 ""
|
||||
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
||||
COPY ALL F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
|
||||
END
|
||||
|
||||
NUMBER F_PROPERG 3
|
||||
BEGIN
|
||||
PROMPT 3 10 "Profitti e perdite "
|
||||
HELP "Codice conto di riepilogo del Profitti e perdite"
|
||||
COPY USE F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_PROPERG GRUPPO
|
||||
OUTPUT F_PROPERC CONTO
|
||||
OUTPUT F_PROPERS SOTTOCONTO
|
||||
INPUT GRUPPO F_PROPERG
|
||||
INPUT CONTO F_PROPERC
|
||||
INPUT SOTTOCONTO F_PROPERS
|
||||
END
|
||||
|
||||
NUMBER F_PROPERC 3
|
||||
BEGIN
|
||||
PROMPT 44 10 ""
|
||||
HELP "Codice conto di riepilogo del Profitti e perdite"
|
||||
COPY USE F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_PROPERG
|
||||
COPY INPUT F_PROPERG
|
||||
END
|
||||
|
||||
NUMBER F_PROPERS 6
|
||||
BEGIN
|
||||
PROMPT 51 10 ""
|
||||
HELP "Codice conto di riepilogo del Profitti e perdite"
|
||||
COPY ALL F_PROPERC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_BILAPG 3
|
||||
BEGIN
|
||||
PROMPT 3 11 "Bilancio di apertura "
|
||||
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
||||
COPY USE F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_BILAPG GRUPPO
|
||||
OUTPUT F_BILAPC CONTO
|
||||
OUTPUT F_BILAPS SOTTOCONTO
|
||||
INPUT GRUPPO F_BILAPG
|
||||
INPUT CONTO F_BILAPC
|
||||
INPUT SOTTOCONTO F_BILAPS
|
||||
END
|
||||
|
||||
NUMBER F_BILAPC 3
|
||||
BEGIN
|
||||
PROMPT 44 11 ""
|
||||
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
||||
COPY USE F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_BILAPG
|
||||
COPY INPUT F_BILAPG
|
||||
END
|
||||
|
||||
NUMBER F_BILAPS 6
|
||||
BEGIN
|
||||
PROMPT 51 11 ""
|
||||
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
||||
COPY ALL F_BILAPC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_UTILPG 3
|
||||
BEGIN
|
||||
PROMPT 3 12 "Utile d'esercizio c/to patrim. "
|
||||
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_UTILPG GRUPPO
|
||||
OUTPUT F_UTILPC CONTO
|
||||
OUTPUT F_UTILPS SOTTOCONTO
|
||||
INPUT GRUPPO F_UTILPG
|
||||
INPUT CONTO F_UTILPC
|
||||
INPUT SOTTOCONTO F_UTILPS
|
||||
END
|
||||
|
||||
NUMBER F_UTILPC 3
|
||||
BEGIN
|
||||
PROMPT 44 12 ""
|
||||
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
||||
COPY USE F_UTILPG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_UTILPG
|
||||
COPY INPUT F_UTILPG
|
||||
END
|
||||
|
||||
NUMBER F_UTILPS 6
|
||||
BEGIN
|
||||
PROMPT 51 12 ""
|
||||
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
||||
COPY ALL F_UTILPC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_PERDPG 3
|
||||
BEGIN
|
||||
PROMPT 3 13 "Perdita d'esercizio c/to patr. "
|
||||
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_PERDPG GRUPPO
|
||||
OUTPUT F_PERDPC CONTO
|
||||
OUTPUT F_PERDPS SOTTOCONTO
|
||||
INPUT GRUPPO F_PERDPG
|
||||
INPUT CONTO F_PERDPC
|
||||
INPUT SOTTOCONTO F_PERDPS
|
||||
END
|
||||
|
||||
NUMBER F_PERDPC 3
|
||||
BEGIN
|
||||
PROMPT 44 13 ""
|
||||
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
||||
COPY USE F_PERDPG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_PERDPG
|
||||
COPY INPUT F_PERDPG
|
||||
END
|
||||
|
||||
NUMBER F_PERDPS 6
|
||||
BEGIN
|
||||
PROMPT 51 13 ""
|
||||
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
||||
COPY ALL F_PERDPC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_UTILEG 3
|
||||
BEGIN
|
||||
PROMPT 3 14 "Utile d'esercizio c/to econom. "
|
||||
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_UTILEG GRUPPO
|
||||
OUTPUT F_UTILEC CONTO
|
||||
OUTPUT F_UTILES SOTTOCONTO
|
||||
INPUT GRUPPO F_UTILEG
|
||||
INPUT CONTO F_UTILEC
|
||||
INPUT SOTTOCONTO F_UTILES
|
||||
END
|
||||
|
||||
NUMBER F_UTILEC 3
|
||||
BEGIN
|
||||
PROMPT 44 14 ""
|
||||
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
||||
COPY USE F_UTILEG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_UTILEG
|
||||
COPY INPUT F_UTILEG
|
||||
END
|
||||
|
||||
NUMBER F_UTILES 6
|
||||
BEGIN
|
||||
PROMPT 51 14 ""
|
||||
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
||||
COPY ALL F_UTILEC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_PERDEG 3
|
||||
BEGIN
|
||||
PROMPT 3 15 "Perdita d'esercizio c/to econ. "
|
||||
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_PERDEG GRUPPO
|
||||
OUTPUT F_PERDEC CONTO
|
||||
OUTPUT F_PERDES SOTTOCONTO
|
||||
INPUT GRUPPO F_PERDEG
|
||||
INPUT CONTO F_PERDEC
|
||||
INPUT SOTTOCONTO F_PERDES
|
||||
|
||||
END
|
||||
|
||||
NUMBER F_PERDEC 3
|
||||
BEGIN
|
||||
PROMPT 44 15 ""
|
||||
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
||||
COPY USE F_PERDEG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_PERDEG
|
||||
COPY INPUT F_PERDEG
|
||||
END
|
||||
|
||||
NUMBER F_PERDES 6
|
||||
BEGIN
|
||||
PROMPT 51 15 ""
|
||||
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
||||
COPY ALL F_PERDEC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
#include "cg4600.h"
|
||||
|
||||
PAGE "" -1 -1 76 20
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 2 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
|
||||
BEGIN
|
||||
PROMPT 2 2 "Ragione sociale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CHIUSURA 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Codice causale chiusura "
|
||||
HELP "Codice causale che genera il movimento di chiusura"
|
||||
USE LF_CAUSALI KEY 1 SELECT MOVAP="C"
|
||||
FLAGS "UZ"
|
||||
DISPLAY "Codice" CODCAUS
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
OUTPUT F_CHIUSURA CODCAUS
|
||||
INPUT CODCAUS F_CHIUSURA
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_APERTURA 3
|
||||
BEGIN
|
||||
PROMPT 2 5 "Codice causale apertura "
|
||||
HELP "Codice causale che genera il movimento di apertura"
|
||||
USE LF_CAUSALI KEY 1 SELECT MOVAP="A"
|
||||
FLAGS "UZ"
|
||||
COPY DISPLAY F_CHIUSURA
|
||||
OUTPUT F_APERTURA CODCAUS
|
||||
INPUT CODCAUS F_APERTURA
|
||||
END
|
||||
|
||||
DATE F_DATAC
|
||||
BEGIN
|
||||
PROMPT 36 4 "Data/Anno chiusura "
|
||||
HELP "Data in cui effettuare il movimento di chiusura"
|
||||
END
|
||||
|
||||
DATE F_DATAAP
|
||||
BEGIN
|
||||
PROMPT 36 5 "Data/Anno apertura "
|
||||
HELP "Data in cui effettuare il movimento di apertura"
|
||||
WARNING "Inserire una data non inferiore alla data di chiusura"
|
||||
VALIDATE DATE_CMP_FUNC >= F_DATAC
|
||||
END
|
||||
|
||||
NUMBER F_ANNOCH 4
|
||||
BEGIN
|
||||
PROMPT 69 4 ""
|
||||
USE ESC
|
||||
INPUT CODTAB F_ANNOCH
|
||||
DISPLAY "Anno" CODTAB
|
||||
DISPLAY "Inizio Es.@12" D0
|
||||
DISPLAY "Fine Es.@12" D1
|
||||
DISPLAY "Scarico@12" D2
|
||||
OUTPUT F_ANNOCH CODTAB
|
||||
OUTPUT F_DATAC D1
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Anno non presente in tabella esercizi"
|
||||
FLAGS "GRZD"
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 69 5 ""
|
||||
COPY USE F_ANNOCH
|
||||
INPUT CODTAB F_ANNO
|
||||
COPY DISPLAY F_ANNOCH
|
||||
OUTPUT F_ANNO CODTAB
|
||||
OUTPUT F_DATAAP D0
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Anno non presente in tabella esercizi"
|
||||
FLAGS "GRZD"
|
||||
END
|
||||
|
||||
|
||||
GROUPBOX DLG_NULL 60 10
|
||||
BEGIN
|
||||
PROMPT 2 7 "Codici sottoconto"
|
||||
END
|
||||
|
||||
NUMBER F_BILCHG 3
|
||||
BEGIN
|
||||
PROMPT 3 9 "Bilancio di chiusura "
|
||||
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
||||
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
|
||||
CHECKTYPE REQUIRED
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
OUTPUT F_BILCHG GRUPPO
|
||||
OUTPUT F_BILCHC CONTO
|
||||
OUTPUT F_BILCHS SOTTOCONTO
|
||||
INPUT GRUPPO F_BILCHG
|
||||
INPUT CONTO F_BILCHC
|
||||
INPUT SOTTOCONTO F_BILCHS
|
||||
END
|
||||
|
||||
NUMBER F_BILCHC 3
|
||||
BEGIN
|
||||
PROMPT 44 9 ""
|
||||
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
||||
COPY ALL F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_BILCHS 6
|
||||
BEGIN
|
||||
PROMPT 51 9 ""
|
||||
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
||||
COPY ALL F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
|
||||
END
|
||||
|
||||
NUMBER F_PROPERG 3
|
||||
BEGIN
|
||||
PROMPT 3 10 "Profitti e perdite "
|
||||
HELP "Codice conto di riepilogo del Profitti e perdite"
|
||||
COPY USE F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_PROPERG GRUPPO
|
||||
OUTPUT F_PROPERC CONTO
|
||||
OUTPUT F_PROPERS SOTTOCONTO
|
||||
INPUT GRUPPO F_PROPERG
|
||||
INPUT CONTO F_PROPERC
|
||||
INPUT SOTTOCONTO F_PROPERS
|
||||
END
|
||||
|
||||
NUMBER F_PROPERC 3
|
||||
BEGIN
|
||||
PROMPT 44 10 ""
|
||||
HELP "Codice conto di riepilogo del Profitti e perdite"
|
||||
COPY USE F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_PROPERG
|
||||
COPY INPUT F_PROPERG
|
||||
END
|
||||
|
||||
NUMBER F_PROPERS 6
|
||||
BEGIN
|
||||
PROMPT 51 10 ""
|
||||
HELP "Codice conto di riepilogo del Profitti e perdite"
|
||||
COPY ALL F_PROPERC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_BILAPG 3
|
||||
BEGIN
|
||||
PROMPT 3 11 "Bilancio di apertura "
|
||||
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
||||
COPY USE F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_BILAPG GRUPPO
|
||||
OUTPUT F_BILAPC CONTO
|
||||
OUTPUT F_BILAPS SOTTOCONTO
|
||||
INPUT GRUPPO F_BILAPG
|
||||
INPUT CONTO F_BILAPC
|
||||
INPUT SOTTOCONTO F_BILAPS
|
||||
END
|
||||
|
||||
NUMBER F_BILAPC 3
|
||||
BEGIN
|
||||
PROMPT 44 11 ""
|
||||
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
||||
COPY USE F_BILCHG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_BILAPG
|
||||
COPY INPUT F_BILAPG
|
||||
END
|
||||
|
||||
NUMBER F_BILAPS 6
|
||||
BEGIN
|
||||
PROMPT 51 11 ""
|
||||
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
||||
COPY ALL F_BILAPC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_UTILPG 3
|
||||
BEGIN
|
||||
PROMPT 3 12 "Utile d'esercizio c/to patrim. "
|
||||
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_UTILPG GRUPPO
|
||||
OUTPUT F_UTILPC CONTO
|
||||
OUTPUT F_UTILPS SOTTOCONTO
|
||||
INPUT GRUPPO F_UTILPG
|
||||
INPUT CONTO F_UTILPC
|
||||
INPUT SOTTOCONTO F_UTILPS
|
||||
END
|
||||
|
||||
NUMBER F_UTILPC 3
|
||||
BEGIN
|
||||
PROMPT 44 12 ""
|
||||
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
||||
COPY USE F_UTILPG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_UTILPG
|
||||
COPY INPUT F_UTILPG
|
||||
END
|
||||
|
||||
NUMBER F_UTILPS 6
|
||||
BEGIN
|
||||
PROMPT 51 12 ""
|
||||
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
||||
COPY ALL F_UTILPC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_PERDPG 3
|
||||
BEGIN
|
||||
PROMPT 3 13 "Perdita d'esercizio c/to patr. "
|
||||
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_PERDPG GRUPPO
|
||||
OUTPUT F_PERDPC CONTO
|
||||
OUTPUT F_PERDPS SOTTOCONTO
|
||||
INPUT GRUPPO F_PERDPG
|
||||
INPUT CONTO F_PERDPC
|
||||
INPUT SOTTOCONTO F_PERDPS
|
||||
END
|
||||
|
||||
NUMBER F_PERDPC 3
|
||||
BEGIN
|
||||
PROMPT 44 13 ""
|
||||
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
||||
COPY USE F_PERDPG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_PERDPG
|
||||
COPY INPUT F_PERDPG
|
||||
END
|
||||
|
||||
NUMBER F_PERDPS 6
|
||||
BEGIN
|
||||
PROMPT 51 13 ""
|
||||
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
||||
COPY ALL F_PERDPC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_UTILEG 3
|
||||
BEGIN
|
||||
PROMPT 3 14 "Utile d'esercizio c/to econom. "
|
||||
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_UTILEG GRUPPO
|
||||
OUTPUT F_UTILEC CONTO
|
||||
OUTPUT F_UTILES SOTTOCONTO
|
||||
INPUT GRUPPO F_UTILEG
|
||||
INPUT CONTO F_UTILEC
|
||||
INPUT SOTTOCONTO F_UTILES
|
||||
END
|
||||
|
||||
NUMBER F_UTILEC 3
|
||||
BEGIN
|
||||
PROMPT 44 14 ""
|
||||
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
||||
COPY USE F_UTILEG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_UTILEG
|
||||
COPY INPUT F_UTILEG
|
||||
END
|
||||
|
||||
NUMBER F_UTILES 6
|
||||
BEGIN
|
||||
PROMPT 51 14 ""
|
||||
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
||||
COPY ALL F_UTILEC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_PERDEG 3
|
||||
BEGIN
|
||||
PROMPT 3 15 "Perdita d'esercizio c/to econ. "
|
||||
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
OUTPUT F_PERDEG GRUPPO
|
||||
OUTPUT F_PERDEC CONTO
|
||||
OUTPUT F_PERDES SOTTOCONTO
|
||||
INPUT GRUPPO F_PERDEG
|
||||
INPUT CONTO F_PERDEC
|
||||
INPUT SOTTOCONTO F_PERDES
|
||||
|
||||
END
|
||||
|
||||
NUMBER F_PERDEC 3
|
||||
BEGIN
|
||||
PROMPT 44 15 ""
|
||||
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
||||
COPY USE F_PERDEG
|
||||
CHECKTYPE REQUIRED
|
||||
COPY DISPLAY F_BILCHG
|
||||
COPY OUTPUT F_PERDEG
|
||||
COPY INPUT F_PERDEG
|
||||
END
|
||||
|
||||
NUMBER F_PERDES 6
|
||||
BEGIN
|
||||
PROMPT 51 15 ""
|
||||
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
||||
COPY ALL F_PERDEC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
304
cg/cglib.h
304
cg/cglib.h
@ -1,152 +1,152 @@
|
||||
#ifndef __CGLIB_H
|
||||
#define __CGLIB_H
|
||||
|
||||
#ifndef __ISAM_H
|
||||
#include <isam.h>
|
||||
#endif
|
||||
|
||||
#include <assoc.h>
|
||||
#include "conto.h"
|
||||
#include "cg2103.h" // per TCausale
|
||||
|
||||
|
||||
class TCaus : public TCausale
|
||||
{
|
||||
private:
|
||||
TRectype _rec;
|
||||
|
||||
public:
|
||||
bool chiusura() const;
|
||||
bool apertura() const;
|
||||
virtual bool read(const char* cod);
|
||||
|
||||
TCaus(const char* cod);
|
||||
~TCaus() {}
|
||||
};
|
||||
|
||||
class TSaldi_list : public TAssoc_array
|
||||
{
|
||||
public:
|
||||
TSaldi_list (int g, int c, int aec, int aep=0);
|
||||
TRectype* saldi() const;
|
||||
};
|
||||
|
||||
enum tipobil { DataLimite=1, UltimaImmissione };
|
||||
const int EsePre(const int EseCorr);
|
||||
|
||||
class TSaldo
|
||||
{
|
||||
real _saldo, _saldo_iniziale, _saldoiniziale;
|
||||
real _prg_dare, _prg_avere, _prg_daresca, _prg_averesca;
|
||||
int _indbil;
|
||||
TRectype* _saldo_ep;
|
||||
int _annoes;
|
||||
TDate _inizioEs, _fineEs;
|
||||
TString16 _codcaus;
|
||||
TDate _datareg;
|
||||
TDate _datacomp;
|
||||
TString _provv;
|
||||
|
||||
bool _movimentato;
|
||||
bool _significativo;
|
||||
bool _rec_presente_ec;
|
||||
bool _rec_presente_ep;
|
||||
bool _prec;
|
||||
|
||||
protected:
|
||||
void InFinEs(int);
|
||||
void leggi_mov(long numreg); // Leggi testata
|
||||
real calcola_saldo_iniziale(int g, int c, long s, int indbil);
|
||||
|
||||
public:
|
||||
|
||||
bool movimentato() const { return _movimentato; }
|
||||
bool significativo() const { return _significativo; }
|
||||
bool esiste_saldo() const { return _rec_presente_ec || _rec_presente_ep;}
|
||||
bool esiste_saldo_ep() const { return _rec_presente_ep; }
|
||||
|
||||
int annoes () const { return _annoes; }
|
||||
void set_annoes (int anno) { _annoes = anno; }
|
||||
|
||||
bool causale_mov(long, const TDate&, const TDate&, TString&);
|
||||
const char* causale_chiusura_es();
|
||||
const char* causale_apertura_es();
|
||||
|
||||
bool ultima_immissione_bilancio(int anno,int g,int c,long s,int indbil,int prov);
|
||||
bool ultima_immissione_verifica(int anno,int g,int c,long s,int indbil,int prov);
|
||||
bool data_limite_bilancio(int,int,int,long,const TDate&,const TDate&,int,int);
|
||||
|
||||
TRectype& ricerca_progr_prec(int, int, int, long);
|
||||
|
||||
real saldofin_esprec(int,int,int,long);
|
||||
bool prg_attuali(int,TConto&,real&,real&);
|
||||
bool prg_mov_eliminati(int,TConto&,real&,real&);
|
||||
|
||||
const real& saldo() const { return _saldo;}
|
||||
const real& saldoini() const { return _saldo_iniziale;}
|
||||
const real& saldoinisusaldi() const { return _saldoiniziale;}
|
||||
const real& prgdare() const { return _prg_dare;}
|
||||
const real& prgavere() const { return _prg_avere;}
|
||||
const bool flagprec() { return _prec; }
|
||||
bool prg_attuali(int,TConto&,int,real&,real&);
|
||||
bool prg_mov_eliminati(int,TConto&,int,real&,real&);
|
||||
TSaldo();
|
||||
~TSaldo();
|
||||
};
|
||||
|
||||
|
||||
|
||||
class TTab_conti : public TAssoc_array
|
||||
{
|
||||
public:
|
||||
void aggiorna_conto(const TBill& tc, int anno_es, const TImporto& importo,
|
||||
bool movap, bool provv, bool somma);
|
||||
|
||||
TConto* add(const TBill& c, int anno);
|
||||
TConto* find(const TBill& c, int anno);
|
||||
void remove(const TBill& c, int anno);
|
||||
};
|
||||
|
||||
|
||||
class TSaldo_agg : public TObject
|
||||
{
|
||||
TTab_conti _tab_conti;
|
||||
bool _movap; // se e' mov. d'apertura (aggiorno SALDO e FLAGSALINI in
|
||||
// saldi)
|
||||
bool _provv;
|
||||
int _anno_es; // anno esercizio
|
||||
TDate _data_ulmov; // data ultimo movimento
|
||||
long _num_ulmov; // numero ultimo movimento
|
||||
TRectype * _rec; // record corrente sui saldi
|
||||
|
||||
public:
|
||||
void clear_saldi(int year);
|
||||
void registra();
|
||||
void aggiorna (const TBill& tc, const TImporto& importo, bool somma=TRUE);
|
||||
void aggiorna (int gruppo, int conto, long sottoconto,
|
||||
const real& importo, char sezione, bool somma=TRUE);
|
||||
|
||||
TConto* find(const TBill& c, int anno) { return _tab_conti.find(c, anno); }
|
||||
|
||||
void set_anno_es(int anno) { _anno_es = anno; }
|
||||
int anno_es() const { return _anno_es; }
|
||||
|
||||
void set_movap (bool movap) { _movap = movap; }
|
||||
bool movap() const { return _movap; }
|
||||
|
||||
void set_movprovv (bool p) { _provv = p; }
|
||||
bool movprovv() const { return _provv; }
|
||||
|
||||
void set_data_ulmov (const TDate& data) { _data_ulmov = data; }
|
||||
const TDate& data_ulmov() const { return _data_ulmov; }
|
||||
|
||||
void set_num_ulmov (long num) { _num_ulmov = num; }
|
||||
long num_ulmov() const { return _num_ulmov; }
|
||||
|
||||
void reset(); // pulisce l'array dei conti
|
||||
TSaldo_agg();
|
||||
int items() const { return _tab_conti.items();}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef __CGLIB_H
|
||||
#define __CGLIB_H
|
||||
|
||||
#ifndef __ISAM_H
|
||||
#include <isam.h>
|
||||
#endif
|
||||
|
||||
#include <assoc.h>
|
||||
#include "conto.h"
|
||||
#include "cg2103.h" // per TCausale
|
||||
|
||||
|
||||
class TCaus : public TCausale
|
||||
{
|
||||
private:
|
||||
TRectype _rec;
|
||||
|
||||
public:
|
||||
bool chiusura() const;
|
||||
bool apertura() const;
|
||||
virtual bool read(const char* cod);
|
||||
|
||||
TCaus(const char* cod);
|
||||
~TCaus() {}
|
||||
};
|
||||
|
||||
class TSaldi_list : public TAssoc_array
|
||||
{
|
||||
public:
|
||||
TSaldi_list (int g, int c, int aec, int aep=0);
|
||||
TRectype* saldi() const;
|
||||
};
|
||||
|
||||
enum tipobil { DataLimite=1, UltimaImmissione };
|
||||
const int EsePre(const int EseCorr);
|
||||
|
||||
class TSaldo
|
||||
{
|
||||
real _saldo, _saldo_iniziale, _saldoiniziale;
|
||||
real _prg_dare, _prg_avere, _prg_daresca, _prg_averesca;
|
||||
int _indbil;
|
||||
TRectype* _saldo_ep;
|
||||
int _annoes;
|
||||
TDate _inizioEs, _fineEs;
|
||||
TString16 _codcaus;
|
||||
TDate _datareg;
|
||||
TDate _datacomp;
|
||||
TString _provv;
|
||||
|
||||
bool _movimentato;
|
||||
bool _significativo;
|
||||
bool _rec_presente_ec;
|
||||
bool _rec_presente_ep;
|
||||
bool _prec;
|
||||
|
||||
protected:
|
||||
void InFinEs(int);
|
||||
void leggi_mov(long numreg); // Leggi testata
|
||||
real calcola_saldo_iniziale(int g, int c, long s, int indbil);
|
||||
|
||||
public:
|
||||
|
||||
bool movimentato() const { return _movimentato; }
|
||||
bool significativo() const { return _significativo; }
|
||||
bool esiste_saldo() const { return _rec_presente_ec || _rec_presente_ep;}
|
||||
bool esiste_saldo_ep() const { return _rec_presente_ep; }
|
||||
|
||||
int annoes () const { return _annoes; }
|
||||
void set_annoes (int anno) { _annoes = anno; }
|
||||
|
||||
bool causale_mov(long, const TDate&, const TDate&, TString&);
|
||||
const char* causale_chiusura_es();
|
||||
const char* causale_apertura_es();
|
||||
|
||||
bool ultima_immissione_bilancio(int anno,int g,int c,long s,int indbil,int prov);
|
||||
bool ultima_immissione_verifica(int anno,int g,int c,long s,int indbil,int prov);
|
||||
bool data_limite_bilancio(int,int,int,long,const TDate&,const TDate&,int,int);
|
||||
|
||||
TRectype& ricerca_progr_prec(int, int, int, long);
|
||||
|
||||
real saldofin_esprec(int,int,int,long);
|
||||
bool prg_attuali(int,TConto&,real&,real&);
|
||||
bool prg_mov_eliminati(int,TConto&,real&,real&);
|
||||
|
||||
const real& saldo() const { return _saldo;}
|
||||
const real& saldoini() const { return _saldo_iniziale;}
|
||||
const real& saldoinisusaldi() const { return _saldoiniziale;}
|
||||
const real& prgdare() const { return _prg_dare;}
|
||||
const real& prgavere() const { return _prg_avere;}
|
||||
const bool flagprec() { return _prec; }
|
||||
bool prg_attuali(int,TConto&,int,real&,real&);
|
||||
bool prg_mov_eliminati(int,TConto&,int,real&,real&);
|
||||
TSaldo();
|
||||
~TSaldo();
|
||||
};
|
||||
|
||||
|
||||
|
||||
class TTab_conti : public TAssoc_array
|
||||
{
|
||||
public:
|
||||
void aggiorna_conto(const TBill& tc, int anno_es, const TImporto& importo,
|
||||
bool movap, bool provv, bool somma);
|
||||
|
||||
TConto* add(const TBill& c, int anno);
|
||||
TConto* find(const TBill& c, int anno);
|
||||
void remove(const TBill& c, int anno);
|
||||
};
|
||||
|
||||
|
||||
class TSaldo_agg : public TObject
|
||||
{
|
||||
TTab_conti _tab_conti;
|
||||
bool _movap; // se e' mov. d'apertura (aggiorno SALDO e FLAGSALINI in
|
||||
// saldi)
|
||||
bool _provv;
|
||||
int _anno_es; // anno esercizio
|
||||
TDate _data_ulmov; // data ultimo movimento
|
||||
long _num_ulmov; // numero ultimo movimento
|
||||
TRectype * _rec; // record corrente sui saldi
|
||||
|
||||
public:
|
||||
void clear_saldi(int year);
|
||||
void registra();
|
||||
void aggiorna (const TBill& tc, const TImporto& importo, bool somma=TRUE);
|
||||
void aggiorna (int gruppo, int conto, long sottoconto,
|
||||
const real& importo, char sezione, bool somma=TRUE);
|
||||
|
||||
TConto* find(const TBill& c, int anno) { return _tab_conti.find(c, anno); }
|
||||
|
||||
void set_anno_es(int anno) { _anno_es = anno; }
|
||||
int anno_es() const { return _anno_es; }
|
||||
|
||||
void set_movap (bool movap) { _movap = movap; }
|
||||
bool movap() const { return _movap; }
|
||||
|
||||
void set_movprovv (bool p) { _provv = p; }
|
||||
bool movprovv() const { return _provv; }
|
||||
|
||||
void set_data_ulmov (const TDate& data) { _data_ulmov = data; }
|
||||
const TDate& data_ulmov() const { return _data_ulmov; }
|
||||
|
||||
void set_num_ulmov (long num) { _num_ulmov = num; }
|
||||
long num_ulmov() const { return _num_ulmov; }
|
||||
|
||||
void reset(); // pulisce l'array dei conti
|
||||
TSaldo_agg();
|
||||
int items() const { return _tab_conti.items();}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
1346
cg/cglib01.cpp
1346
cg/cglib01.cpp
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user