Patch level : 12.0 1174

Files correlati     : fp0.exe

Commento:
Se c'erano due aliquote uguali ne spediva una sola.
This commit is contained in:
Alessandro Bonazzi 2022-06-22 11:50:24 +02:00
parent 4f30c582b6
commit 906f2d6a88
2 changed files with 9 additions and 8 deletions

View File

@ -94,7 +94,8 @@ public:
TString& update_string(); TString& update_string();
TString& filter_string(); TString& filter_string();
bool update(); bool update();
bool insert(); bool insert(bool force = false);
bool force_insert();
TString& remove_string(bool id_riga = false); TString& remove_string(bool id_riga = false);
bool remove(); bool remove();
bool search(); bool search();
@ -517,7 +518,7 @@ private:
const TRectype* find_parent_row(const TRectype& rdoc) const; const TRectype* find_parent_row(const TRectype& rdoc) const;
int find_ancestors(const TRiga_documento& rdoc, TArray& ancestors) const; int find_ancestors(const TRiga_documento& rdoc, TArray& ancestors) const;
bool insert(TPaf_record& p); bool insert(TPaf_record& p, bool force = false);
bool remove(TPaf_record& p); bool remove(TPaf_record& p);
void reset(TPaf_record& p) const { TPaf_container::set_keys_paf(p, _hfatt, _bfatt); } void reset(TPaf_record& p) const { TPaf_container::set_keys_paf(p, _hfatt, _bfatt); }
bool save_paf(); bool save_paf();

View File

@ -678,9 +678,9 @@ TString & TPaf_record::filter_string()
} }
// Aggiunge un record al db // Aggiunge un record al db
bool TPaf_record::insert() bool TPaf_record::insert(bool force)
{ {
if (search()) if (!force && search())
return update(); return update();
else else
return fp_db().sq_set_exec(insert_string(), false); return fp_db().sq_set_exec(insert_string(), false);
@ -1148,7 +1148,7 @@ int TDoc_fp::find_ancestors(const TRiga_documento& rdoc, TArray& ancestors) cons
return ancestors.items(); return ancestors.items();
} }
bool TDoc_fp::insert(TPaf_record& p) bool TDoc_fp::insert(TPaf_record& p, bool force)
{ {
bool ok = true; bool ok = true;
@ -1156,7 +1156,7 @@ bool TDoc_fp::insert(TPaf_record& p)
_query.add(p.insert_string()); _query.add(p.insert_string());
else else
{ {
ok = p.insert(); ok = p.insert(force);
if (!ok) if (!ok)
{ {
_log.log(2, fp_db().sq_get_token_text_error(1)); _log.log(2, fp_db().sq_get_token_text_error(1));
@ -1599,7 +1599,7 @@ bool TDoc_fp::add_riepilogo_iva(TPaf_record& paf2200f, const TCodiceIVA& cod_iva
// Elimino l'oggetto // Elimino l'oggetto
_riepilogo_agg.erase(cod_aliquota); _riepilogo_agg.erase(cod_aliquota);
// Inserisco // Inserisco
return insert(paf2200f); return insert(paf2200f, true);
} }
bool TDoc_fp::add_cassa_previdenziale(TRiga_documento& rdoc) bool TDoc_fp::add_cassa_previdenziale(TRiga_documento& rdoc)
@ -1952,7 +1952,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
// <DatiGenerali> // <DatiGenerali>
TPaf_record& paf0700f = _paf_container.get_paf("PAF0700F"); TPaf_record& paf0700f = _paf_container.get_paf("PAF0700F");
paf0700f.set("P7_TIPODOC", tipo_doc_sdi(doc)); paf0700f.set("P7_TIPODOC", tipo_doc_sdi(doc));
paf0700f.set("P7_DIVISA", "EUR"); // Fisso su euro in quanto effettuiamo il cambio paf0700f.set("P7_DIVISA", "EUR"); // Fisso su euro in quanto effettuiamo il cambio
TDate data = doc.data(); TDate data = doc.data();
paf0700f.set("P7_DATA", doc.data()); paf0700f.set("P7_DATA", doc.data());