Corretti ultimi :-) errori della Gabri
git-svn-id: svn://10.65.10.50/trunk@2395 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
aa4c487bb4
commit
b799d17f08
@ -426,6 +426,11 @@ TMask* TPrimanota_application::get_mask(int mode)
|
|||||||
return load_mask(_iva == nessuna_iva ? 1 : 2);
|
return load_mask(_iva == nessuna_iva ? 1 : 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TPrimanota_application::firm_change_enabled() const
|
||||||
|
{
|
||||||
|
const bool ok = _msk[2] == NULL && TRelation_application::firm_change_enabled();
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
void TPrimanota_application::on_firm_change()
|
void TPrimanota_application::on_firm_change()
|
||||||
{
|
{
|
||||||
|
@ -233,6 +233,7 @@ BEGIN
|
|||||||
OUTPUT S_DESCRCONTO DESCR
|
OUTPUT S_DESCRCONTO DESCR
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
VALIDATE REQIF_FUNC 1 S_IMPORTO
|
VALIDATE REQIF_FUNC 1 S_IMPORTO
|
||||||
|
WARNING "Contropartita assente"
|
||||||
GROUP 2
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -261,7 +262,6 @@ BEGIN
|
|||||||
OUTPUT S_CODDESC CODTAB
|
OUTPUT S_CODDESC CODTAB
|
||||||
OUTPUT S_DESCAGG S0
|
OUTPUT S_DESCAGG S0
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
VALIDATE NOT_EMPTY_CHECK_FIELD
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING S_DESCAGG 50
|
STRING S_DESCAGG 50
|
||||||
|
@ -1978,17 +1978,9 @@ bool TPrimanota_application::totdocval_handler(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
app().gioca_cambi();
|
app().gioca_cambi();
|
||||||
|
|
||||||
const TMask& m = f.mask();
|
TMask& m = f.mask();
|
||||||
if (app().is_fattura() && m.insert_mode()) // Se e' una fattura
|
if (app().is_fattura() && m.insert_mode()) // Se e' una fattura
|
||||||
{
|
app().set_scadenze(m);
|
||||||
TPagamento& pag = app().pagamento();
|
|
||||||
const real totval(f.get());
|
|
||||||
const TValuta cambio(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO);
|
|
||||||
const real impostaval = cambio.lit2val(m.get_real(F_IMPOSTE));
|
|
||||||
pag.set_total(totval, impostaval, ZERO);
|
|
||||||
pag.set_rate_auto();
|
|
||||||
pag.set_sheet(app().pags());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -152,6 +152,7 @@ protected: // TRelation_application
|
|||||||
virtual int rewrite(const TMask& m);
|
virtual int rewrite(const TMask& m);
|
||||||
virtual bool remove();
|
virtual bool remove();
|
||||||
virtual void write_enable(bool) {}
|
virtual void write_enable(bool) {}
|
||||||
|
virtual bool firm_change_enabled() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void check_saldi();
|
void check_saldi();
|
||||||
|
@ -376,22 +376,18 @@ bool TPrimanota_application::cambio_handler(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
app().gioca_cambi(0x1); // Forza il ricalcolo del totale in lire
|
app().gioca_cambi(0x1); // Forza il ricalcolo del totale in lire
|
||||||
|
|
||||||
|
TMask& m = f.mask();
|
||||||
if (app().is_fattura())
|
if (app().is_fattura())
|
||||||
{
|
{
|
||||||
TPagamento& pag = app().pagamento();
|
TPagamento& pag = app().pagamento();
|
||||||
const real ex(f.get());
|
const real ex(f.get());
|
||||||
pag.set_cambio(ex); // Aggiorna cambio sul pagamento
|
pag.set_cambio(ex); // Aggiorna cambio sul pagamento
|
||||||
|
|
||||||
TMask& m = f.mask();
|
|
||||||
m.set(FS_CAMBIO, ex); // Copia a pagina 3
|
m.set(FS_CAMBIO, ex); // Copia a pagina 3
|
||||||
|
|
||||||
if (m.insert_mode()) // Ricalcola tutte le rate
|
TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET);
|
||||||
{
|
pag.set_sheet(ps);
|
||||||
pag.set_rate_auto();
|
app().pag_rows() = ps.rows_array();
|
||||||
TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET);
|
|
||||||
pag.set_sheet(ps);
|
|
||||||
app().pag_rows() = ps.rows_array();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -540,19 +536,19 @@ void TPrimanota_application::set_scadenze(TMask& m)
|
|||||||
|
|
||||||
real imponibile, imposta;
|
real imponibile, imposta;
|
||||||
const real spese(0.0);
|
const real spese(0.0);
|
||||||
const real cambio(m.get(SK_CAMBIO));
|
|
||||||
|
|
||||||
TPagamento& pag = pagamento();
|
TPagamento& pag = pagamento();
|
||||||
if (cambio <= 1.0)
|
pag.set_cambio(m.get_real(SK_CAMBIO));
|
||||||
|
|
||||||
|
if (pag.in_valuta())
|
||||||
{
|
{
|
||||||
imposta = m.get_real(F_IMPOSTE);
|
imposta = m.get_real(F_IMPOSTE) / pag.cambio(); imposta.round(3);
|
||||||
imponibile = m.get_real(F_TOTALE) - imposta;
|
imponibile = m.get_real(SK_TOTDOCVAL) - imposta;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pag.set_cambio(cambio);
|
imposta = m.get_real(F_IMPOSTE);
|
||||||
imponibile = m.get_real(SK_TOTDOCVAL);
|
imponibile = m.get_real(F_TOTALE) - imposta;
|
||||||
imposta = ZERO;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m.field(FS_RECALC).enabled())
|
if (m.field(FS_RECALC).enabled())
|
||||||
@ -618,17 +614,17 @@ bool TPrimanota_application::read_scadenze(TMask& m)
|
|||||||
real spese(0.0);
|
real spese(0.0);
|
||||||
if (in_valuta)
|
if (in_valuta)
|
||||||
{
|
{
|
||||||
cambio.lit2val(imposta);
|
cambio.lit2val(imposta); // Converte in valuta imposte e spese
|
||||||
cambio.lit2val(spese);
|
cambio.lit2val(spese);
|
||||||
}
|
}
|
||||||
imponibile -= imposta;
|
imponibile -= imposta; // Nel pagamento il totale deve essere senza imposta
|
||||||
|
|
||||||
pag.set_total(imponibile, imposta, spese);
|
pag.set_total(imponibile, imposta, spese);
|
||||||
|
|
||||||
TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET);
|
TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET);
|
||||||
|
|
||||||
pag.zap_rate();
|
pag.zap_rate(); // Azzera pagamento
|
||||||
for (int i = partita.rate(); i > 0; i--)
|
for (int i = 1; i <= partita.rate(); i++) // E' necessario andare in avanti!!!
|
||||||
{
|
{
|
||||||
const TRiga_scadenze& scadenza = partita.rata(i);
|
const TRiga_scadenze& scadenza = partita.rata(i);
|
||||||
real importo = scadenza.get(SCAD_IMPORTO);
|
real importo = scadenza.get(SCAD_IMPORTO);
|
||||||
@ -682,14 +678,9 @@ void TPrimanota_application::write_scadenze(const TMask& m)
|
|||||||
|
|
||||||
if (anno > 0 && !numpart.blank())
|
if (anno > 0 && !numpart.blank())
|
||||||
{
|
{
|
||||||
const TString ndoc(m.get(F_NUMDOC));
|
|
||||||
const int tmov = causale().tipomov();
|
const int tmov = causale().tipomov();
|
||||||
const TDate ddoc(m.get(F_DATADOC));
|
|
||||||
const TDate dreg(m.get(F_DATAREG));
|
|
||||||
const TString reg (causale().reg().name());
|
|
||||||
const TString desc(m.get(F_DESCR));
|
const TString desc(m.get(F_DESCR));
|
||||||
const TString codpag(m.get(F_CODPAG));
|
const TString codpag(m.get(F_CODPAG));
|
||||||
const long protiva = m.get_long(F_PROTIVA);
|
|
||||||
const TString codcaus(causale().codice());
|
const TString codcaus(causale().codice());
|
||||||
const TValuta cambio (m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO);
|
const TValuta cambio (m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO);
|
||||||
const TString agente (m.get(FS_AGENTE));
|
const TString agente (m.get(FS_AGENTE));
|
||||||
@ -706,13 +697,13 @@ void TPrimanota_application::write_scadenze(const TMask& m)
|
|||||||
partita.put(PART_TIPOMOV, tmov);
|
partita.put(PART_TIPOMOV, tmov);
|
||||||
partita.put(PART_NREG, nreg);
|
partita.put(PART_NREG, nreg);
|
||||||
partita.put(PART_NUMRIG, 1);
|
partita.put(PART_NUMRIG, 1);
|
||||||
partita.put(PART_DATAREG, dreg);
|
partita.put(PART_DATAREG, m.get(F_DATAREG));
|
||||||
partita.put(PART_DATADOC, ddoc);
|
partita.put(PART_DATADOC, m.get(F_DATADOC));
|
||||||
partita.put(PART_NUMDOC, ndoc);
|
partita.put(PART_NUMDOC, m.get(F_NUMDOC));
|
||||||
partita.put(PART_DESCR, desc);
|
partita.put(PART_DESCR, desc);
|
||||||
partita.put(PART_CODCAUS, codcaus);
|
partita.put(PART_CODCAUS, codcaus);
|
||||||
partita.put(PART_REG, reg);
|
partita.put(PART_REG, causale().reg().name());
|
||||||
partita.put(PART_PROTIVA, protiva);
|
partita.put(PART_PROTIVA, m.get_long(F_PROTIVA));
|
||||||
partita.put(PART_SEZ, sezione);
|
partita.put(PART_SEZ, sezione);
|
||||||
partita.put(PART_IMPTOTDOC, m.get(F_TOTALE));
|
partita.put(PART_IMPTOTDOC, m.get(F_TOTALE));
|
||||||
cambio.put(partita);
|
cambio.put(partita);
|
||||||
|
@ -27,7 +27,7 @@ protected:
|
|||||||
static bool importolire_handler(TMask_field& f, KEY k);
|
static bool importolire_handler(TMask_field& f, KEY k);
|
||||||
static bool cambio_handler(TMask_field& f, KEY k);
|
static bool cambio_handler(TMask_field& f, KEY k);
|
||||||
static bool datapag_handler(TMask_field& f, KEY k);
|
static bool datapag_handler(TMask_field& f, KEY k);
|
||||||
|
static bool conto_handler(TMask_field& f, KEY k);
|
||||||
void gioca_cambi(int force = 0x0);
|
void gioca_cambi(int force = 0x0);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -147,7 +147,9 @@ void TPay_mask::set_pag(const TRectype& oldpag, const TRiga_scadenze& scad,
|
|||||||
disable(-4);
|
disable(-4);
|
||||||
|
|
||||||
_datadoc = sum.get_date(PART_DATADOC);
|
_datadoc = sum.get_date(PART_DATADOC);
|
||||||
set_handler(S_DATAPAG, datapag_handler);
|
set_handler(S_DATAPAG, datapag_handler);
|
||||||
|
set_handler(S_GRUPPO, conto_handler);
|
||||||
|
set_handler(S_CONTO, conto_handler);
|
||||||
|
|
||||||
const bool mostra_conto = !sum.is_nota_credito();
|
const bool mostra_conto = !sum.is_nota_credito();
|
||||||
#endif
|
#endif
|
||||||
@ -276,6 +278,20 @@ bool TPay_mask::datapag_handler(TMask_field& f, KEY k)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TPay_mask::conto_handler(TMask_field& f, KEY k)
|
||||||
|
{
|
||||||
|
if (k == K_TAB && f.focusdirty())
|
||||||
|
{
|
||||||
|
TMask& m = f.mask();
|
||||||
|
TBill conto; conto.get(m, S_GRUPPO, S_CONTO, S_SOTTOCONTO);
|
||||||
|
const TString& desc = conto.descrizione();
|
||||||
|
if (desc.empty())
|
||||||
|
m.reset(S_SOTTOCONTO);
|
||||||
|
m.set(S_DESCRCONTO, desc);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// Maschera partite
|
// Maschera partite
|
||||||
@ -1433,10 +1449,6 @@ bool TGame_mask::edit_pagamento(TPartita& p, int nriga, int nrata, int nrigp) co
|
|||||||
|
|
||||||
bool TPrimanota_application::edit_partite(const TMask& m, int riga)
|
bool TPrimanota_application::edit_partite(const TMask& m, int riga)
|
||||||
{
|
{
|
||||||
const TImporto imp = get_cgs_imp(riga);
|
|
||||||
if (imp.is_zero()) // Esci se importo e' nullo
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
const char tipo = m.get(103)[0];
|
const char tipo = m.get(103)[0];
|
||||||
const int gruppo = m.get_int(104);
|
const int gruppo = m.get_int(104);
|
||||||
const int conto = m.get_int(105);
|
const int conto = m.get_int(105);
|
||||||
|
41
cg/conto.cpp
41
cg/conto.cpp
@ -2,6 +2,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include <isam.h>
|
#include <isam.h>
|
||||||
|
#include <mask.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
|
|
||||||
#include "conto.h"
|
#include "conto.h"
|
||||||
@ -126,6 +127,34 @@ bool TBill::get(const TRectype& r, bool c)
|
|||||||
return ok();
|
return ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TBill::set(TMask& m, short g, short c, short s, short t, short d) const
|
||||||
|
{
|
||||||
|
m.set(g, gruppo());
|
||||||
|
m.set(c, conto());
|
||||||
|
m.set(s, sottoconto());
|
||||||
|
if (t)
|
||||||
|
{
|
||||||
|
char typ[2] = { tipo(), '\0' };
|
||||||
|
m.set(t, typ);
|
||||||
|
}
|
||||||
|
if (d)
|
||||||
|
m.set(d, ((TBill*)this)->descrizione());
|
||||||
|
}
|
||||||
|
|
||||||
|
void TBill::get(const TMask& m, short g, short c, short s, short t, short d)
|
||||||
|
{
|
||||||
|
const int gr = m.get_int(g);
|
||||||
|
const int co = m.get_int(c);
|
||||||
|
const long so = m.get_long(s);
|
||||||
|
char ti = ' ';
|
||||||
|
if (t)
|
||||||
|
ti = m.get(t)[0];
|
||||||
|
TString80 de;
|
||||||
|
if (d)
|
||||||
|
de = m.get(d);
|
||||||
|
set(gr, co, so, ti, de);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Certified 100%
|
// Certified 100%
|
||||||
bool TBill::ok() const
|
bool TBill::ok() const
|
||||||
@ -182,7 +211,7 @@ bool TBill::find()
|
|||||||
_sospeso = clifo.get_bool("SOSPESO");
|
_sospeso = clifo.get_bool("SOSPESO");
|
||||||
|
|
||||||
const char tipoa = clifo.get_char("TIPOAPER");
|
const char tipoa = clifo.get_char("TIPOAPER");
|
||||||
if (tipoa == 'F')
|
if (tipoa == 'F') // Se persona fisica allora aggiusta la ragione sociale
|
||||||
{
|
{
|
||||||
TString nome(_descrizione.mid(30));
|
TString nome(_descrizione.mid(30));
|
||||||
if (nome.not_empty())
|
if (nome.not_empty())
|
||||||
@ -206,8 +235,7 @@ bool TBill::find()
|
|||||||
|
|
||||||
bool TBill::read(TRectype &r)
|
bool TBill::read(TRectype &r)
|
||||||
{
|
{
|
||||||
TLocalisamfile pcon(LF_PCON, FALSE);
|
TLocalisamfile pcon(LF_PCON);
|
||||||
pcon.setkey(1);
|
|
||||||
pcon.put("GRUPPO", _gruppo);
|
pcon.put("GRUPPO", _gruppo);
|
||||||
pcon.put("CONTO", _conto);
|
pcon.put("CONTO", _conto);
|
||||||
pcon.put("SOTTOCONTO", _sottoconto);
|
pcon.put("SOTTOCONTO", _sottoconto);
|
||||||
@ -246,12 +274,13 @@ int TBill::tipo_att()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Certified 99%
|
// Certified 99%
|
||||||
const TString& TBill::descrizione()
|
const TString& TBill::descrizione() const
|
||||||
{
|
{
|
||||||
if (_descrizione.empty() && !empty())
|
if (_descrizione.empty() && !empty())
|
||||||
{
|
{
|
||||||
if (!find())
|
TBill& myself = (TBill&)*this;
|
||||||
_descrizione = "Sconosciuto";
|
if (!myself.find())
|
||||||
|
myself._descrizione = "Sconosciuto";
|
||||||
}
|
}
|
||||||
return _descrizione;
|
return _descrizione;
|
||||||
}
|
}
|
||||||
|
12
cg/conto.h
12
cg/conto.h
@ -2,9 +2,14 @@
|
|||||||
#define __CONTO_H
|
#define __CONTO_H
|
||||||
|
|
||||||
#ifndef __ISAM_H
|
#ifndef __ISAM_H
|
||||||
#include <isam.h>
|
class TRectype;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __MASK_H
|
||||||
|
class TMask;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
class TBill : public TSortable
|
class TBill : public TSortable
|
||||||
{
|
{
|
||||||
char _tipo; // ' ' = Conto, 'C' = Cliente, 'F' = 'Fornitore'
|
char _tipo; // ' ' = Conto, 'C' = Cliente, 'F' = 'Fornitore'
|
||||||
@ -47,7 +52,7 @@ public:
|
|||||||
long codclifo() const { return _sottoconto; }
|
long codclifo() const { return _sottoconto; }
|
||||||
|
|
||||||
bool find();
|
bool find();
|
||||||
const TString& descrizione();
|
const TString& descrizione() const;
|
||||||
int tipo_cr();
|
int tipo_cr();
|
||||||
void tipo_cr(int tcr) { _tipo_cr = tcr; }
|
void tipo_cr(int tcr) { _tipo_cr = tcr; }
|
||||||
|
|
||||||
@ -59,6 +64,9 @@ public:
|
|||||||
void put(TRectype& r, bool contro = FALSE) const;
|
void put(TRectype& r, bool contro = FALSE) const;
|
||||||
bool get(const TRectype& r, bool contro = FALSE);
|
bool get(const TRectype& r, bool contro = FALSE);
|
||||||
|
|
||||||
|
void set(TMask& m, short g, short c, short s, short t = 0, short d = 0) const;
|
||||||
|
void get(const TMask& m, short g, short c, short s, short t = 0, short d = 0);
|
||||||
|
|
||||||
const char* string(int mode = 0);
|
const char* string(int mode = 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -326,25 +326,63 @@ void TPagamento::set_numero_rate(int n, int sscad, int rdiff)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TPagamento::set_cambio(const real& cambio)
|
void TPagamento::set_cambio(const real& cambio)
|
||||||
{
|
{
|
||||||
|
const bool era_valuta = _cambio != 1.0;
|
||||||
|
|
||||||
if (cambio.sign() <= 0)
|
if (cambio.sign() <= 0)
|
||||||
_cambio = 1.0;
|
_cambio = 1.0;
|
||||||
else
|
else
|
||||||
_cambio = cambio;
|
_cambio = cambio;
|
||||||
set_round(_cambio == 1.0 ? 0 : 3);
|
|
||||||
|
|
||||||
const bool in_valuta = _cambio != 1.0;
|
const bool in_valuta = _cambio != 1.0;
|
||||||
real lit;
|
set_round(in_valuta ? 3 : 0); // Ricalcola arrotondamento
|
||||||
for (int i = _rate.items()-1; i >= 0; i--)
|
|
||||||
|
real imp; // Importo di parcheggio
|
||||||
|
|
||||||
|
if (era_valuta)
|
||||||
{
|
{
|
||||||
TToken_string& row = (TToken_string&)_rate[i];
|
for (int i = _rate.items()-1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
TToken_string& row = (TToken_string&)_rate[i];
|
||||||
|
if (in_valuta)
|
||||||
|
{
|
||||||
|
imp = tpay_rata(i) * _cambio; imp.round(0);
|
||||||
|
row.add(imp.string(), 7);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
imp = tlit_rata(i);
|
||||||
|
row.add(imp.string(), 4);
|
||||||
|
row.add("", 7);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!in_valuta)
|
||||||
|
{
|
||||||
|
real imponibile = _imponibile * _cambio; imponibile.round(_round);
|
||||||
|
real imposta = _imposta * _cambio; imposta.round(_round);
|
||||||
|
real spese = _spese * _cambio; spese.round(_round);
|
||||||
|
set_total(imponibile, imposta, spese);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if (in_valuta)
|
if (in_valuta)
|
||||||
{
|
{
|
||||||
lit = tpay_rata(i) * _cambio;
|
for (int i = _rate.items()-1; i >= 0; i--)
|
||||||
row.add(lit.string(), 7);
|
{
|
||||||
|
TToken_string& row = (TToken_string&)_rate[i];
|
||||||
|
imp = tpay_rata(i);
|
||||||
|
row.add(imp.string(), 7);
|
||||||
|
imp /= cambio; imp.round(_round);
|
||||||
|
row.add(imp.string() , 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
real imponibile = _imponibile / _cambio; imponibile.round(_round);
|
||||||
|
real imposta = _imposta / _cambio; imposta.round(_round);
|
||||||
|
real spese = _spese / _cambio; spese.round(_round);
|
||||||
|
set_total(imponibile, imposta, spese);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
row.add("", 7);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -640,8 +678,9 @@ void TPagamento::strerr(word err, TString& s)
|
|||||||
real imp;
|
real imp;
|
||||||
for (int i = 0; i < n_rate(); i++)
|
for (int i = 0; i < n_rate(); i++)
|
||||||
imp += tpay_rata(i);
|
imp += tpay_rata(i);
|
||||||
s << "La somma degli importi (" << imp.string(".");
|
const char pic[3] = { '.', _round, '\0' };
|
||||||
s << ") e' diversa dal totale del pagamento (" << tot.string(".") << ")\n";
|
s << "La somma degli importi (" << imp.string(pic);
|
||||||
|
s << ") e' diversa dal totale del pagamento (" << tot.string(pic) << ")\n";
|
||||||
}
|
}
|
||||||
if (err & P_MCOMM)
|
if (err & P_MCOMM)
|
||||||
s << "Scadenze incompatibili con il mese commerciale\n";
|
s << "Scadenze incompatibili con il mese commerciale\n";
|
||||||
@ -1497,7 +1536,7 @@ void TPagamento::set_sheet(TSheet_field& sf, int sscad)
|
|||||||
|
|
||||||
if (_inited)
|
if (_inited)
|
||||||
{
|
{
|
||||||
const bool in_valuta = _cambio > 1.0;
|
const bool in_valuta = _cambio != 1.0;
|
||||||
|
|
||||||
// si istanzia uno sheet di primanota
|
// si istanzia uno sheet di primanota
|
||||||
for (int i = 0; i < n_rate(); i++)
|
for (int i = 0; i < n_rate(); i++)
|
||||||
@ -1534,7 +1573,7 @@ void TPagamento::set_sheet(TSheet_field& sf, int sscad)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sf.destroy();
|
sf.reset();
|
||||||
for (int i = 0, scr = 0; i < n_rate(); i++)
|
for (int i = 0, scr = 0; i < n_rate(); i++)
|
||||||
{
|
{
|
||||||
TToken_string& s = sf.row(-1);
|
TToken_string& s = sf.row(-1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user