2010-01-03 20:29:32 +00:00
|
|
|
#include <applicat.h>
|
|
|
|
#include <automask.h>
|
|
|
|
#include <execp.h>
|
|
|
|
#include <lffiles.h>
|
|
|
|
#include <progind.h>
|
|
|
|
#include <real.h>
|
|
|
|
#include <recarray.h>
|
|
|
|
#include <reputils.h>
|
|
|
|
#include <utility.h>
|
|
|
|
#include <relation.h>
|
|
|
|
#include <reprint.h>
|
|
|
|
#include <textset.h>
|
|
|
|
#include <tabutil.h>
|
|
|
|
|
|
|
|
#include "../ce/ammce.h"
|
|
|
|
#include "../ce/cespi.h"
|
|
|
|
#include "../ce/salce.h"
|
|
|
|
|
|
|
|
#include "../cg/cglib01.h"
|
|
|
|
|
|
|
|
#include "lv4.h"
|
|
|
|
#include "lv4100.h"
|
|
|
|
#include "lv4300a.h"
|
|
|
|
|
|
|
|
#include <pconti.h>
|
|
|
|
#include <mov.h>
|
|
|
|
#include <rmov.h>
|
|
|
|
#include <rmoviva.h>
|
|
|
|
|
2010-01-05 14:53:40 +00:00
|
|
|
#define CGC_DITTA 0
|
|
|
|
#define CGC_GRUPPO 1
|
|
|
|
#define CGC_SPECIE 2
|
|
|
|
#define CGC_CESPITE 3
|
|
|
|
#define CGC_CODPADRE 4
|
|
|
|
#define CGC_CEINCR 5
|
|
|
|
#define CGC_NPROGR 6
|
|
|
|
#define CGC_DESCR 7
|
|
|
|
#define CGC_CEALIQ1 8
|
|
|
|
#define CGC_PERCAMMANTIC 9
|
|
|
|
#define CGC_COSTOACQ 10
|
|
|
|
#define CGC_COSTODAAMM 11
|
|
|
|
#define CGC_RIVALUTAZIONE 12
|
|
|
|
#define CGC_RETTIFICHE 13
|
|
|
|
#define CGC_FONDOAMMORT 14
|
|
|
|
#define CGC_TOTAMMANTIC 15
|
|
|
|
#define CGC_RIVALUTAMM 16
|
|
|
|
#define CGC_CEDIMRIVALUTAMM 17
|
|
|
|
#define CGC_AMMORTINDEDUCIBILE 18
|
|
|
|
#define CGC_CREDIMPOSTA 19
|
|
|
|
#define CGC_VENDCOSTOACQ 20
|
|
|
|
#define CGC_VENDFDOAMM 21
|
|
|
|
#define CGC_PLUSREINVEST 22
|
|
|
|
#define CGC_VALORVEN 23
|
|
|
|
#define CGC_DATAINIZAMM 24
|
|
|
|
#define CGC_DATAACCANTONAM 25
|
|
|
|
#define CGC_DATAALIENENAZIONE 26
|
|
|
|
#define CGC_PERCDAAMM 27
|
|
|
|
#define CGC_RIFERFATTVEN 28
|
|
|
|
#define CGC_RIFERFATTACQ 29
|
|
|
|
#define CGC_CODFOR 30
|
|
|
|
#define CGC_CEDITFIL 31
|
|
|
|
#define CGC_RIFERACQ 32
|
|
|
|
#define CGC_CODCLI 33
|
|
|
|
#define CGC_INAMMCOSTOES 34
|
|
|
|
#define CGC_IMMATERIALI 35
|
|
|
|
#define CGC_TIPOAMMORT 36
|
|
|
|
#define CGC_CESSIONE 37
|
|
|
|
#define CGC_RIFERVEN 38
|
|
|
|
#define CGC_CEMANRIP 39
|
|
|
|
#define CGC_PERCAMMSTD 40
|
|
|
|
#define CGC_NQUOTEANTCALC 41
|
|
|
|
#define CGC_NUMMOVCESP 42
|
|
|
|
#define CGC_VENDFDOANT 43
|
|
|
|
#define CGC_AMMDIPPADRE 44
|
2010-01-03 20:29:32 +00:00
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TAutomask
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TImporta_cesp_mask : public TAutomask
|
|
|
|
{
|
|
|
|
protected:
|
|
|
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TImporta_cesp_mask();
|
|
|
|
};
|
|
|
|
|
|
|
|
TImporta_cesp_mask::TImporta_cesp_mask() :TAutomask ("lv4300a")
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
bool TImporta_cesp_mask::on_field_event(TOperable_field& f, TField_event e, long jolly)
|
|
|
|
{
|
|
|
|
switch (f.dlg())
|
|
|
|
{
|
|
|
|
//giochetto per avere la lista dei files validi nella directory di trasferimento!
|
|
|
|
case F_NAME:
|
|
|
|
if (e == fe_button)
|
|
|
|
{
|
|
|
|
TArray_sheet as(-1, -1, 72, 20, TR("Selezione file"),
|
|
|
|
"File@32");
|
|
|
|
TFilename path = get(F_PATH);
|
|
|
|
path.add("*.txt"); //files delle testate
|
|
|
|
list_files(path, as.rows_array());
|
|
|
|
TFilename name;
|
|
|
|
FOR_EACH_ARRAY_ROW(as.rows_array(), i, row)
|
|
|
|
{
|
|
|
|
name = *row;
|
|
|
|
*row = name.name();
|
|
|
|
}
|
|
|
|
if (as.run() == K_ENTER)
|
|
|
|
{
|
|
|
|
f.set(as.row(as.selected()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////
|
|
|
|
// TSkeleton_application
|
|
|
|
///////////////////////////////////////
|
|
|
|
class TImporta_cesp : public TSkeleton_application
|
|
|
|
{
|
2010-01-05 14:53:40 +00:00
|
|
|
TImporta_cesp_mask* _msk;
|
2010-01-03 20:29:32 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
virtual bool create();
|
|
|
|
virtual bool destroy();
|
|
|
|
virtual void main_loop();
|
|
|
|
void transfer(const TFilename& file);
|
|
|
|
};
|
|
|
|
|
|
|
|
void TImporta_cesp::transfer(const TFilename& file)
|
|
|
|
{
|
|
|
|
TFilename outdir(_msk->get(F_PATHOUT));
|
|
|
|
TImporta_cogeco_recset s(file);
|
|
|
|
TProgind pi(s.items(),"Importazione cespiti in corso ...",true,true);
|
|
|
|
const long ditta = _msk->get_long(F_CODITTA);
|
|
|
|
long ntran = 1;
|
|
|
|
TString str(50);
|
|
|
|
const TEsercizi_contabili esc;
|
|
|
|
int lastes = esc.last();
|
|
|
|
|
2010-01-05 14:53:40 +00:00
|
|
|
for (bool ok = s.move_to(1); ok ; ok = s.move_next())
|
2010-01-03 20:29:32 +00:00
|
|
|
{
|
|
|
|
if (!pi.addstatus(1))
|
|
|
|
break;
|
|
|
|
|
2010-01-05 14:53:40 +00:00
|
|
|
const long dt = s.get(CGC_DITTA).as_int();
|
2010-01-03 20:29:32 +00:00
|
|
|
|
|
|
|
if (ditta != dt)
|
|
|
|
continue;
|
|
|
|
|
|
|
|
TFilename temp(outdir);
|
|
|
|
|
|
|
|
temp << '/' << format("%05ld", ntran++);
|
|
|
|
temp.ext("ini");
|
|
|
|
if (fexist(temp))
|
|
|
|
remove_file(temp);
|
|
|
|
TConfig conf(temp);
|
|
|
|
conf.set_paragraph("Transaction"); //setto il paragrafo [Transaction] del file ini
|
|
|
|
conf.set("Action","INSERT");
|
|
|
|
conf.set("Mode","AUTO");
|
|
|
|
|
|
|
|
conf.set_paragraph("139"); // setto il paragrafo cespi
|
2010-01-05 14:53:40 +00:00
|
|
|
const long codces = s.get(CGC_NPROGR).as_int();
|
2010-01-03 20:29:32 +00:00
|
|
|
|
|
|
|
conf.set(CESPI_IDCESPITE, format("%010ld", codces));
|
2010-01-05 14:53:40 +00:00
|
|
|
conf.set(CESPI_CODCGR, s.get(CGC_GRUPPO).as_string());
|
|
|
|
conf.set(CESPI_CODSP, s.get(CGC_SPECIE).as_string());
|
|
|
|
conf.set(CESPI_CODCAT, s.get(CGC_CESPITE).as_string());
|
|
|
|
conf.set(CESPI_DESC, s.get(CGC_DESCR).as_string());
|
2010-01-03 20:29:32 +00:00
|
|
|
|
2010-01-05 14:53:40 +00:00
|
|
|
conf.set(CESPI_DTFUNZ, s.get(CGC_DATAINIZAMM).as_string());
|
|
|
|
conf.set(CESPI_DTALIEN, s.get(CGC_DATAALIENENAZIONE).as_string());
|
2010-01-03 20:29:32 +00:00
|
|
|
conf.set(CESPI_TPSPEMAN, 1);
|
|
|
|
|
|
|
|
/*
|
|
|
|
#define CESPI_CODCGRA "CODCGRA"
|
|
|
|
#define CESPI_CODSPA "CODSPA"
|
|
|
|
#define CESPI_CODIMP "CODIMP"
|
|
|
|
#define CESPI_CODLOC "CODLOC"
|
|
|
|
#define CESPI_CODORIG "CODORIG"
|
|
|
|
#define CESPI_DTCOMP "DTCOMP"
|
|
|
|
#define CESPI_AMMPROP "AMMPROP"
|
|
|
|
#define CESPI_ESCLPR "ESCLPR"
|
|
|
|
#define CESPI_TPSPEMAN "TPSPEMAN"
|
|
|
|
#define CESPI_USOPROM "USOPROM"
|
|
|
|
#define CESPI_LEASING "LEASING"
|
|
|
|
#define CESPI_TUIR "TUIR"
|
|
|
|
#define CESPI_USATO "USATO"
|
|
|
|
#define CESPI_ANNIRIC "ANNIRIC"
|
|
|
|
#define CESPI_PMAT "PMAT"
|
|
|
|
#define CESPI_PIMM "PIMM"
|
|
|
|
#define CESPI_VINCOLO "VINCOLO"
|
|
|
|
#define CESPI_PMINP "PMINP"
|
|
|
|
#define CESPI_PMAXP "PMAXP"
|
|
|
|
#define CESPI_CODVAL "CODVAL"
|
|
|
|
#define CESPI_FLGTPVEI "FLGTPVEI"
|
|
|
|
#define CESPI_VEIDIP "VEIDIP"
|
|
|
|
#define CESPI_STABILIM "STABILIM"
|
|
|
|
#define CESPI_REPARTO "REPARTO"
|
|
|
|
#define CESPI_IDIMP "IDIMP"
|
|
|
|
#define CESPI_PERCIMP "PERCIMP"
|
|
|
|
#define CESPI_FABBR06 "FABBR06"
|
|
|
|
|
|
|
|
#define CEALIQ1 8
|
|
|
|
#define PERCAMMANTIC 9
|
|
|
|
#define COSTODAAMM 11
|
|
|
|
#define RIVALUTAZIONE 12
|
|
|
|
#define RETTIFICHE 13
|
|
|
|
#define FONDOAMMORT 14
|
|
|
|
#define TOTAMMANTIC 15
|
|
|
|
#define RIVALUTAMM 16
|
|
|
|
#define CEDIMRIVALUTAMM 17
|
|
|
|
#define AMMORTINDEDUCIBILE 18
|
|
|
|
#define CREDIMPOSTA 19
|
|
|
|
#define VENDCOSTOACQ 20
|
|
|
|
#define VENDFDOAMM 21
|
|
|
|
#define PLUSREINVEST 22
|
|
|
|
#define VALORVEN 23
|
|
|
|
#define PERCDAAMM 27
|
|
|
|
#define RIFERFATTVEN 28
|
|
|
|
#define RIFERFATTACQ 29
|
|
|
|
#define CODFOR 30
|
|
|
|
#define CEDITFIL 31
|
|
|
|
#define RIFERACQ 32
|
|
|
|
#define CODCLI 33
|
|
|
|
#define INAMMCOSTOES 34
|
|
|
|
#define IMMATERIALI 35
|
|
|
|
#define TIPOAMMORT 36
|
|
|
|
#define CESSIONE 37
|
|
|
|
#define RIFERVEN 38
|
|
|
|
#define CEMANRIP 39
|
|
|
|
#define PERCAMMSTD 40
|
|
|
|
#define NQUOTEANTCALC 41
|
|
|
|
#define NUMMOVCESP 42
|
|
|
|
#define VENDFDOANT 43
|
|
|
|
#define AMMDIPPADRE 44
|
|
|
|
*/
|
|
|
|
conf.set_paragraph("143"); // setto il paragrafo del file salce
|
|
|
|
conf.set(SALCE_NUMELE, 1);
|
2010-01-05 14:53:40 +00:00
|
|
|
conf.set(SALCE_CSTO, s.get(CGC_COSTOACQ).as_string());
|
2010-01-03 20:29:32 +00:00
|
|
|
/*
|
|
|
|
#define SALCE_IDCESPITE "IDCESPITE"
|
|
|
|
#define SALCE_CODES "CODES"
|
|
|
|
#define SALCE_TPSALDO "TPSALDO"
|
|
|
|
#define SALCE_NUMELE "NUMELE"
|
|
|
|
#define SALCE_CSTO "CSTO"
|
|
|
|
#define SALCE_VNONAMM "VNONAMM"
|
|
|
|
#define SALCE_VNONAMM06 "VNONAMM06"
|
|
|
|
#define SALCE_VNONAMMC "VNONAMMC"
|
|
|
|
#define SALCE_PLUSREIN "PLUSREIN"
|
|
|
|
#define SALCE_RIV75 "RIV75"
|
|
|
|
#define SALCE_RIV83 "RIV83"
|
|
|
|
#define SALCE_RIV90 "RIV90"
|
|
|
|
#define SALCE_ANNIPOST90 "ANNIPOST90"
|
|
|
|
#define SALCE_ANNIPOST91 "ANNIPOST91"
|
|
|
|
#define SALCE_RIV91 "RIV91"
|
|
|
|
#define SALCE_RIVGF "RIVGF"
|
|
|
|
#define SALCE_RIVGC "RIVGC"
|
|
|
|
#define SALCE_VSPMANU "VSPMANU"
|
|
|
|
#define SALCE_ANNIAMM "ANNIAMM"
|
|
|
|
#define SALCE_DTSTBOLL "DTSTBOLL"
|
|
|
|
|
|
|
|
val = s.get(VLICAS).as_real() + s.get(VVICAS).as_real(); // civ
|
|
|
|
val = s.get(VLINAS2).as_real() + s.get(VAVIAS2).as_real(); // gest */
|
|
|
|
conf.set_paragraph("136"); // setto il paragrafo del file ammce
|
|
|
|
/*
|
|
|
|
#define AMMCE_IDCESPITE "IDCESPITE"
|
|
|
|
#define AMMCE_CODES "CODES"
|
|
|
|
#define AMMCE_TPSALDO "TPSALDO"
|
|
|
|
#define AMMCE_TPAMM "TPAMM"
|
|
|
|
#define AMMCE_SCELTE "SCELTE"
|
|
|
|
#define AMMCE_AMMRIT "AMMRIT"
|
|
|
|
#define AMMCE_CSCEN "CSCEN"
|
|
|
|
#define AMMCE_FZPER "FZPER"
|
|
|
|
#define AMMCE_PNOR "PNOR"
|
|
|
|
#define AMMCE_PACC "PACC"
|
|
|
|
#define AMMCE_PANT "PANT"
|
|
|
|
#define AMMCE_FZQUO "FZQUO"
|
|
|
|
#define AMMCE_QNOR "QNOR"
|
|
|
|
#define AMMCE_QACC "QACC"
|
|
|
|
#define AMMCE_QANT "QANT"
|
|
|
|
#define AMMCE_QPERSE "QPERSE"
|
|
|
|
#define AMMCE_FPRIVATO "FPRIVATO"
|
|
|
|
#define AMMCE_QPPRIVATE "QPPRIVATE"
|
|
|
|
#define AMMCE_QNORP "QNORP"
|
|
|
|
#define AMMCE_QACCP "QACCP"
|
|
|
|
#define AMMCE_QANTP "QANTP"
|
|
|
|
#define AMMCE_QPERSEP "QPERSEP"
|
|
|
|
#define AMMCE_FPRIVATOP "FPRIVATOP"
|
|
|
|
#define AMMCE_QPPRIVATEP "QPPRIVATEP"
|
|
|
|
#define AMMCE_MSG01 "MSG01"
|
|
|
|
#define AMMCE_MSG02 "MSG02"
|
|
|
|
#define AMMCE_MSG03 "MSG03"
|
|
|
|
#define AMMCE_MSG04 "MSG04"
|
|
|
|
#define AMMCE_MSG05 "MSG05"
|
|
|
|
#define AMMCE_MSGD05 "MSGD05"
|
|
|
|
#define AMMCE_MSG06 "MSG06"
|
|
|
|
#define AMMCE_FRINGEBEN "FRINGEBEN"
|
|
|
|
|
|
|
|
val = s.get(VAMNAS).as_real(); val amm norm fisc
|
|
|
|
val = s.get(PFANAS).as_real() + s.get(VAFNAS).as_real(); prog amm norm fisc
|
|
|
|
val = s.get(VAMAAS).as_real(); val amm ant fisc
|
|
|
|
val = s.get(PFAAAS).as_real() + s.get(VAFAAS).as_real(); prog amm ant fisc
|
|
|
|
val = s.get(VALFAS).as_real(); val amm acc fisc
|
|
|
|
|
|
|
|
val = s.get(VANCAS).as_real(); val amm norm civ
|
|
|
|
val = s.get(FANCAS).as_real() + s.get(VFNCAS).as_real(); prog amm norm civ
|
|
|
|
val = s.get(VAACAS).as_real(); val amm ant civ
|
|
|
|
val = s.get(FAACAS).as_real() + s.get(VFACAS).as_real(); prog amm ant civ
|
|
|
|
val = s.get(VALCAS).as_real(); val amm acc civ
|
|
|
|
|
|
|
|
val = s.get(VAMNAS2).as_real(); val amm norm gest
|
|
|
|
val = s.get(PFANAS2).as_real() + s.get(VAFNAS2).as_real(); prog amm norm gest
|
|
|
|
val = s.get(VAMAAS2).as_real(); val amm ant gest
|
|
|
|
val = s.get(PFAAAS2).as_real() + s.get(VAFAAS2).as_real(); prog amm ant gest
|
|
|
|
val = s.get(VALCAS).as_real(); val amm acc gest
|
|
|
|
??? conf.set(, s.get(VLICAS2 51 // Valore Iniziale Civil.2 DIZSMAS - VLIN
|
|
|
|
conf.set(, s.get(VVICAS2 52 // Variaz. Valore Iniz. Civ.2 DIZSMAS - VAVI
|
|
|
|
conf.set(, s.get(VANCAS2 53 // Valore Ammort.Normale Civ.2 DIZSMAS - VAMN
|
|
|
|
conf.set(, s.get(VAACAS2 54 // Valore Ammort.Anti.Civil.2 DIZSMAS - VAMA
|
|
|
|
conf.set(, s.get(FANCAS2 55 // Progr.Fondo Amm.Norm Civ.2 DIZSMAS - PFAN
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
if (yesno_box(FR("Si desidera confermare l'importazione di %ld record di cespiti"), ntran - 1))
|
|
|
|
{
|
|
|
|
TString app;
|
|
|
|
|
|
|
|
app << "ce0 -4 -i" << outdir << "/*.ini";
|
|
|
|
TExternal_app primanota(app);
|
|
|
|
primanota.run(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
bool TImporta_cesp::create()
|
|
|
|
{
|
2010-01-05 14:53:40 +00:00
|
|
|
_msk = new TImporta_cesp_mask();
|
2010-01-03 20:29:32 +00:00
|
|
|
return TSkeleton_application::create();
|
|
|
|
}
|
|
|
|
|
|
|
|
bool TImporta_cesp::destroy()
|
|
|
|
{
|
|
|
|
delete _msk;
|
|
|
|
return TApplication::destroy();
|
|
|
|
}
|
|
|
|
|
|
|
|
void TImporta_cesp::main_loop()
|
|
|
|
{
|
|
|
|
KEY tasto;
|
|
|
|
tasto = _msk->run();
|
|
|
|
if (tasto == K_ENTER)
|
|
|
|
{
|
|
|
|
//genero il nome del file da caricare
|
|
|
|
TFilename name = _msk->get(F_PATH);
|
|
|
|
name.add(_msk->get(F_NAME));
|
|
|
|
transfer(name);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
int lv4300 (int argc, char* argv[])
|
|
|
|
{
|
|
|
|
TImporta_cesp main_app;
|
2010-01-05 14:53:40 +00:00
|
|
|
main_app.run(argc, argv, TR("Importazione cespiti COGECO"));
|
2010-01-03 20:29:32 +00:00
|
|
|
return true;
|
|
|
|
}
|