Patch level : 10.948
Files correlati : ri0.exe ri1.exe Ricompilazione Demo : [ ] Commento : Aggiunto il flag per avere o no i progressivi nella riclassificazione saldi. Nella esportazione testo i codici di campo sono zerofilled ora git-svn-id: svn://10.65.10.50/branches/R_10_00@21743 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
6815325599
commit
25c451a60b
@ -138,16 +138,19 @@ void TRicl_saldi::main_loop()
|
||||
const TDate dal(c.get("Dal"));
|
||||
const bool provv = c.get_bool("Provvisori");
|
||||
const bool all = c.get_bool("Struttura");
|
||||
const bool progr = c.get_bool("Prograssivi");
|
||||
|
||||
output_file = c.get("Output");
|
||||
if (codricl.full())
|
||||
{
|
||||
TSaldi_ricl_recordset recset(codricl, codper, nper, dal, provv, all);
|
||||
TSaldi_ricl_recordset recset(codricl, codper, nper, dal, provv, all, progr);
|
||||
|
||||
recset.save_as(output_file);
|
||||
}
|
||||
else
|
||||
{
|
||||
TSaldi_conti_recordset recset(codper, nper, dal, provv, all);
|
||||
TSaldi_conti_recordset recset(codper, nper, dal, provv, all, progr);
|
||||
|
||||
recset.save_as(output_file);
|
||||
}
|
||||
}
|
||||
|
@ -13,4 +13,5 @@
|
||||
#define F_PROVV 111
|
||||
#define F_OUTPUT 112
|
||||
#define F_TIPOCOL 113
|
||||
#define F_PROG 114
|
||||
|
||||
|
@ -132,9 +132,15 @@ BEGIN
|
||||
FIELD PROVV
|
||||
END
|
||||
|
||||
BOOLEAN F_PROG
|
||||
BEGIN
|
||||
PROMPT 2 9 "Progessivi"
|
||||
FIELD PROG
|
||||
END
|
||||
|
||||
LIST F_TIPOCOL 2 14
|
||||
BEGIN
|
||||
PROMPT 2 9 "Esporta "
|
||||
PROMPT 2 10 "Esporta "
|
||||
ITEM "0|Saldi"
|
||||
ITEM "1|Tutti i valori"
|
||||
FIELD COLTYPE
|
||||
@ -142,7 +148,7 @@ END
|
||||
|
||||
STRING F_OUTPUT 50 30
|
||||
BEGIN
|
||||
PROMPT 2 10 "Output "
|
||||
PROMPT 2 12 "Output "
|
||||
CHECKTYPE REQUIRED
|
||||
FSELECT ""
|
||||
END
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include <diction.h>
|
||||
#include <lffiles.h>
|
||||
#include <prefix.h>
|
||||
|
||||
#include <causali.h>
|
||||
#include <clifo.h>
|
||||
@ -168,7 +169,7 @@ public:
|
||||
const TVariant & pdare(int nper) const { return (TVariant &) _prog_dare[nper]; }
|
||||
const TVariant & saldo(int nper) const { return (TVariant &) _saldo[nper]; }
|
||||
const int nper() const { return _saldo.items(); }
|
||||
void update(char tcf, int gruppo, int conto, long sottoconto, bool provv, const TArray & from, const TArray & to);
|
||||
void update(char tcf, int gruppo, int conto, long sottoconto, bool provv, const TArray & from, const TArray & to, bool prog);
|
||||
|
||||
bool is_zero() const;
|
||||
bool movimentato() const { return _movimentato;}
|
||||
@ -176,11 +177,11 @@ public:
|
||||
const TSaldo_periodo & operator -=(const TSaldo_periodo & sp);
|
||||
|
||||
TSaldo_periodo(int items);
|
||||
TSaldo_periodo(char tcf, int gruppo, int conto, long sottoconto, bool provv, const TArray & from, const TArray & to);
|
||||
TSaldo_periodo(char tcf, int gruppo, int conto, long sottoconto, bool provv, const TArray & from, const TArray & to, bool prog);
|
||||
virtual ~TSaldo_periodo() {}
|
||||
};
|
||||
|
||||
void TSaldo_periodo::update(char tcf, int gruppo, int conto, long sottoconto, bool provv, const TArray & from, const TArray & to)
|
||||
void TSaldo_periodo::update(char tcf, int gruppo, int conto, long sottoconto, bool provv, const TArray & from, const TArray & to, bool prog)
|
||||
{
|
||||
TSaldo_ricl sal;
|
||||
const int nper = from.items();
|
||||
@ -224,11 +225,13 @@ void TSaldo_periodo::update(char tcf, int gruppo, int conto, long sottoconto, bo
|
||||
_movimentato |= sal.movimentato();
|
||||
for (int i = 0; i < nper; i++)
|
||||
{
|
||||
saldoini(i) += sld;
|
||||
saldoini(i) = sld;
|
||||
pavere(i) += sal.progavere(i);
|
||||
pdare(i) += sal.progdare(i);
|
||||
if (!prog)
|
||||
sld = ZERO;
|
||||
sld += sal.progdare(i) - sal.progavere(i);
|
||||
saldo(i) += sld;
|
||||
saldo(i) = sld;
|
||||
}
|
||||
p.addstatus(1L);
|
||||
}
|
||||
@ -244,6 +247,8 @@ void TSaldo_periodo::update(char tcf, int gruppo, int conto, long sottoconto, bo
|
||||
for (int i = 0; i < nper; i++)
|
||||
{
|
||||
saldoini(i) = sld;
|
||||
if (!prog)
|
||||
sld = ZERO;
|
||||
pavere(i) = sal.progavere(i);
|
||||
pdare(i) = sal.progdare(i);
|
||||
sld += sal.progdare(i) - sal.progavere(i);
|
||||
@ -313,9 +318,9 @@ TSaldo_periodo::TSaldo_periodo(int items)
|
||||
_movimentato = false;
|
||||
}
|
||||
|
||||
TSaldo_periodo::TSaldo_periodo(char tcf, int gruppo, int conto, long sottoconto, bool provv, const TArray & from, const TArray & to)
|
||||
TSaldo_periodo::TSaldo_periodo(char tcf, int gruppo, int conto, long sottoconto, bool provv, const TArray & from, const TArray & to, bool prog)
|
||||
{
|
||||
update(tcf, gruppo, conto, sottoconto, provv, from, to);
|
||||
update(tcf, gruppo, conto, sottoconto, provv, from, to, prog);
|
||||
_movimentato = false;
|
||||
}
|
||||
|
||||
@ -326,6 +331,7 @@ class TSaldi_recordset_data :public TObject
|
||||
TArray _from;
|
||||
TArray _to;
|
||||
bool _provv;
|
||||
bool _prog;
|
||||
TString16 _codricl;
|
||||
TString8 _table;
|
||||
|
||||
@ -335,6 +341,7 @@ public:
|
||||
TArray & from() { return _from; }
|
||||
TArray & to() { return _to; }
|
||||
bool & provv() { return _provv; }
|
||||
bool & prog() { return _prog; }
|
||||
TString & codricl() { return _codricl; }
|
||||
TString & table() { return _table; }
|
||||
TSaldi_recordset_data() : _nper(0), _provv(0) { }
|
||||
@ -359,7 +366,7 @@ const TSaldo_periodo & saldo_periodo_conto(char tcf, int gruppo, int conto, long
|
||||
if (values == NULL)
|
||||
{
|
||||
if (sottoconto > 0L || tcf > ' ')
|
||||
values = new TSaldo_periodo(tcf, gruppo, conto, sottoconto, data.provv(), data.from(), data.to());
|
||||
values = new TSaldo_periodo(tcf, gruppo, conto, sottoconto, data.provv(), data.from(), data.to(), data.prog());
|
||||
else
|
||||
values = new TSaldo_periodo(data.from().items());
|
||||
data.saldi().add(key, values);
|
||||
@ -413,7 +420,7 @@ const TSaldo_periodo & saldo_periodo_ricl(const char * codricl, const char *cod)
|
||||
const long sottocontoc = conti.get(PCN_SOTTOCONTO).as_int();
|
||||
const char tcf = conti.get(PCN_TMCF).as_string()[0];
|
||||
|
||||
TSaldo_periodo s(tcf, gruppoc, contoc, sottocontoc, data.provv(), data.from(), data.to());
|
||||
TSaldo_periodo s(tcf, gruppoc, contoc, sottocontoc, data.provv(), data.from(), data.to(), data.prog());
|
||||
*values += s;
|
||||
}
|
||||
}
|
||||
@ -541,6 +548,16 @@ const TVariant& TSaldi_conti_recordset::get_field(int logic, const char* field)
|
||||
return var;
|
||||
}
|
||||
|
||||
if (fname == PCN_GRUPPO || fname ==PCN_CONTO || fname ==PCN_SOTTOCONTO)
|
||||
{
|
||||
TVariant & val = (TVariant &) TISAM_recordset::get_field(logic, field);
|
||||
const int len = cursor()->relation()->lfile().curr().length(fname);
|
||||
TString v(val.as_string());
|
||||
|
||||
v.lpad(len, '0');
|
||||
val = v;
|
||||
return val;
|
||||
}
|
||||
return TISAM_recordset::get_field(logic, field);
|
||||
}
|
||||
|
||||
@ -574,7 +591,7 @@ void TSaldi_conti_recordset::set_fromto()
|
||||
}
|
||||
}
|
||||
|
||||
TSaldi_conti_recordset::TSaldi_conti_recordset(const char * codper, int nper, const TDate & dal, int sel_columns, bool provv, bool all,
|
||||
TSaldi_conti_recordset::TSaldi_conti_recordset(const char * codper, int nper, const TDate & dal, int sel_columns, bool provv, bool all, bool prog,
|
||||
const TString& sql)
|
||||
: TISAM_recordset(sql), _codper(codper), _sel_columns(sel_columns), _all(all)
|
||||
{
|
||||
@ -584,6 +601,7 @@ TSaldi_conti_recordset::TSaldi_conti_recordset(const char * codper, int nper, co
|
||||
|
||||
data.nper() = nper;
|
||||
data.provv() = provv;
|
||||
data.prog() = prog;
|
||||
data.from().destroy();
|
||||
data.to().destroy();
|
||||
data.from().add(dal);
|
||||
@ -647,6 +665,9 @@ TSaldi_conti_recordset::TSaldi_conti_recordset(const TMask& m, const TString& sq
|
||||
else
|
||||
if (fldname.starts_with("COLTYPE"))
|
||||
_sel_columns = atoi(f.get());
|
||||
else
|
||||
if (fldname.starts_with("PROG"))
|
||||
data.prog() = f.get().full();
|
||||
}
|
||||
}
|
||||
set_fromto();
|
||||
@ -815,7 +836,7 @@ void TSaldi_ricl_recordset::set_fromto()
|
||||
}
|
||||
|
||||
TSaldi_ricl_recordset::TSaldi_ricl_recordset(const char * codricl, const char * codper, int nper, const TDate & dal, int sel_columns, bool provv,
|
||||
bool all, const TString& sql) : TISAM_recordset(sql), _codricl(codricl), _all(all), _sel_columns(sel_columns)
|
||||
bool all, bool prog, const TString& sql) : TISAM_recordset(sql), _codricl(codricl), _all(all), _prog(prog), _sel_columns(sel_columns)
|
||||
{
|
||||
_id = __shuttle.add(new TSaldi_recordset_data);
|
||||
|
||||
@ -834,6 +855,7 @@ TSaldi_ricl_recordset::TSaldi_ricl_recordset(const char * codricl, const char *
|
||||
table << "&TCZCO";
|
||||
data.codricl() = _codricl;
|
||||
data.table() = table;
|
||||
data.prog() = _prog;
|
||||
set_fromto();
|
||||
if (sql.blank())
|
||||
{
|
||||
@ -900,6 +922,9 @@ TSaldi_ricl_recordset::TSaldi_ricl_recordset(const TMask& m, const TString& sql)
|
||||
else
|
||||
if (fldname.starts_with("COLTYPE"))
|
||||
_sel_columns = atoi(f.get());
|
||||
else
|
||||
if (fldname.starts_with("PROG"))
|
||||
_prog = f.get().full();
|
||||
}
|
||||
}
|
||||
|
||||
@ -915,6 +940,7 @@ TSaldi_ricl_recordset::TSaldi_ricl_recordset(const TMask& m, const TString& sql)
|
||||
table << "&TCZCO";
|
||||
data.codricl() = _codricl;
|
||||
data.table() = table;
|
||||
data.prog() = _prog;
|
||||
set_fromto();
|
||||
if (sql.blank())
|
||||
{
|
||||
@ -991,6 +1017,9 @@ KEY TRicl_report::run_form(TMask& m)
|
||||
else
|
||||
if (fldname.starts_with("COLTYPE"))
|
||||
_sel_columns = atoi(f.get());
|
||||
else
|
||||
if (fldname.starts_with("PROG"))
|
||||
_prog = f.get().full();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1002,9 +1031,9 @@ bool TRicl_report::set_recordset(const TString& query)
|
||||
if (query.find("RICLCG") > 0)
|
||||
{
|
||||
if (_codricl.full())
|
||||
return TReport::set_recordset(new TSaldi_ricl_recordset(_codricl, _codper, _nper, _dal, _sel_columns, _provv, _all, query));
|
||||
return TReport::set_recordset(new TSaldi_ricl_recordset(_codricl, _codper, _nper, _dal, _sel_columns, _provv, _all, _prog, query));
|
||||
else
|
||||
return TReport::set_recordset(new TSaldi_conti_recordset(_codper, _nper, _dal, _sel_columns, _provv, _all, query));
|
||||
return TReport::set_recordset(new TSaldi_conti_recordset(_codper, _nper, _dal, _sel_columns, _provv, _all, _prog, query));
|
||||
}
|
||||
return TReport::set_recordset(query);
|
||||
}
|
||||
@ -1028,9 +1057,9 @@ bool TRicl_report::load(const char* name)
|
||||
if (use.find("RICLCG") > 0)
|
||||
{
|
||||
if (_codricl.full())
|
||||
return TReport::set_recordset(new TSaldi_ricl_recordset(_codricl, _codper, _nper, _dal, _sel_columns, _provv, _all, use));
|
||||
return TReport::set_recordset(new TSaldi_ricl_recordset(_codricl, _codper, _nper, _dal, _sel_columns, _provv, _all, _prog, use));
|
||||
else
|
||||
return TReport::set_recordset(new TSaldi_conti_recordset(_codper, _nper, _dal, _sel_columns, _provv, _all, use));
|
||||
return TReport::set_recordset(new TSaldi_conti_recordset(_codper, _nper, _dal, _sel_columns, _provv, _all, _prog, use));
|
||||
sec->set_recordset(recset);
|
||||
}
|
||||
}
|
||||
@ -1060,6 +1089,7 @@ bool TRicl_report::execute_usr_word(unsigned int opcode, TVariant_stack& stack)
|
||||
opcode -= _first_msg;
|
||||
switch (opcode)
|
||||
{
|
||||
case 0:
|
||||
default: break;
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ public:
|
||||
const TDate & from(int n) const;
|
||||
const TDate & to(int n) const;
|
||||
virtual void requery();
|
||||
TSaldi_conti_recordset(const char * codper, int nper, const TDate & dal, int sel_columns = 0,bool provv = false, bool all = true, const TString& sql = "");
|
||||
TSaldi_conti_recordset(const char * codper, int nper, const TDate & dal, int sel_columns = 0,bool provv = false, bool all = true, bool prog = true, const TString& sql = "");
|
||||
TSaldi_conti_recordset(const TMask& m, const TString& sql = "");
|
||||
virtual ~TSaldi_conti_recordset();
|
||||
};
|
||||
@ -50,6 +50,7 @@ class TSaldi_ricl_recordset : public TISAM_recordset
|
||||
TString16 _codricl;
|
||||
int _id;
|
||||
bool _all;
|
||||
bool _prog;
|
||||
TString4 _codper;
|
||||
int _sel_columns;
|
||||
|
||||
@ -69,7 +70,7 @@ public:
|
||||
virtual void requery();
|
||||
void set_fromto();
|
||||
|
||||
TSaldi_ricl_recordset(const char * codricl, const char * codper, int nper, const TDate & dal, int sel_columns = 0, bool provv = false, bool all = true, const TString& sql = "");
|
||||
TSaldi_ricl_recordset(const char * codricl, const char * codper, int nper, const TDate & dal, int sel_columns = 0, bool provv = false, bool all = true, bool progr = true, const TString& sql = "");
|
||||
TSaldi_ricl_recordset(const TMask & m, const TString& sql = "");
|
||||
virtual ~TSaldi_ricl_recordset();
|
||||
};
|
||||
@ -83,6 +84,7 @@ class TRicl_report : public TReport
|
||||
TDate _dal;
|
||||
bool _provv;
|
||||
bool _all;
|
||||
bool _prog;
|
||||
int _sel_columns;
|
||||
|
||||
protected:
|
||||
|
Loading…
x
Reference in New Issue
Block a user