git-svn-id: svn://10.65.10.50/branches/R_10_00@22747 c028cbd2-c16b-5b4b-a496-9718f37d4682

This commit is contained in:
guy 2012-10-26 08:38:14 +00:00
parent 39f144ba82
commit 4096f4c1a3
2 changed files with 16 additions and 25 deletions

View File

@ -1,24 +1,16 @@
#include <xvt.h> #include <xvt.h>
#include <checks.h>
#include "ri0.h" #include "ri0.h"
#define usage "Error - usage : %s -{0|1|3}"
int main(int argc,char** argv) int main(int argc,char** argv)
{ {
int n = (argc > 1) ? atoi(argv[1]+1) : -1; int n = (argc > 1) ? atoi(argv[1]+1) : -1;
switch (n) switch (n)
{ {
case 0: case 1: ri0200(argc,argv); break;
ri0100(argc,argv); break; case 3: ri0400(argc,argv); break;
case 1: default: ri0100(argc,argv); break;
ri0200(argc,argv); break;
case 3:
ri0400(argc,argv); break;
default:
error_box(usage, argv[0]) ;
} }
exit(0);
return 0;
} }

View File

@ -21,22 +21,14 @@ class TSaldo_ricl : public TSaldo
TArray _progavere; TArray _progavere;
public: public:
const real& saldo_periodo(int g, int c, long s, const TArray & dal, const TArray& al, bool provv); const real& saldo_periodo(int g, int c, long s, const TArray & dal, const TArray& al, bool provv);
const real& progdare(int p) const { return (real &) _progdare[p];} const real& progdare(int p) const { return (real&) _progdare[p];}
const real& progavere(int p) const { return (real &) _progavere[p];} const real& progavere(int p) const { return (real&) _progavere[p];}
TSaldo_ricl() { } TSaldo_ricl() { }
virtual ~TSaldo_ricl() {}
}; };
const real& TSaldo_ricl::saldo_periodo(int g, int c, long s, const TArray & dal, const TArray & al, bool provv) const real& TSaldo_ricl::saldo_periodo(int g, int c, long s, const TArray & dal, const TArray & al, bool provv)
{ {
const int nper = al.items();
const TDate & da = (const TDate &) dal[0];
const TDate & a = (const TDate &) al[nper - 1];
saldoini_ref() = ZERO; saldoini_ref() = ZERO;
saldo_ref() = ZERO; saldo_ref() = ZERO;
prgdare_ref() = ZERO; prgdare_ref() = ZERO;
@ -45,12 +37,20 @@ const real& TSaldo_ricl::saldo_periodo(int g, int c, long s, const TArray & dal,
_progdare.destroy(); _progdare.destroy();
_progavere.destroy(); _progavere.destroy();
for (int p = 0; p < nper; p++)
const int nper = al.items();
if (nper <= 0)
return ZERO;
for (int p = 0; p < nper; p++)
{ {
_progdare.add(new real); _progdare.add(new real);
_progavere.add(new real); _progavere.add(new real);
} }
const TDate & da = (const TDate &) dal[0];
const TDate & a = (const TDate &) al[nper - 1];
TEsercizi_contabili es; TEsercizi_contabili es;
const int codes = es.date2esc(da); const int codes = es.date2esc(da);
const TDate inizio = es.esercizio(codes).inizio(); const TDate inizio = es.esercizio(codes).inizio();
@ -58,7 +58,6 @@ const real& TSaldo_ricl::saldo_periodo(int g, int c, long s, const TArray & dal,
TString80 key; key.format("%04d| |%d|%d|%ld", codes, g, c, s); TString80 key; key.format("%04d| |%d|%d|%ld", codes, g, c, s);
const TRectype& saldo = cache().get(LF_SALDI, key); const TRectype& saldo = cache().get(LF_SALDI, key);
key.format("%d|%d", g, c); key.format("%d|%d", g, c);
const int indbil = atoi(cache().get(LF_PCON, key, PCN_INDBIL)); const int indbil = atoi(cache().get(LF_PCON, key, PCN_INDBIL));