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' *
|
//* Aggiornamento Tipo Attivita' *
|
||||||
//********************************
|
//********************************
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <mask.h>
|
#include <mask.h>
|
||||||
#include <relation.h>
|
#include <relation.h>
|
||||||
#include <tabutil.h>
|
#include <tabutil.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
#include <prefix.h>
|
#include <prefix.h>
|
||||||
#include <mov.h>
|
#include <mov.h>
|
||||||
#include <rmoviva.h>
|
#include <rmoviva.h>
|
||||||
#include "conto.h"
|
#include "conto.h"
|
||||||
#include "cg2103.h"
|
#include "cg2103.h"
|
||||||
#include "cg1301.h"
|
#include "cg1301.h"
|
||||||
#include "cg1302.h"
|
#include "cg1302.h"
|
||||||
#include "cg1303.h"
|
#include "cg1303.h"
|
||||||
#include "cg1304.h"
|
#include "cg1304.h"
|
||||||
#include "cg1.h"
|
#include "cg1.h"
|
||||||
|
|
||||||
class TAgg_attiv : public TApplication
|
class TAgg_attiv : public TApplication
|
||||||
{
|
{
|
||||||
TLocalisamfile* _pcon,* _attiv;
|
TLocalisamfile* _pcon,* _attiv;
|
||||||
TTable* _reg;
|
TTable* _reg;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool create();
|
virtual bool create();
|
||||||
virtual bool destroy();
|
virtual bool destroy();
|
||||||
virtual bool menu(MENU_TAG m);
|
virtual bool menu(MENU_TAG m);
|
||||||
|
|
||||||
void elabora_mov();
|
void elabora_mov();
|
||||||
|
|
||||||
TAgg_attiv() {};
|
TAgg_attiv() {};
|
||||||
virtual ~TAgg_attiv() {};
|
virtual ~TAgg_attiv() {};
|
||||||
};
|
};
|
||||||
|
|
||||||
HIDDEN TAgg_attiv& app() { return (TAgg_attiv&)main_app(); }
|
HIDDEN TAgg_attiv& app() { return (TAgg_attiv&)main_app(); }
|
||||||
|
|
||||||
bool TAgg_attiv::create()
|
bool TAgg_attiv::create()
|
||||||
{
|
{
|
||||||
TApplication::create();
|
TApplication::create();
|
||||||
|
|
||||||
_pcon = new TLocalisamfile(LF_PCON);
|
_pcon = new TLocalisamfile(LF_PCON);
|
||||||
_attiv = new TLocalisamfile(LF_ATTIV);
|
_attiv = new TLocalisamfile(LF_ATTIV);
|
||||||
_reg = new TTable("REG");
|
_reg = new TTable("REG");
|
||||||
|
|
||||||
dispatch_e_menu (BAR_ITEM(1));
|
dispatch_e_menu (BAR_ITEM(1));
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TAgg_attiv::destroy()
|
bool TAgg_attiv::destroy()
|
||||||
{
|
{
|
||||||
delete _pcon;
|
delete _pcon;
|
||||||
delete _attiv;
|
delete _attiv;
|
||||||
delete _reg;
|
delete _reg;
|
||||||
|
|
||||||
return TApplication::destroy();
|
return TApplication::destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TAgg_attiv::menu(MENU_TAG m)
|
bool TAgg_attiv::menu(MENU_TAG m)
|
||||||
{
|
{
|
||||||
TMask msk("cg1300a");
|
TMask msk("cg1300a");
|
||||||
|
|
||||||
while (msk.run() == K_ENTER)
|
while (msk.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
elabora_mov();
|
elabora_mov();
|
||||||
message_box("Aggiornamento completato");
|
message_box("Aggiornamento completato");
|
||||||
//return TRUE;
|
//return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TAgg_attiv::elabora_mov()
|
void TAgg_attiv::elabora_mov()
|
||||||
{
|
{
|
||||||
TRelation rel (LF_MOV);
|
TRelation rel (LF_MOV);
|
||||||
rel.add(LF_RMOVIVA, "NUMREG=NUMREG",1);
|
rel.add(LF_RMOVIVA, "NUMREG=NUMREG",1);
|
||||||
TCursor cursor(&rel,"",1);
|
TCursor cursor(&rel,"",1);
|
||||||
|
|
||||||
TLocalisamfile& mov = rel.lfile();
|
TLocalisamfile& mov = rel.lfile();
|
||||||
TLocalisamfile& rmoviva = rel.lfile(LF_RMOVIVA);
|
TLocalisamfile& rmoviva = rel.lfile(LF_RMOVIVA);
|
||||||
|
|
||||||
long ditta = get_firm();
|
long ditta = get_firm();
|
||||||
cursor = 0L;
|
cursor = 0L;
|
||||||
const long nitems = cursor.items();
|
const long nitems = cursor.items();
|
||||||
|
|
||||||
TProgind p(nitems ? nitems : 1, "Aggiornamento in corso..." , TRUE, TRUE, 70);
|
TProgind p(nitems ? nitems : 1, "Aggiornamento in corso..." , TRUE, TRUE, 70);
|
||||||
|
|
||||||
for (; cursor.pos() < cursor.items(); ++cursor)
|
for (; cursor.pos() < cursor.items(); ++cursor)
|
||||||
{
|
{
|
||||||
p.addstatus(1);
|
p.addstatus(1);
|
||||||
const TString16 reg(mov.get(MOV_REG));
|
const TString16 reg(mov.get(MOV_REG));
|
||||||
if (reg.empty()) continue;
|
if (reg.empty()) continue;
|
||||||
|
|
||||||
const int annoiva = mov.get_int(MOV_ANNOIVA);
|
const int annoiva = mov.get_int(MOV_ANNOIVA);
|
||||||
TRegistro registro(reg, annoiva);
|
TRegistro registro(reg, annoiva);
|
||||||
const bool att_mista = registro.attivita_mista();
|
const bool att_mista = registro.attivita_mista();
|
||||||
|
|
||||||
if (att_mista)
|
if (att_mista)
|
||||||
{
|
{
|
||||||
bool ok = rel.is_first_match(LF_RMOVIVA);
|
bool ok = rel.is_first_match(LF_RMOVIVA);
|
||||||
while (ok)
|
while (ok)
|
||||||
{
|
{
|
||||||
const char tipo = rmoviva.get_char("TIPOC");
|
const char tipo = rmoviva.get_char("TIPOC");
|
||||||
if (tipo <= ' ')
|
if (tipo <= ' ')
|
||||||
{
|
{
|
||||||
TBill c(rmoviva.get_int("GRUPPO"), rmoviva.get_int("CONTO"), rmoviva.get_long("SOTTOCONTO"));
|
TBill c(rmoviva.get_int("GRUPPO"), rmoviva.get_int("CONTO"), rmoviva.get_long("SOTTOCONTO"));
|
||||||
int tipoatt = c.tipo_att();
|
int tipoatt = c.tipo_att();
|
||||||
rmoviva.put("TIPOATT", tipoatt);
|
rmoviva.put("TIPOATT", tipoatt);
|
||||||
rmoviva.rewrite();
|
rmoviva.rewrite();
|
||||||
}
|
}
|
||||||
ok = rel.next_match(LF_RMOVIVA);
|
ok = rel.next_match(LF_RMOVIVA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int cg1300(int argc, char* argv[])
|
int cg1300(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
switch (*argv[2])
|
switch (*argv[2])
|
||||||
{
|
{
|
||||||
case 'A':
|
case 'A':
|
||||||
{
|
{
|
||||||
TAgg_attiv a;
|
TAgg_attiv a;
|
||||||
a.run(argc, argv, "Aggiornamento tipo attivita' su movimenti iva");
|
a.run(argc, argv, "Aggiornamento tipo attivita' su movimenti iva");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'I':
|
case 'I':
|
||||||
{
|
{
|
||||||
TAgg_opintra a;
|
TAgg_opintra a;
|
||||||
a.run(argc, argv, "Aggiornamento flag op. intracomunitarie");
|
a.run(argc, argv, "Aggiornamento flag op. intracomunitarie");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'T':
|
case 'T':
|
||||||
{
|
{
|
||||||
TAgg_tconto a;
|
TAgg_tconto a;
|
||||||
a.run(argc, argv, "Aggiornamento tipo conto");
|
a.run(argc, argv, "Aggiornamento tipo conto");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'P':
|
case 'P':
|
||||||
{
|
{
|
||||||
TAgg_nprot a;
|
TAgg_nprot a;
|
||||||
a.run(argc, argv,"Rinumerazione numero di protocollo");
|
a.run(argc, argv,"Rinumerazione numero di protocollo");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'C':
|
case 'C':
|
||||||
{
|
{
|
||||||
TAgg_codatt a;
|
TAgg_codatt a;
|
||||||
a.run(argc, argv,"Aggiornamento codice attivita'");
|
a.run(argc, argv,"Aggiornamento codice attivita'");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
60
cg/cg1300.h
60
cg/cg1300.h
@ -1,30 +1,30 @@
|
|||||||
#ifndef __CG1300_H
|
#ifndef __CG1300_H
|
||||||
#define __CG1300_H
|
#define __CG1300_H
|
||||||
|
|
||||||
#define F_CODDITTA 101
|
#define F_CODDITTA 101
|
||||||
#define F_RAGSOC 102
|
#define F_RAGSOC 102
|
||||||
#define F_ANNO 103
|
#define F_ANNO 103
|
||||||
#define F_REG 104
|
#define F_REG 104
|
||||||
#define F_PROT 105
|
#define F_PROT 105
|
||||||
#define F_PASS 106
|
#define F_PASS 106
|
||||||
#define F_DA 107
|
#define F_DA 107
|
||||||
#define F_A 108
|
#define F_A 108
|
||||||
#define F_DENATTV 109
|
#define F_DENATTV 109
|
||||||
#define F_DENATTN 110
|
#define F_DENATTN 110
|
||||||
#endif // __CG1300_H
|
#endif // __CG1300_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -126,10 +126,11 @@ void TAgg_codatt::cancella_rec()
|
|||||||
TTable pla("PLA");
|
TTable pla("PLA");
|
||||||
for (pla.first(); !pla.eof(); pla.next())
|
for (pla.first(); !pla.eof(); pla.next())
|
||||||
pla.remove();
|
pla.remove();
|
||||||
|
/***
|
||||||
TTable rmb("RMB");
|
TTable rmb("RMB");
|
||||||
for (rmb.first(); !rmb.eof(); rmb.next())
|
for (rmb.first(); !rmb.eof(); rmb.next())
|
||||||
rmb.remove();
|
rmb.remove();
|
||||||
|
***/
|
||||||
}
|
}
|
||||||
|
|
||||||
void TAgg_codatt::aggiorna_att(const char* nome)
|
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
|
// Calcolo liquidazione
|
||||||
// part 4: casi particolari
|
// part 4: casi particolari
|
||||||
@ -536,3 +1057,4 @@ _DescrItem* TLiquidazione_app::recalc_rimborso(int month, const char* codatts,
|
|||||||
}
|
}
|
||||||
return d;
|
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
|
// cg4400.h
|
||||||
//
|
//
|
||||||
#include <isam.h>
|
#include <isam.h>
|
||||||
#include <printapp.h>
|
#include <printapp.h>
|
||||||
#include <mask.h>
|
#include <mask.h>
|
||||||
#include <tabutil.h>
|
#include <tabutil.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
#include <text.h>
|
#include <text.h>
|
||||||
#include <mailbox.h>
|
#include <mailbox.h>
|
||||||
#include <execp.h>
|
#include <execp.h>
|
||||||
#include <sheet.h>
|
#include <sheet.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <prefix.h>
|
#include <prefix.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <nditte.h>
|
#include <nditte.h>
|
||||||
#include <anagr.h>
|
#include <anagr.h>
|
||||||
#include <comuni.h>
|
#include <comuni.h>
|
||||||
#include <unloc.h>
|
#include <unloc.h>
|
||||||
#include <mov.h>
|
#include <mov.h>
|
||||||
#include <rmoviva.h>
|
#include <rmoviva.h>
|
||||||
#include <clifo.h>
|
#include <clifo.h>
|
||||||
#include <occas.h>
|
#include <occas.h>
|
||||||
#include <causali.h>
|
#include <causali.h>
|
||||||
#include "cglib03.h"
|
#include "cglib03.h"
|
||||||
#include "cglib04.h"
|
#include "cglib04.h"
|
||||||
#include "conto.h"
|
#include "conto.h"
|
||||||
|
|
||||||
enum messaggio {
|
enum messaggio {
|
||||||
no_liquidazione,
|
no_liquidazione,
|
||||||
B0_settato,
|
B0_settato,
|
||||||
non_proseguire,
|
non_proseguire,
|
||||||
prosegui_stampa,
|
prosegui_stampa,
|
||||||
prosegui_cal_stampa
|
prosegui_cal_stampa
|
||||||
};
|
};
|
||||||
|
|
||||||
class CG4400_application : public TPrintapp
|
class CG4400_application : public TPrintapp
|
||||||
{
|
{
|
||||||
TCursor * _cur;
|
TCursor * _cur;
|
||||||
TRelation *_rel, *_nditte;
|
TRelation *_rel, *_nditte;
|
||||||
TLocalisamfile *_clifo, *_occas, *_tab, *_tabcom, *_com, *_anag, *_unloc, *_attiv, *_indlib;
|
TLocalisamfile *_clifo, *_occas, *_tab, *_tabcom, *_com, *_anag, *_unloc, *_attiv, *_indlib;
|
||||||
TTable *_tabreg, *_tablbu, *_tablim, *_tabpim, *_tablia, *_tabiva;
|
TTable *_tabreg, *_tablbu, *_tablim, *_tabpim, *_tablia, *_tabiva;
|
||||||
TTable *_tabpla, *_tabppa, *_tabvid;
|
TTable *_tabpla, *_tabppa, *_tabvid;
|
||||||
TRigaiva_array _iva_array, _riga_rmi;
|
TRigaiva_array _iva_array, _riga_rmi;
|
||||||
TTipodoc_array _doc_array;
|
TTipodoc_array _doc_array;
|
||||||
TRiga_array _tot_iva_array;
|
TRiga_array _tot_iva_array;
|
||||||
TBit_array _selected;
|
TBit_array _selected;
|
||||||
TArray_sheet *_ditte;
|
TArray_sheet *_ditte;
|
||||||
TArray _nomiditte;
|
TArray _nomiditte;
|
||||||
bool _st_liq[13];
|
bool _st_liq[13];
|
||||||
bool _test;
|
bool _test;
|
||||||
TRecnotype _nrec;
|
TRecnotype _nrec;
|
||||||
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf, _stampa;
|
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 _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 _rif_vid, _intesta_vidi, _intesta_liq, _stampa_data_reg, _ok_vidi;
|
||||||
bool _sosp_imposta;
|
bool _sosp_imposta;
|
||||||
char _frequiva, _tipo_riepilogativo;
|
char _frequiva, _tipo_riepilogativo;
|
||||||
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
|
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
|
||||||
TDate _u_data;
|
TDate _u_data;
|
||||||
long _n_ditte, _u_stampata, _primast, __firm, _uprotivap, _ditta;
|
long _n_ditte, _u_stampata, _primast, __firm, _uprotivap, _ditta;
|
||||||
long _numini, _pagine_stampate;
|
long _numini, _pagine_stampate;
|
||||||
int _fino_a_mese, _tipo_reg, _tipo_stampa, _cod_un_loc;
|
int _fino_a_mese, _tipo_reg, _tipo_stampa, _cod_un_loc;
|
||||||
int _annoes, _r, _stampa_width, _mese_ultima_liq, _mese_credito;
|
int _annoes, _r, _stampa_width, _mese_ultima_liq, _mese_credito;
|
||||||
int _stampa_len, _stampa_mese, _size_header;
|
int _stampa_len, _stampa_mese, _size_header;
|
||||||
real _totale_doc, _credito;
|
real _totale_doc, _credito;
|
||||||
TString _codreg, _desc_lib, _codatt, _attivita, _tipoatt;
|
TString _codreg, _desc_lib, _codatt, _attivita, _tipoatt;
|
||||||
TString _tipodoc, _descr_doc, _codlib, _codice_vidi;
|
TString _tipodoc, _descr_doc, _codlib, _codice_vidi;
|
||||||
TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis;
|
TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis;
|
||||||
TFilename _t, _pippo;
|
TFilename _t, _pippo;
|
||||||
|
|
||||||
TParagraph_string* _desc27;
|
TParagraph_string* _desc27;
|
||||||
messaggio _scelta;
|
messaggio _scelta;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
static bool filter_func (const TRelation * r);
|
static bool filter_func (const TRelation * r);
|
||||||
static bool mask_tipo_stampa (TMask_field&, KEY);
|
static bool mask_tipo_stampa (TMask_field&, KEY);
|
||||||
static bool to_ditt_handler (TMask_field&, KEY);
|
static bool to_ditt_handler (TMask_field&, KEY);
|
||||||
static bool fr_ditt_handler (TMask_field&, KEY);
|
static bool fr_ditt_handler (TMask_field&, KEY);
|
||||||
static bool to_butt_handler (TMask_field&, KEY);
|
static bool to_butt_handler (TMask_field&, KEY);
|
||||||
static bool fr_butt_handler (TMask_field&, KEY);
|
static bool fr_butt_handler (TMask_field&, KEY);
|
||||||
static bool mask_cod (TMask_field&, KEY);
|
static bool mask_cod (TMask_field&, KEY);
|
||||||
static bool mask_libun (TMask_field&, KEY);
|
static bool mask_libun (TMask_field&, KEY);
|
||||||
static bool mask_data (TMask_field&, KEY);
|
static bool mask_data (TMask_field&, KEY);
|
||||||
static bool mask_mese (TMask_field&, KEY);
|
static bool mask_mese (TMask_field&, KEY);
|
||||||
static bool mask_fino_a_mese (TMask_field&, KEY);
|
static bool mask_fino_a_mese (TMask_field&, KEY);
|
||||||
static bool mask_select (TMask_field&, KEY);
|
static bool mask_select (TMask_field&, KEY);
|
||||||
static bool mask_azzera (TMask_field&, KEY);
|
static bool mask_azzera (TMask_field&, KEY);
|
||||||
static bool year_handler (TMask_field&, KEY);
|
static bool year_handler (TMask_field&, KEY);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
const char* desc_attivita ();
|
const char* desc_attivita ();
|
||||||
const char* tipo_attivita ();
|
const char* tipo_attivita ();
|
||||||
const char* descr_doc ();
|
const char* descr_doc ();
|
||||||
const char* descr_iva (const char *);
|
const char* descr_iva (const char *);
|
||||||
TRectype& ricerca_occ(const char*);
|
TRectype& ricerca_occ(const char*);
|
||||||
TRectype& ricerca_cf (char, long);
|
TRectype& ricerca_cf (char, long);
|
||||||
TRectype& look_comuni(const char*);
|
TRectype& look_comuni(const char*);
|
||||||
TArray_sheet* get_ditte_sheet() { return _ditte; }
|
TArray_sheet* get_ditte_sheet() { return _ditte; }
|
||||||
int setta_riga (int, const TRigaiva&, real&, real&, real&, real&);
|
int setta_riga (int, const TRigaiva&, real&, real&, real&, real&);
|
||||||
int riga_rmoviva();
|
int riga_rmoviva();
|
||||||
bool set_print(int);
|
bool set_print(int);
|
||||||
bool set_ditte(TMask&);
|
bool set_ditte(TMask&);
|
||||||
bool compila_reg(const TMask&);
|
bool compila_reg(const TMask&);
|
||||||
bool compila_lib();
|
bool compila_lib();
|
||||||
messaggio controlla_liquidazione();
|
messaggio controlla_liquidazione();
|
||||||
messaggio controlla_b0();
|
messaggio controlla_b0();
|
||||||
bool controlla_mov();
|
bool controlla_mov();
|
||||||
bool stampo_liquidazione(int);
|
bool stampo_liquidazione(int);
|
||||||
bool ventilazione(const char*);
|
bool ventilazione(const char*);
|
||||||
bool cerca_libro_gio(TString&, bool*);
|
bool cerca_libro_gio(TString&, bool*);
|
||||||
bool look_reg (int, int, TString&, int, const char*, int*, long);
|
bool look_reg (int, int, TString&, int, const char*, int*, long);
|
||||||
bool look_regs(int, TString&, int, int*, long, bool*);
|
bool look_regs(int, TString&, int, int*, long, TProgind*);
|
||||||
bool stampa_totali_finali();
|
bool stampa_totali_finali();
|
||||||
bool stampa_datareg();
|
bool stampa_datareg();
|
||||||
bool stampa_registri_IVA(const TMask&);
|
bool stampa_registri_IVA(const TMask&);
|
||||||
bool look_lia(long ditta = 0l);
|
bool look_lia(long ditta = 0l);
|
||||||
bool ricerca_mese(TString&,TString&,int,int,TMask_field&);
|
bool ricerca_mese(TString&,TString&,int,int,TMask_field&);
|
||||||
void set_choice_limits(TMask&);
|
void set_choice_limits(TMask&);
|
||||||
void build_ditte_sheet();
|
void build_ditte_sheet();
|
||||||
void cerca_reg(const TString&, byte*);
|
void cerca_reg(const TString&, byte*);
|
||||||
void set_page_tot_reg();
|
void set_page_tot_reg();
|
||||||
void send_message(char, const TFilename&,int);
|
void send_message(char, const TFilename&,int);
|
||||||
void aggiorna_reg(const bool aggiorna_vidi);
|
void aggiorna_reg(const bool aggiorna_vidi);
|
||||||
void aggiorna_lib();
|
void aggiorna_lib();
|
||||||
void calcola_progressivi();
|
void calcola_progressivi();
|
||||||
void stampa_liq_mesi_succ();
|
void stampa_liq_mesi_succ();
|
||||||
void look_reg();
|
void look_reg();
|
||||||
void no_movimenti();
|
void no_movimenti();
|
||||||
void liq_b0_settato();
|
void liq_b0_settato();
|
||||||
void liq_other_case();
|
void liq_other_case();
|
||||||
bool setta_mask(long);
|
bool setta_mask(long);
|
||||||
bool preprocess_page(int, int);
|
bool preprocess_page(int, int);
|
||||||
int stampa_intestazione();
|
int stampa_intestazione();
|
||||||
int stampa_prospetto();
|
int stampa_prospetto();
|
||||||
long select_firm_range(long,long);
|
long select_firm_range(long,long);
|
||||||
void stampa_plafonds(int);
|
void stampa_plafonds(int);
|
||||||
void get_dati_ditta();
|
void get_dati_ditta();
|
||||||
void stampa_vidi();
|
void stampa_vidi();
|
||||||
void scrivi_reg();
|
void scrivi_reg();
|
||||||
int stampa_acquisti(int);
|
int stampa_acquisti(int);
|
||||||
real stampa_valori_plafonds(const real&, const int, TTable&, const char*);
|
real stampa_valori_plafonds(const real&, const int, TTable&, const char*);
|
||||||
void build_nomiditte(TProgind* pnd = NULL);
|
void build_nomiditte(TProgind* pnd = NULL);
|
||||||
void set_year(int y) { _annoes = y; }
|
void set_year(int y) { _annoes = y; }
|
||||||
void clear_stliq();
|
void clear_stliq();
|
||||||
virtual bool preprocess_print(int, int);
|
virtual bool preprocess_print(int, int);
|
||||||
virtual bool user_create();
|
virtual bool user_create();
|
||||||
virtual bool user_destroy();
|
virtual bool user_destroy();
|
||||||
virtual print_action postprocess_page (int, int);
|
virtual print_action postprocess_page (int, int);
|
||||||
virtual void preprocess_header();
|
virtual void preprocess_header();
|
||||||
|
|
||||||
CG4400_application() : TPrintapp(), _ditte(NULL), _selected(10000), _nomiditte(100), _test(FALSE) {}
|
CG4400_application() : TPrintapp(), _ditte(NULL), _selected(10000), _nomiditte(100), _test(FALSE) {}
|
||||||
virtual ~CG4400_application() {}
|
virtual ~CG4400_application() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
116
cg/cg4400b.uml
116
cg/cg4400b.uml
@ -1,59 +1,59 @@
|
|||||||
#include "cg4400b.h"
|
#include "cg4400b.h"
|
||||||
|
|
||||||
PAGE "Stampa registri IVA" -1 -1 78 14
|
PAGE "Stampa registri IVA" -1 -1 78 12
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
GROUPBOX DLG_NULL 78 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 0 ""
|
PROMPT 1 0 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_CODDITTA 5
|
NUMBER F_CODDITTA 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 1 "Ditta "
|
PROMPT 3 1 "Ditta "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_RAGSOC 50
|
STRING F_RAGSOC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 17 1 "Ragione "
|
PROMPT 17 1 "Ragione "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING COD_LIB 3
|
STRING COD_LIB 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 4 "Codice Libro "
|
PROMPT 3 4 "Codice Libro "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
LISTBOX U_MESE 10
|
LISTBOX U_MESE 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 5 "Stampa mese "
|
PROMPT 3 5 "Stampa mese "
|
||||||
FLAGS "MD"
|
FLAGS "MD"
|
||||||
ITEM "00|Nessuno"
|
ITEM "00|Nessuno"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER U_PAGINA 4
|
NUMBER U_PAGINA 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 6 "Ult.num.pagina stampata libro ditta "
|
PROMPT 3 6 "Ult.num.pagina stampata libro ditta "
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE U_DATA
|
DATE U_DATA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 7 "Ultima data di stampa "
|
PROMPT 3 7 "Ultima data di stampa "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_OK 9 2
|
BUTTON DLG_OK 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -12 -1 ""
|
PROMPT -12 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_CANCEL 9 2
|
BUTTON DLG_CANCEL 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -22 -1 ""
|
PROMPT -22 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
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"
|
#include "cg4600.h"
|
||||||
|
|
||||||
PAGE "" -1 -1 76 20
|
PAGE "" -1 -1 76 20
|
||||||
|
|
||||||
NUMBER F_CODDITTA 5
|
NUMBER F_CODDITTA 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Ditta "
|
PROMPT 2 1 "Ditta "
|
||||||
FLAGS "FRD"
|
FLAGS "FRD"
|
||||||
USE LF_NDITTE KEY 1
|
USE LF_NDITTE KEY 1
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
INPUT CODDITTA F_CODDITTA
|
INPUT CODDITTA F_CODDITTA
|
||||||
DISPLAY "Codice" CODDITTA
|
DISPLAY "Codice" CODDITTA
|
||||||
DISPLAY "Ragione sociale @50" RAGSOC
|
DISPLAY "Ragione sociale @50" RAGSOC
|
||||||
OUTPUT F_CODDITTA CODDITTA
|
OUTPUT F_CODDITTA CODDITTA
|
||||||
OUTPUT F_RAGSOC RAGSOC
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
STRING F_RAGSOC 50
|
STRING F_RAGSOC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 "Ragione sociale "
|
PROMPT 2 2 "Ragione sociale "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CHIUSURA 3
|
STRING F_CHIUSURA 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 4 "Codice causale chiusura "
|
PROMPT 2 4 "Codice causale chiusura "
|
||||||
HELP "Codice causale che genera il movimento di chiusura"
|
HELP "Codice causale che genera il movimento di chiusura"
|
||||||
USE LF_CAUSALI KEY 1 SELECT MOVAP="C"
|
USE LF_CAUSALI KEY 1 SELECT MOVAP="C"
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
DISPLAY "Codice" CODCAUS
|
DISPLAY "Codice" CODCAUS
|
||||||
DISPLAY "Descrizione @50" DESCR
|
DISPLAY "Descrizione @50" DESCR
|
||||||
OUTPUT F_CHIUSURA CODCAUS
|
OUTPUT F_CHIUSURA CODCAUS
|
||||||
INPUT CODCAUS F_CHIUSURA
|
INPUT CODCAUS F_CHIUSURA
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_APERTURA 3
|
STRING F_APERTURA 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 5 "Codice causale apertura "
|
PROMPT 2 5 "Codice causale apertura "
|
||||||
HELP "Codice causale che genera il movimento di apertura"
|
HELP "Codice causale che genera il movimento di apertura"
|
||||||
USE LF_CAUSALI KEY 1 SELECT MOVAP="A"
|
USE LF_CAUSALI KEY 1 SELECT MOVAP="A"
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
COPY DISPLAY F_CHIUSURA
|
COPY DISPLAY F_CHIUSURA
|
||||||
OUTPUT F_APERTURA CODCAUS
|
OUTPUT F_APERTURA CODCAUS
|
||||||
INPUT CODCAUS F_APERTURA
|
INPUT CODCAUS F_APERTURA
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATAC
|
DATE F_DATAC
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 36 4 "Data/Anno chiusura "
|
PROMPT 36 4 "Data/Anno chiusura "
|
||||||
HELP "Data in cui effettuare il movimento di chiusura"
|
HELP "Data in cui effettuare il movimento di chiusura"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATAAP
|
DATE F_DATAAP
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 36 5 "Data/Anno apertura "
|
PROMPT 36 5 "Data/Anno apertura "
|
||||||
HELP "Data in cui effettuare il movimento di apertura"
|
HELP "Data in cui effettuare il movimento di apertura"
|
||||||
WARNING "Inserire una data non inferiore alla data di chiusura"
|
WARNING "Inserire una data non inferiore alla data di chiusura"
|
||||||
VALIDATE DATE_CMP_FUNC >= F_DATAC
|
VALIDATE DATE_CMP_FUNC >= F_DATAC
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_ANNOCH 4
|
NUMBER F_ANNOCH 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 69 4 ""
|
PROMPT 69 4 ""
|
||||||
USE ESC
|
USE ESC
|
||||||
INPUT CODTAB F_ANNOCH
|
INPUT CODTAB F_ANNOCH
|
||||||
DISPLAY "Anno" CODTAB
|
DISPLAY "Anno" CODTAB
|
||||||
DISPLAY "Inizio Es.@12" D0
|
DISPLAY "Inizio Es.@12" D0
|
||||||
DISPLAY "Fine Es.@12" D1
|
DISPLAY "Fine Es.@12" D1
|
||||||
DISPLAY "Scarico@12" D2
|
DISPLAY "Scarico@12" D2
|
||||||
OUTPUT F_ANNOCH CODTAB
|
OUTPUT F_ANNOCH CODTAB
|
||||||
OUTPUT F_DATAC D1
|
OUTPUT F_DATAC D1
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
WARNING "Anno non presente in tabella esercizi"
|
WARNING "Anno non presente in tabella esercizi"
|
||||||
FLAGS "GRZD"
|
FLAGS "GRZD"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_ANNO 4
|
NUMBER F_ANNO 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 69 5 ""
|
PROMPT 69 5 ""
|
||||||
COPY USE F_ANNOCH
|
COPY USE F_ANNOCH
|
||||||
INPUT CODTAB F_ANNO
|
INPUT CODTAB F_ANNO
|
||||||
COPY DISPLAY F_ANNOCH
|
COPY DISPLAY F_ANNOCH
|
||||||
OUTPUT F_ANNO CODTAB
|
OUTPUT F_ANNO CODTAB
|
||||||
OUTPUT F_DATAAP D0
|
OUTPUT F_DATAAP D0
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
WARNING "Anno non presente in tabella esercizi"
|
WARNING "Anno non presente in tabella esercizi"
|
||||||
FLAGS "GRZD"
|
FLAGS "GRZD"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 60 10
|
GROUPBOX DLG_NULL 60 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "Codici sottoconto"
|
PROMPT 2 7 "Codici sottoconto"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_BILCHG 3
|
NUMBER F_BILCHG 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 9 "Bilancio di chiusura "
|
PROMPT 3 9 "Bilancio di chiusura "
|
||||||
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
||||||
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
|
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
DISPLAY "Descrizione @50" DESCR
|
DISPLAY "Descrizione @50" DESCR
|
||||||
OUTPUT F_BILCHG GRUPPO
|
OUTPUT F_BILCHG GRUPPO
|
||||||
OUTPUT F_BILCHC CONTO
|
OUTPUT F_BILCHC CONTO
|
||||||
OUTPUT F_BILCHS SOTTOCONTO
|
OUTPUT F_BILCHS SOTTOCONTO
|
||||||
INPUT GRUPPO F_BILCHG
|
INPUT GRUPPO F_BILCHG
|
||||||
INPUT CONTO F_BILCHC
|
INPUT CONTO F_BILCHC
|
||||||
INPUT SOTTOCONTO F_BILCHS
|
INPUT SOTTOCONTO F_BILCHS
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_BILCHC 3
|
NUMBER F_BILCHC 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 9 ""
|
PROMPT 44 9 ""
|
||||||
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
||||||
COPY ALL F_BILCHG
|
COPY ALL F_BILCHG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_BILCHS 6
|
NUMBER F_BILCHS 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 9 ""
|
PROMPT 51 9 ""
|
||||||
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
HELP "Codice conto di riepilogo del bilancio di chiusura"
|
||||||
COPY ALL F_BILCHG
|
COPY ALL F_BILCHG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PROPERG 3
|
NUMBER F_PROPERG 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 10 "Profitti e perdite "
|
PROMPT 3 10 "Profitti e perdite "
|
||||||
HELP "Codice conto di riepilogo del Profitti e perdite"
|
HELP "Codice conto di riepilogo del Profitti e perdite"
|
||||||
COPY USE F_BILCHG
|
COPY USE F_BILCHG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
OUTPUT F_PROPERG GRUPPO
|
OUTPUT F_PROPERG GRUPPO
|
||||||
OUTPUT F_PROPERC CONTO
|
OUTPUT F_PROPERC CONTO
|
||||||
OUTPUT F_PROPERS SOTTOCONTO
|
OUTPUT F_PROPERS SOTTOCONTO
|
||||||
INPUT GRUPPO F_PROPERG
|
INPUT GRUPPO F_PROPERG
|
||||||
INPUT CONTO F_PROPERC
|
INPUT CONTO F_PROPERC
|
||||||
INPUT SOTTOCONTO F_PROPERS
|
INPUT SOTTOCONTO F_PROPERS
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PROPERC 3
|
NUMBER F_PROPERC 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 10 ""
|
PROMPT 44 10 ""
|
||||||
HELP "Codice conto di riepilogo del Profitti e perdite"
|
HELP "Codice conto di riepilogo del Profitti e perdite"
|
||||||
COPY USE F_BILCHG
|
COPY USE F_BILCHG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
COPY OUTPUT F_PROPERG
|
COPY OUTPUT F_PROPERG
|
||||||
COPY INPUT F_PROPERG
|
COPY INPUT F_PROPERG
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PROPERS 6
|
NUMBER F_PROPERS 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 10 ""
|
PROMPT 51 10 ""
|
||||||
HELP "Codice conto di riepilogo del Profitti e perdite"
|
HELP "Codice conto di riepilogo del Profitti e perdite"
|
||||||
COPY ALL F_PROPERC
|
COPY ALL F_PROPERC
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_BILAPG 3
|
NUMBER F_BILAPG 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 11 "Bilancio di apertura "
|
PROMPT 3 11 "Bilancio di apertura "
|
||||||
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
||||||
COPY USE F_BILCHG
|
COPY USE F_BILCHG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
OUTPUT F_BILAPG GRUPPO
|
OUTPUT F_BILAPG GRUPPO
|
||||||
OUTPUT F_BILAPC CONTO
|
OUTPUT F_BILAPC CONTO
|
||||||
OUTPUT F_BILAPS SOTTOCONTO
|
OUTPUT F_BILAPS SOTTOCONTO
|
||||||
INPUT GRUPPO F_BILAPG
|
INPUT GRUPPO F_BILAPG
|
||||||
INPUT CONTO F_BILAPC
|
INPUT CONTO F_BILAPC
|
||||||
INPUT SOTTOCONTO F_BILAPS
|
INPUT SOTTOCONTO F_BILAPS
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_BILAPC 3
|
NUMBER F_BILAPC 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 11 ""
|
PROMPT 44 11 ""
|
||||||
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
||||||
COPY USE F_BILCHG
|
COPY USE F_BILCHG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
COPY OUTPUT F_BILAPG
|
COPY OUTPUT F_BILAPG
|
||||||
COPY INPUT F_BILAPG
|
COPY INPUT F_BILAPG
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_BILAPS 6
|
NUMBER F_BILAPS 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 11 ""
|
PROMPT 51 11 ""
|
||||||
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
HELP "Codice conto di riepilogo del Bilancio di apertura"
|
||||||
COPY ALL F_BILAPC
|
COPY ALL F_BILAPC
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_UTILPG 3
|
NUMBER F_UTILPG 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 12 "Utile d'esercizio c/to patrim. "
|
PROMPT 3 12 "Utile d'esercizio c/to patrim. "
|
||||||
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
||||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
OUTPUT F_UTILPG GRUPPO
|
OUTPUT F_UTILPG GRUPPO
|
||||||
OUTPUT F_UTILPC CONTO
|
OUTPUT F_UTILPC CONTO
|
||||||
OUTPUT F_UTILPS SOTTOCONTO
|
OUTPUT F_UTILPS SOTTOCONTO
|
||||||
INPUT GRUPPO F_UTILPG
|
INPUT GRUPPO F_UTILPG
|
||||||
INPUT CONTO F_UTILPC
|
INPUT CONTO F_UTILPC
|
||||||
INPUT SOTTOCONTO F_UTILPS
|
INPUT SOTTOCONTO F_UTILPS
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_UTILPC 3
|
NUMBER F_UTILPC 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 12 ""
|
PROMPT 44 12 ""
|
||||||
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
||||||
COPY USE F_UTILPG
|
COPY USE F_UTILPG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
COPY OUTPUT F_UTILPG
|
COPY OUTPUT F_UTILPG
|
||||||
COPY INPUT F_UTILPG
|
COPY INPUT F_UTILPG
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_UTILPS 6
|
NUMBER F_UTILPS 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 12 ""
|
PROMPT 51 12 ""
|
||||||
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio"
|
||||||
COPY ALL F_UTILPC
|
COPY ALL F_UTILPC
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PERDPG 3
|
NUMBER F_PERDPG 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 13 "Perdita d'esercizio c/to patr. "
|
PROMPT 3 13 "Perdita d'esercizio c/to patr. "
|
||||||
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
||||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
OUTPUT F_PERDPG GRUPPO
|
OUTPUT F_PERDPG GRUPPO
|
||||||
OUTPUT F_PERDPC CONTO
|
OUTPUT F_PERDPC CONTO
|
||||||
OUTPUT F_PERDPS SOTTOCONTO
|
OUTPUT F_PERDPS SOTTOCONTO
|
||||||
INPUT GRUPPO F_PERDPG
|
INPUT GRUPPO F_PERDPG
|
||||||
INPUT CONTO F_PERDPC
|
INPUT CONTO F_PERDPC
|
||||||
INPUT SOTTOCONTO F_PERDPS
|
INPUT SOTTOCONTO F_PERDPS
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PERDPC 3
|
NUMBER F_PERDPC 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 13 ""
|
PROMPT 44 13 ""
|
||||||
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
||||||
COPY USE F_PERDPG
|
COPY USE F_PERDPG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
COPY OUTPUT F_PERDPG
|
COPY OUTPUT F_PERDPG
|
||||||
COPY INPUT F_PERDPG
|
COPY INPUT F_PERDPG
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PERDPS 6
|
NUMBER F_PERDPS 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 13 ""
|
PROMPT 51 13 ""
|
||||||
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio"
|
||||||
COPY ALL F_PERDPC
|
COPY ALL F_PERDPC
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_UTILEG 3
|
NUMBER F_UTILEG 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 14 "Utile d'esercizio c/to econom. "
|
PROMPT 3 14 "Utile d'esercizio c/to econom. "
|
||||||
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
||||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
OUTPUT F_UTILEG GRUPPO
|
OUTPUT F_UTILEG GRUPPO
|
||||||
OUTPUT F_UTILEC CONTO
|
OUTPUT F_UTILEC CONTO
|
||||||
OUTPUT F_UTILES SOTTOCONTO
|
OUTPUT F_UTILES SOTTOCONTO
|
||||||
INPUT GRUPPO F_UTILEG
|
INPUT GRUPPO F_UTILEG
|
||||||
INPUT CONTO F_UTILEC
|
INPUT CONTO F_UTILEC
|
||||||
INPUT SOTTOCONTO F_UTILES
|
INPUT SOTTOCONTO F_UTILES
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_UTILEC 3
|
NUMBER F_UTILEC 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 14 ""
|
PROMPT 44 14 ""
|
||||||
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
||||||
COPY USE F_UTILEG
|
COPY USE F_UTILEG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
COPY OUTPUT F_UTILEG
|
COPY OUTPUT F_UTILEG
|
||||||
COPY INPUT F_UTILEG
|
COPY INPUT F_UTILEG
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_UTILES 6
|
NUMBER F_UTILES 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 14 ""
|
PROMPT 51 14 ""
|
||||||
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
HELP "Codice conto economico in cui ripilogare l'utile d'esercizio"
|
||||||
COPY ALL F_UTILEC
|
COPY ALL F_UTILEC
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PERDEG 3
|
NUMBER F_PERDEG 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 15 "Perdita d'esercizio c/to econ. "
|
PROMPT 3 15 "Perdita d'esercizio c/to econ. "
|
||||||
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
||||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="")
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
OUTPUT F_PERDEG GRUPPO
|
OUTPUT F_PERDEG GRUPPO
|
||||||
OUTPUT F_PERDEC CONTO
|
OUTPUT F_PERDEC CONTO
|
||||||
OUTPUT F_PERDES SOTTOCONTO
|
OUTPUT F_PERDES SOTTOCONTO
|
||||||
INPUT GRUPPO F_PERDEG
|
INPUT GRUPPO F_PERDEG
|
||||||
INPUT CONTO F_PERDEC
|
INPUT CONTO F_PERDEC
|
||||||
INPUT SOTTOCONTO F_PERDES
|
INPUT SOTTOCONTO F_PERDES
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PERDEC 3
|
NUMBER F_PERDEC 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 15 ""
|
PROMPT 44 15 ""
|
||||||
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
||||||
COPY USE F_PERDEG
|
COPY USE F_PERDEG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
COPY DISPLAY F_BILCHG
|
COPY DISPLAY F_BILCHG
|
||||||
COPY OUTPUT F_PERDEG
|
COPY OUTPUT F_PERDEG
|
||||||
COPY INPUT F_PERDEG
|
COPY INPUT F_PERDEG
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PERDES 6
|
NUMBER F_PERDES 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 15 ""
|
PROMPT 51 15 ""
|
||||||
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
HELP "Codice conto economico in cui ripilogare la perdita d'esercizio"
|
||||||
COPY ALL F_PERDEC
|
COPY ALL F_PERDEC
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_OK 9 2
|
BUTTON DLG_OK 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -12 -1 ""
|
PROMPT -12 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_QUIT 9 2
|
BUTTON DLG_QUIT 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -22 -1 ""
|
PROMPT -22 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
304
cg/cglib.h
304
cg/cglib.h
@ -1,152 +1,152 @@
|
|||||||
#ifndef __CGLIB_H
|
#ifndef __CGLIB_H
|
||||||
#define __CGLIB_H
|
#define __CGLIB_H
|
||||||
|
|
||||||
#ifndef __ISAM_H
|
#ifndef __ISAM_H
|
||||||
#include <isam.h>
|
#include <isam.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <assoc.h>
|
#include <assoc.h>
|
||||||
#include "conto.h"
|
#include "conto.h"
|
||||||
#include "cg2103.h" // per TCausale
|
#include "cg2103.h" // per TCausale
|
||||||
|
|
||||||
|
|
||||||
class TCaus : public TCausale
|
class TCaus : public TCausale
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
TRectype _rec;
|
TRectype _rec;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool chiusura() const;
|
bool chiusura() const;
|
||||||
bool apertura() const;
|
bool apertura() const;
|
||||||
virtual bool read(const char* cod);
|
virtual bool read(const char* cod);
|
||||||
|
|
||||||
TCaus(const char* cod);
|
TCaus(const char* cod);
|
||||||
~TCaus() {}
|
~TCaus() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
class TSaldi_list : public TAssoc_array
|
class TSaldi_list : public TAssoc_array
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TSaldi_list (int g, int c, int aec, int aep=0);
|
TSaldi_list (int g, int c, int aec, int aep=0);
|
||||||
TRectype* saldi() const;
|
TRectype* saldi() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum tipobil { DataLimite=1, UltimaImmissione };
|
enum tipobil { DataLimite=1, UltimaImmissione };
|
||||||
const int EsePre(const int EseCorr);
|
const int EsePre(const int EseCorr);
|
||||||
|
|
||||||
class TSaldo
|
class TSaldo
|
||||||
{
|
{
|
||||||
real _saldo, _saldo_iniziale, _saldoiniziale;
|
real _saldo, _saldo_iniziale, _saldoiniziale;
|
||||||
real _prg_dare, _prg_avere, _prg_daresca, _prg_averesca;
|
real _prg_dare, _prg_avere, _prg_daresca, _prg_averesca;
|
||||||
int _indbil;
|
int _indbil;
|
||||||
TRectype* _saldo_ep;
|
TRectype* _saldo_ep;
|
||||||
int _annoes;
|
int _annoes;
|
||||||
TDate _inizioEs, _fineEs;
|
TDate _inizioEs, _fineEs;
|
||||||
TString16 _codcaus;
|
TString16 _codcaus;
|
||||||
TDate _datareg;
|
TDate _datareg;
|
||||||
TDate _datacomp;
|
TDate _datacomp;
|
||||||
TString _provv;
|
TString _provv;
|
||||||
|
|
||||||
bool _movimentato;
|
bool _movimentato;
|
||||||
bool _significativo;
|
bool _significativo;
|
||||||
bool _rec_presente_ec;
|
bool _rec_presente_ec;
|
||||||
bool _rec_presente_ep;
|
bool _rec_presente_ep;
|
||||||
bool _prec;
|
bool _prec;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void InFinEs(int);
|
void InFinEs(int);
|
||||||
void leggi_mov(long numreg); // Leggi testata
|
void leggi_mov(long numreg); // Leggi testata
|
||||||
real calcola_saldo_iniziale(int g, int c, long s, int indbil);
|
real calcola_saldo_iniziale(int g, int c, long s, int indbil);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
bool movimentato() const { return _movimentato; }
|
bool movimentato() const { return _movimentato; }
|
||||||
bool significativo() const { return _significativo; }
|
bool significativo() const { return _significativo; }
|
||||||
bool esiste_saldo() const { return _rec_presente_ec || _rec_presente_ep;}
|
bool esiste_saldo() const { return _rec_presente_ec || _rec_presente_ep;}
|
||||||
bool esiste_saldo_ep() const { return _rec_presente_ep; }
|
bool esiste_saldo_ep() const { return _rec_presente_ep; }
|
||||||
|
|
||||||
int annoes () const { return _annoes; }
|
int annoes () const { return _annoes; }
|
||||||
void set_annoes (int anno) { _annoes = anno; }
|
void set_annoes (int anno) { _annoes = anno; }
|
||||||
|
|
||||||
bool causale_mov(long, const TDate&, const TDate&, TString&);
|
bool causale_mov(long, const TDate&, const TDate&, TString&);
|
||||||
const char* causale_chiusura_es();
|
const char* causale_chiusura_es();
|
||||||
const char* causale_apertura_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_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 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);
|
bool data_limite_bilancio(int,int,int,long,const TDate&,const TDate&,int,int);
|
||||||
|
|
||||||
TRectype& ricerca_progr_prec(int, int, int, long);
|
TRectype& ricerca_progr_prec(int, int, int, long);
|
||||||
|
|
||||||
real saldofin_esprec(int,int,int,long);
|
real saldofin_esprec(int,int,int,long);
|
||||||
bool prg_attuali(int,TConto&,real&,real&);
|
bool prg_attuali(int,TConto&,real&,real&);
|
||||||
bool prg_mov_eliminati(int,TConto&,real&,real&);
|
bool prg_mov_eliminati(int,TConto&,real&,real&);
|
||||||
|
|
||||||
const real& saldo() const { return _saldo;}
|
const real& saldo() const { return _saldo;}
|
||||||
const real& saldoini() const { return _saldo_iniziale;}
|
const real& saldoini() const { return _saldo_iniziale;}
|
||||||
const real& saldoinisusaldi() const { return _saldoiniziale;}
|
const real& saldoinisusaldi() const { return _saldoiniziale;}
|
||||||
const real& prgdare() const { return _prg_dare;}
|
const real& prgdare() const { return _prg_dare;}
|
||||||
const real& prgavere() const { return _prg_avere;}
|
const real& prgavere() const { return _prg_avere;}
|
||||||
const bool flagprec() { return _prec; }
|
const bool flagprec() { return _prec; }
|
||||||
bool prg_attuali(int,TConto&,int,real&,real&);
|
bool prg_attuali(int,TConto&,int,real&,real&);
|
||||||
bool prg_mov_eliminati(int,TConto&,int,real&,real&);
|
bool prg_mov_eliminati(int,TConto&,int,real&,real&);
|
||||||
TSaldo();
|
TSaldo();
|
||||||
~TSaldo();
|
~TSaldo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TTab_conti : public TAssoc_array
|
class TTab_conti : public TAssoc_array
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void aggiorna_conto(const TBill& tc, int anno_es, const TImporto& importo,
|
void aggiorna_conto(const TBill& tc, int anno_es, const TImporto& importo,
|
||||||
bool movap, bool provv, bool somma);
|
bool movap, bool provv, bool somma);
|
||||||
|
|
||||||
TConto* add(const TBill& c, int anno);
|
TConto* add(const TBill& c, int anno);
|
||||||
TConto* find(const TBill& c, int anno);
|
TConto* find(const TBill& c, int anno);
|
||||||
void remove(const TBill& c, int anno);
|
void remove(const TBill& c, int anno);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class TSaldo_agg : public TObject
|
class TSaldo_agg : public TObject
|
||||||
{
|
{
|
||||||
TTab_conti _tab_conti;
|
TTab_conti _tab_conti;
|
||||||
bool _movap; // se e' mov. d'apertura (aggiorno SALDO e FLAGSALINI in
|
bool _movap; // se e' mov. d'apertura (aggiorno SALDO e FLAGSALINI in
|
||||||
// saldi)
|
// saldi)
|
||||||
bool _provv;
|
bool _provv;
|
||||||
int _anno_es; // anno esercizio
|
int _anno_es; // anno esercizio
|
||||||
TDate _data_ulmov; // data ultimo movimento
|
TDate _data_ulmov; // data ultimo movimento
|
||||||
long _num_ulmov; // numero ultimo movimento
|
long _num_ulmov; // numero ultimo movimento
|
||||||
TRectype * _rec; // record corrente sui saldi
|
TRectype * _rec; // record corrente sui saldi
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void clear_saldi(int year);
|
void clear_saldi(int year);
|
||||||
void registra();
|
void registra();
|
||||||
void aggiorna (const TBill& tc, const TImporto& importo, bool somma=TRUE);
|
void aggiorna (const TBill& tc, const TImporto& importo, bool somma=TRUE);
|
||||||
void aggiorna (int gruppo, int conto, long sottoconto,
|
void aggiorna (int gruppo, int conto, long sottoconto,
|
||||||
const real& importo, char sezione, bool somma=TRUE);
|
const real& importo, char sezione, bool somma=TRUE);
|
||||||
|
|
||||||
TConto* find(const TBill& c, int anno) { return _tab_conti.find(c, anno); }
|
TConto* find(const TBill& c, int anno) { return _tab_conti.find(c, anno); }
|
||||||
|
|
||||||
void set_anno_es(int anno) { _anno_es = anno; }
|
void set_anno_es(int anno) { _anno_es = anno; }
|
||||||
int anno_es() const { return _anno_es; }
|
int anno_es() const { return _anno_es; }
|
||||||
|
|
||||||
void set_movap (bool movap) { _movap = movap; }
|
void set_movap (bool movap) { _movap = movap; }
|
||||||
bool movap() const { return _movap; }
|
bool movap() const { return _movap; }
|
||||||
|
|
||||||
void set_movprovv (bool p) { _provv = p; }
|
void set_movprovv (bool p) { _provv = p; }
|
||||||
bool movprovv() const { return _provv; }
|
bool movprovv() const { return _provv; }
|
||||||
|
|
||||||
void set_data_ulmov (const TDate& data) { _data_ulmov = data; }
|
void set_data_ulmov (const TDate& data) { _data_ulmov = data; }
|
||||||
const TDate& data_ulmov() const { return _data_ulmov; }
|
const TDate& data_ulmov() const { return _data_ulmov; }
|
||||||
|
|
||||||
void set_num_ulmov (long num) { _num_ulmov = num; }
|
void set_num_ulmov (long num) { _num_ulmov = num; }
|
||||||
long num_ulmov() const { return _num_ulmov; }
|
long num_ulmov() const { return _num_ulmov; }
|
||||||
|
|
||||||
void reset(); // pulisce l'array dei conti
|
void reset(); // pulisce l'array dei conti
|
||||||
TSaldo_agg();
|
TSaldo_agg();
|
||||||
int items() const { return _tab_conti.items();}
|
int items() const { return _tab_conti.items();}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#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