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:
parent
2b27fb4ab7
commit
3ebeb19440
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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() {}
|
||||
|
16
cg/cglib.h
16
cg/cglib.h
@ -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
|
||||
{
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user