Correzione alla causale di apertura

git-svn-id: svn://10.65.10.50/trunk@1082 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1995-03-08 13:23:55 +00:00
parent 2b27fb4ab7
commit 3ebeb19440
7 changed files with 134 additions and 30 deletions

View File

@ -1442,9 +1442,18 @@ bool CG1500_application::calcola(int g, int c, long s)
TString codcaus(mov.get(MOV_CODCAUS));
// if (codcaus.not_empty())
// if (codcaus == causale_chiusura())
// continue;
// Modifica del 03-03-95
TCaus cau (codcaus);
if (codcaus.not_empty())
if (codcaus == causale_chiusura())
if (cau.chiusura()) // Si tratta di causale di chiusura
continue;
//la causale e' uguale a quella di chiusura
// break;
@ -1459,21 +1468,36 @@ bool CG1500_application::calcola(int g, int c, long s)
continue;
//calcolo i movimenti del periodo
/*
if ( data_reg >= _datada && data_reg <= _dataa)
if ((codcaus == causale_apertura() && _dataini != _datada) ||
(codcaus != causale_apertura()))
{
conto_mov = TRUE;
if (sezione == 'D')
_mov_periodo_dare += importo;
else _mov_periodo_avere += importo;
_u_max = fnc_max(_u_max, data);
}
*/
// Modifica del 03-03-95
if ( data_reg >= _datada && data_reg <= _dataa)
if ((codcaus == causale_apertura() && _dataini != _datada) ||
(codcaus != causale_apertura()))
if ((cau.apertura() && _dataini != _datada) ||
(!cau.apertura()))
{
conto_mov = TRUE;
if (sezione == 'D')
_mov_periodo_dare += importo;
else _mov_periodo_avere += importo;
_u_max = fnc_max(_u_max, data);
}
}
//il saldo inizio es. e' dato dall'importo dare - importo avere di quei movimenti che hanno causale == apertura e data reg >= data inizio es. e <= data limite sup.
if (_datada == _dataini) //calcolo il saldo iniziale
{
if (codcaus == causale_apertura())
//if (codcaus == causale_apertura())
if (cau.apertura())
{
if (sezione == 'D')
_saldo_ini_dare += importo;

View File

@ -1902,10 +1902,19 @@ bool CG1600_application::calcola(int g, int c, long s,
continue; //stampa mov provv.
//li scarto
const TString codcaus(mov.get(MOV_CODCAUS));
// if (codcaus.not_empty())
// if (codcaus == causale_chiusura()) //la causale e' uguale a quella di chiusura
// continue;
// Modifica del 03-03-95
TCaus cau (codcaus);
if (codcaus.not_empty())
if (codcaus == causale_chiusura()) //la causale e' uguale a quella di chiusura
continue;
if (cau.chiusura()) //la causale e' uguale a quella di chiusura
continue;
if (_annoese == 0)
data = datareg;
@ -1917,9 +1926,8 @@ bool CG1600_application::calcola(int g, int c, long s,
TString datastr1 = _dataini.string();
TString datastr2 = _data_ini_ese.string();
TString codcausapp = causale_apertura();
//calcolo i movimenti del periodo
/*
if ( (data >= _dataini) && (data <= _datafine) )
if ((codcaus == causale_apertura() && _data_ini_ese != _dataini) ||
(codcaus != causale_apertura()))
@ -1929,12 +1937,25 @@ bool CG1600_application::calcola(int g, int c, long s,
_mov_periodo_dare += importo;
else _mov_periodo_avere += importo;
}
*/
// Modifica del 03-03-95
if ( (data >= _dataini) && (data <= _datafine) )
if ((cau.apertura() && _data_ini_ese != _dataini) ||
(!cau.apertura()))
{
conto_mov = TRUE;
if (sezione == "D")
_mov_periodo_dare += importo;
else _mov_periodo_avere += importo;
}
//il saldo inizio es. e' dato dall'importo dare - importo avere di quei movimenti che hanno causale == apertura e data reg >= data inizio es. e <= data limite sup.
if (_dataini == _data_ini_ese) //calcolo il saldo iniziale
{
if (codcaus == causale_apertura())
//if (codcaus == causale_apertura())
if (cau.apertura())
{
if (sezione == "D")
_saldo_ini_dare += importo;

View File

@ -21,6 +21,13 @@ BEGIN
FLAGS "D"
END
DATE F_DATASTAMPA
BEGIN
PROMPT 4 4 "Data stampa "
HELP "Indicare la data da stampare sul bilancio"
FLAGS "A"
END
NUMBER F_ANNOESE 4
BEGIN
PROMPT 4 5 "Anno esercizio "
@ -88,13 +95,6 @@ BEGIN
MESSAGE COPY,F_TIPOSTAMPA
END
DATE F_DATASTAMPA
BEGIN
PROMPT 4 4 "Data stampa "
HELP "Indicare la data da stampare sul bilancio"
FLAGS "A"
END
TEXT 96
BEGIN
PROMPT 4 9 "Dalla data competenza "
@ -174,12 +174,12 @@ END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
PROMPT -22 -1 ""
END
ENDPAGE

View File

@ -231,7 +231,7 @@ bool TLibro_giornale::read(int y)
for (int err = reg.read(_isgteq); err == NOERR; err = reg.next())
{
if (reg.get("CODTAB").compare(anno, 4) != 0) break;
//if (reg.get("CODTAB").compare(anno, 4) != 0) break;
if (reg.get_int("I0") == libro_giornale)
{
found = TRUE;

View File

@ -78,7 +78,8 @@ class TCausale : public TArray
bool _corrisp;
char _sezione_clifo, _sezione_ritsoc;
protected:
protected:
const TRectype& row(int num) const;
void calcIVA();
@ -111,7 +112,7 @@ public:
char sezione_clifo();
char sezione_ritsoc();
bool read(const char* cod, int year);
virtual bool read(const char* cod, int year);
TCausale(const char* code = "", int year = 0);
virtual ~TCausale() {}

View File

@ -13,8 +13,22 @@
#include <assoc.h>
#include "conto.h"
#include "cg2103.h" // per TCausale
//TLocalisamfile * get_descr_cf(TLocalisamfile * pconti,TLocalisamfile * clifo , int g, int c, long s);
class TCaus : public TCausale
{
private:
TRectype _rec;
public:
bool chiusura() const;
bool apertura() const;
virtual bool read(const char* cod);
TCaus(const char* cod);
~TCaus() {}
};
class TSaldi_list : public TAssoc_array
{

View File

@ -11,10 +11,47 @@
#include <mov.h>
#include <saldi.h>
#include <pconti.h>
#include <causali.h>
#include <clifo.h>
#include "cglib.h"
///////////////////////////////////////////////////////////
// Causale
///////////////////////////////////////////////////////////
TCaus::TCaus(const char* cod)
: _rec(LF_CAUSALI)
{
if (*cod) read(cod);
}
// Legge le righe della causale attualmente selezionata sulla maschera
bool TCaus::read(const char* cod)
{
TLocalisamfile caus(LF_CAUSALI);
_rec = caus.curr(); _rec.zero(); // Delete header
if (*cod > ' ')
{
caus.setkey(1);
caus.put(CAU_CODCAUS, cod);
int err = caus.read();
if (err != NOERR) return FALSE;
_rec = caus.curr();
}
return TRUE;
}
bool TCaus::chiusura() const
{ return _rec.get_char("MOVAP") == 'C'; }
bool TCaus::apertura() const
{ return _rec.get_char("MOVAP") == 'A'; }
// aep e' l'esercizio precedente
TSaldi_list::TSaldi_list(int gr, int co, int aec, int aep)
{
@ -330,7 +367,7 @@ bool TSaldo::data_limite_bilancio(int bilancio, int g, int c, long s, const TDat
TRectype rec(rmov.curr());
for (rmov.read(_isgteq); !rmov.eof(); rmov.next())
{
{
if (rmov.curr() != rec) break;
annoe = rmov.get_int(RMV_ANNOES);
@ -358,11 +395,18 @@ bool TSaldo::data_limite_bilancio(int bilancio, int g, int c, long s, const TDat
// "Se la causale del movimento e' uguale a quella di chiusura,
// o di apertura il movimento non va considerato"
if (_codcaus.not_empty())
if (_codcaus == causale_chiusura_es() ||
_codcaus == causale_apertura_es())
continue;
// if (_codcaus.not_empty())
// if (_codcaus == causale_chiusura_es() ||
// _codcaus == causale_apertura_es())
// continue;
// Modifica del 03-03-1995
TCaus cau(_codcaus);
if (_codcaus.not_empty())
if (cau.chiusura() || cau.apertura())
continue;
//se non e' richiesta stampa mov. provvisori li scarto
if (!stp_prov && _provv.trim().not_empty())
continue;