Patch level : 10.0

Files correlati     : fe0.exe
Ricompilazione Demo : [ ]
Commento            :
Corretta associazione indebita di note di variazione a fatture senza numero


git-svn-id: svn://10.65.10.50/branches/R_10_00@22553 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2012-01-19 11:28:02 +00:00
parent 4bc5536405
commit dd9ebf7152

View File

@ -254,7 +254,7 @@ bool TContratto::init(const TRectype& rec)
real importo = _rec.get("R0"); real importo = _rec.get("R0");
if (importo <= ZERO) if (importo <= ZERO)
{ {
importo = primo_anno > 2010 ? 3000 : 25000; importo = importo_limite(primo_anno);
_rec.put("R0", importo); _rec.put("R0", importo);
} }
} }
@ -396,7 +396,9 @@ TExclusion_mode TDati_rilevanti_array::add(const TRectype& alleg, bool send_all,
new_mode = (imp < importo_limite(anno)) ? em_importo_limite : em_incluso; new_mode = (imp < importo_limite(anno)) ? em_importo_limite : em_incluso;
} }
if (ignora != new_mode) if (ignora != new_mode)
{
((TRectype&)alleg).put(ALL_IGNORA, ignora = new_mode); ((TRectype&)alleg).put(ALL_IGNORA, ignora = new_mode);
}
} }
} }
@ -552,6 +554,7 @@ TExclusion_mode TDati_rilevanti_msk::segnala_movimento(const TRectype& mov, TExc
msg.format(FR("Mov. %7ld %s %s: "), numreg, msg.format(FR("Mov. %7ld %s %s: "), numreg,
tipocf=='F' ? TR("For.") : TR("Cli."), (const char*)a.ragione_sociale()); tipocf=='F' ? TR("For.") : TR("Cli."), (const char*)a.ragione_sociale());
msg << mode2string(motivo); msg << mode2string(motivo);
msg.strip_double_spaces();
_log->log(1, msg); _log->log(1, msg);
} }
} }
@ -775,12 +778,14 @@ bool TDati_rilevanti_msk::controlla_mov(TRectype& mrec) const
{ {
msg.format(FR("Nota n. %ld di %s associata al doc. %s del %s"), msg.format(FR("Nota n. %ld di %s associata al doc. %s del %s"),
numreg, (const char*)a.ragione_sociale(), (const char*)numrett, datarett.string()); numreg, (const char*)a.ragione_sociale(), (const char*)numrett, datarett.string());
msg.strip_double_spaces();
_log->log(0, msg); _log->log(0, msg);
} }
else else
{ {
msg.format(FR("Nota n. %ld di %s non associata ad una fattura"), msg.format(FR("Nota n. %ld di %s non associata ad una fattura"),
numreg, (const char*)a.ragione_sociale()); numreg, (const char*)a.ragione_sociale());
msg.strip_double_spaces();
_log->log(1, msg); _log->log(1, msg);
} }
} }
@ -797,6 +802,15 @@ bool TDati_rilevanti_msk::controlla_mov(TRectype& mrec) const
mrec.zero(MOV_NUMRETT); mrec.zero(MOV_NUMRETT);
update = true; // Peccato veniale update = true; // Peccato veniale
} }
if (mrec.get(MOV_NUMDOC).blank() || mrec.get(MOV_DATADOC).blank())
{
const TAnagrafica a(mrec);
TString msg;
msg.format(FR("Movimento n. %ld di %s privo di numero o data documento"),
numreg, (const char*)a.ragione_sociale());
_log->log(1, msg);
}
} }
if (old_modpag != new_modpag) if (old_modpag != new_modpag)
{ {
@ -806,6 +820,7 @@ bool TDati_rilevanti_msk::controlla_mov(TRectype& mrec) const
TString msg; TString msg;
msg.format(FR("Movimento n. %ld di %s con modalità di pagamento incongruente: %d->%d"), msg.format(FR("Movimento n. %ld di %s con modalità di pagamento incongruente: %d->%d"),
numreg, (const char*)a.ragione_sociale(), old_modpag, new_modpag); numreg, (const char*)a.ragione_sociale(), old_modpag, new_modpag);
msg.strip_double_spaces();
_log->log(0, msg); _log->log(0, msg);
} }
mrec.put(MOV_MODPAG, new_modpag); mrec.put(MOV_MODPAG, new_modpag);
@ -1001,8 +1016,8 @@ void TDati_rilevanti_msk::collega_variazioni() const
{ {
const int anno = get_int(F_ANNO); const int anno = get_int(F_ANNO);
TString query; TString query;
query << "USE ALLEG KEY 2 SELECT IGNORA<=" << int(em_importo_limite); query << "USE ALLEG KEY 2 SELECT (STR(IGNORA<=" << int(em_importo_limite) << "))&&(NUMDOC!=\"\")";
query << "\nJOIN ALLEG KEY 3 ALIAS 220 INTO ANNO=ANNO TIPOCF=TIPOCF CODCF==CODCF NUMRETT=NUMDOC"; query << "\nJOIN ALLEG KEY 3 ALIAS 220 INTO ANNO=ANNO TIPOCF=TIPOCF CODCF==CODCF NUMRETT==NUMDOC";
query << "\nFROM ANNO=" << anno << "\nTO ANNO=" << anno; query << "\nFROM ANNO=" << anno << "\nTO ANNO=" << anno;
TISAM_recordset fatture(query); TISAM_recordset fatture(query);