Patch level :4.0 nopatch x ora
Files correlati :cg7.exe Ricompilazione Demo : [ ] Commento :tentativo di correggere errori enrichettici git-svn-id: svn://10.65.10.50/trunk@14744 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8b83c40d57
commit
b86c25b722
@ -258,6 +258,7 @@ class TInvioP : public TSkeleton_application
|
||||
TDate _dataini, _datafin;
|
||||
long _nregcosto, _nregpag;
|
||||
real _importo;
|
||||
char _accsal;
|
||||
TConfig* _configfile;
|
||||
TAssoc_array _fiscali,_sociali, _costi, _pagamenti; //array che contengono i conti
|
||||
|
||||
@ -288,9 +289,10 @@ protected:
|
||||
real& imponibile, real& totdoc, real& totpagato) const;
|
||||
|
||||
public:
|
||||
const real get_importo() {return _importo;};
|
||||
const long get_nregcosto() const {return _nregcosto;};
|
||||
const long get_nregpag() const {return _nregpag;};
|
||||
const real get_importo() {return _importo;}
|
||||
const long get_nregcosto() const {return _nregcosto;}
|
||||
const long get_nregpag() const {return _nregpag;}
|
||||
const char get_accsal() const {return _accsal;}
|
||||
const TString& get_vocespesa(const TString& zio) const;
|
||||
TInvioP_file* apri_file(const char* nome);
|
||||
void chiudi_file(TInvioP_file* trasfile);
|
||||
@ -333,10 +335,7 @@ void TInvioP_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TS
|
||||
}
|
||||
else if (code == "_FLAG")
|
||||
{
|
||||
bool chiusa = true;
|
||||
if (cur.file().num() == LF_PAGSCA)
|
||||
chiusa = cur.curr().get_char(PAGSCA_ACCSAL) == 'S';
|
||||
if (chiusa)
|
||||
if (app().get_accsal() == 'S')
|
||||
valore = "S";
|
||||
else
|
||||
valore = "A";
|
||||
@ -1150,6 +1149,11 @@ long TInvioP::calcola_fattura_originale(long nreg) const
|
||||
return nreg;
|
||||
}
|
||||
|
||||
struct TPay_info : public TObject
|
||||
{
|
||||
real _somma;
|
||||
char _accsal;
|
||||
};
|
||||
|
||||
bool TInvioP::i_proforma_pagamenti()
|
||||
{
|
||||
@ -1221,18 +1225,22 @@ bool TInvioP::i_proforma_pagamenti()
|
||||
TString80 indice = curpag_rec.get(PAGSCA_ANNO);
|
||||
indice << '|' << curpag_rec.get(PAGSCA_NUMPART);
|
||||
indice << '|' << curpag_rec.get(PAGSCA_NRIGA);
|
||||
real importo = ZERO;
|
||||
bool is_key = pagame.is_key(indice);
|
||||
real& somma = is_key ? (real&) pagame[indice] : importo;
|
||||
|
||||
TPay_info* pi = (TPay_info*)pagame.objptr(indice);
|
||||
if (pi == NULL)
|
||||
{
|
||||
pi = new TPay_info;
|
||||
pi->_accsal = 'A';
|
||||
pagame.add(indice, pi);
|
||||
}
|
||||
const real importo_pagato = calcola_pagamento(curpag_rec); //aggiunta nuova!!!
|
||||
somma += importo_pagato;
|
||||
if (!is_key)
|
||||
pagame.add(indice, somma);
|
||||
pi->_somma += importo_pagato;
|
||||
if (curpag_rec.get_char(PAGSCA_ACCSAL) == 'S')
|
||||
pi->_accsal = 'S';
|
||||
}
|
||||
|
||||
// scrivo i record risultanti
|
||||
real* cp;
|
||||
for (cp = (real*) pagame.first_item(); cp != NULL; cp = (real*) pagame.succ_item())
|
||||
for (TPay_info* pi = (TPay_info*)pagame.first_item(); pi != NULL; pi = (TPay_info*)pagame.succ_item())
|
||||
{
|
||||
TToken_string keypart;
|
||||
keypart.add(curpart_rec.get(PART_TIPOCF));
|
||||
@ -1245,7 +1253,8 @@ bool TInvioP::i_proforma_pagamenti()
|
||||
//deve cercare la prima registrazione da cui deriva il pagamento..
|
||||
const long nregfatt = fattura.get_long(PART_NREG);
|
||||
_nregcosto = calcola_fattura_originale(nregfatt);
|
||||
_importo = *cp;
|
||||
_importo = pi->_somma;
|
||||
_accsal = pi->_accsal;
|
||||
|
||||
TRecord_text recpag;
|
||||
recpag.set_type("G");
|
||||
|
Loading…
x
Reference in New Issue
Block a user