Patch level : nopatch

Files correlati     :
Commento        :

Sviluppo  TD16-17-18.... modulo FP

Interno :
Controllare campo 2.1.1.3 P7_DATA sembra la data registrazione dagli appunti
Controllare se  provvisorio può essre anche blank saberre più comodo
Controllare 2.1.6
Riverificare l'invio fatture fatture
This commit is contained in:
Alessandro Bonazzi 2021-12-08 21:11:20 +01:00
parent 9aa07231c3
commit c7d5a79111
3 changed files with 132 additions and 32 deletions

View File

@ -126,12 +126,14 @@ void TPAR_mask::fill()
TPaf_record paf0100f("PAF0100F"); TPaf_record paf0100f("PAF0100F");
TSheet_field& regs = sfield(F_REGS); TSheet_field& regs = sfield(F_REGS);
TString query; TString query;
const bool provvisorio = get_bool(F_PROVVISORIO);
enable(DLG_OK, filter_selected.empty() || filter_selected == "E"); enable(DLG_OK, filter_selected.empty() || filter_selected == "E");
enable(DLG_SAVEREC, (is_f8() && filter_selected == "X") || filter_selected == "D"); enable(DLG_SAVEREC, (is_f8() && filter_selected == "X") || filter_selected == "D");
enable(DLG_FINDREC, filter_selected == "D"); enable(DLG_FINDREC, filter_selected == "D");
enable(DLG_PRINT, _enable_chiave_fixer && filter_selected.empty()); enable(DLG_PRINT, _enable_chiave_fixer && filter_selected.empty());
regs.enable_column(S_ONLYGEN, !provvisorio); // che regola si usa ??
/* /*
VECCHIA QUERY VECCHIA QUERY
@ -197,7 +199,7 @@ void TPAR_mask::fill()
regs.set_row_cell(S_TIPODOC, rec.get_string(MOV_TIPODOC), r); regs.set_row_cell(S_TIPODOC, rec.get_string(MOV_TIPODOC), r);
// non c'è ? TString cod_ind_sped = rec.get(DOC_CODINDSP).as_string(); // non c'è ? TString cod_ind_sped = rec.get(DOC_CODINDSP).as_string();
TString rif = get_dest_sdi(rec.get_string(CFV_TIPOCF)[0], rec.get_long(CFV_CODCF), EMPTY_STRING); TString rif = get_dest_sdi(rec.get_string(MOV_TIPO)[0], rec.get_long(MOV_CODCF), EMPTY_STRING);
// Se è ancora vuoto potrebbe essere estero // Se è ancora vuoto potrebbe essere estero
if (rif.empty()) if (rif.empty())
@ -229,7 +231,8 @@ void TPAR_mask::fill()
} }
regs.set_row_cell(S_SPLITPAY, split, r); regs.set_row_cell(S_SPLITPAY, split, r);
regs.set_row_cell(S_ATTACH, false, r); // verificare regs.set_row_cell(S_ATTACH, false, r); // verificare
regs.set_row_cell(S_ONLYGEN, get_bool(F_PROVVISORIO), r); // verificare if (provvisorio)
regs.set_row_cell(S_ONLYGEN, false, r);
} }
regs.force_update(); regs.force_update();
@ -358,6 +361,7 @@ void TPAR_mask::connect_keys()
"UPDATE PAF1000F SET P0_KEYHEADERFATT = '" << campo_hfatt << "', P0_KEYBODYFATT = '" << campo_bfatt << "' WHERE P0_KEYPRGINVIO = '" << db_prginv << "' AND P0_KEYHEADERFATT = '" << db_hfatt << "' AND P0_KEYBODYFATT = '" << db_bfatt << "'\n" << "UPDATE PAF1000F SET P0_KEYHEADERFATT = '" << campo_hfatt << "', P0_KEYBODYFATT = '" << campo_bfatt << "' WHERE P0_KEYPRGINVIO = '" << db_prginv << "' AND P0_KEYHEADERFATT = '" << db_hfatt << "' AND P0_KEYBODYFATT = '" << db_bfatt << "'\n" <<
"UPDATE PAF1100F SET PA_KEYHEADERFATT = '" << campo_hfatt << "', PA_KEYBODYFATT = '" << campo_bfatt << "' WHERE PA_KEYPRGINVIO = '" << db_prginv << "' AND PA_KEYHEADERFATT = '" << db_hfatt << "' AND PA_KEYBODYFATT = '" << db_bfatt << "'\n" << "UPDATE PAF1100F SET PA_KEYHEADERFATT = '" << campo_hfatt << "', PA_KEYBODYFATT = '" << campo_bfatt << "' WHERE PA_KEYPRGINVIO = '" << db_prginv << "' AND PA_KEYHEADERFATT = '" << db_hfatt << "' AND PA_KEYBODYFATT = '" << db_bfatt << "'\n" <<
"UPDATE PAF1200F SET PB_KEYHEADERFATT = '" << campo_hfatt << "', PB_KEYBODYFATT = '" << campo_bfatt << "' WHERE PB_KEYPRGINVIO = '" << db_prginv << "' AND PB_KEYHEADERFATT = '" << db_hfatt << "' AND PB_KEYBODYFATT = '" << db_bfatt << "'\n" << "UPDATE PAF1200F SET PB_KEYHEADERFATT = '" << campo_hfatt << "', PB_KEYBODYFATT = '" << campo_bfatt << "' WHERE PB_KEYPRGINVIO = '" << db_prginv << "' AND PB_KEYHEADERFATT = '" << db_hfatt << "' AND PB_KEYBODYFATT = '" << db_bfatt << "'\n" <<
"UPDATE PAF1400F SET PB_KEYHEADERFATT = '" << campo_hfatt << "', PB_KEYBODYFATT = '" << campo_bfatt << "' WHERE PB_KEYPRGINVIO = '" << db_prginv << "' AND PB_KEYHEADERFATT = '" << db_hfatt << "' AND PB_KEYBODYFATT = '" << db_bfatt << "'\n" <<
"UPDATE PAF1600F SET PF_KEYHEADERFATT = '" << campo_hfatt << "', PF_KEYBODYFATT = '" << campo_bfatt << "' WHERE PF_KEYPRGINVIO = '" << db_prginv << "' AND PF_KEYHEADERFATT = '" << db_hfatt << "' AND PF_KEYBODYFATT = '" << db_bfatt << "'\n" << "UPDATE PAF1600F SET PF_KEYHEADERFATT = '" << campo_hfatt << "', PF_KEYBODYFATT = '" << campo_bfatt << "' WHERE PF_KEYPRGINVIO = '" << db_prginv << "' AND PF_KEYHEADERFATT = '" << db_hfatt << "' AND PF_KEYBODYFATT = '" << db_bfatt << "'\n" <<
"UPDATE PAF1700F SET PG_KEYHEADERFATT = '" << campo_hfatt << "', PG_KEYBODYFATT = '" << campo_bfatt << "' WHERE PG_KEYPRGINVIO = '" << db_prginv << "' AND PG_KEYHEADERFATT = '" << db_hfatt << "' AND PG_KEYBODYFATT = '" << db_bfatt << "'\n" << "UPDATE PAF1700F SET PG_KEYHEADERFATT = '" << campo_hfatt << "', PG_KEYBODYFATT = '" << campo_bfatt << "' WHERE PG_KEYPRGINVIO = '" << db_prginv << "' AND PG_KEYHEADERFATT = '" << db_hfatt << "' AND PG_KEYBODYFATT = '" << db_bfatt << "'\n" <<
"UPDATE PAF1800F SET PI_KEYHEADERFATT = '" << campo_hfatt << "', PI_KEYBODYFATT = '" << campo_bfatt << "' WHERE PI_KEYPRGINVIO = '" << db_prginv << "' AND PI_KEYHEADERFATT = '" << db_hfatt << "' AND PI_KEYBODYFATT = '" << db_bfatt << "'\n" << "UPDATE PAF1800F SET PI_KEYHEADERFATT = '" << campo_hfatt << "', PI_KEYBODYFATT = '" << campo_bfatt << "' WHERE PI_KEYPRGINVIO = '" << db_prginv << "' AND PI_KEYHEADERFATT = '" << db_hfatt << "' AND PI_KEYBODYFATT = '" << db_bfatt << "'\n" <<
@ -398,7 +402,7 @@ void TPAR_mask::export_paf()
int ndocs = 0; int ndocs = 0;
TSheet_field& sht = sfield(F_REGS); TSheet_field& sht = sfield(F_REGS);
const TString &tipo_doc_sdi = get(F_TIPO_SDI); const TString &tipo_doc_sdi = get(F_TIPO_SDI);
TReg_fp elab(tipo_doc_sdi); TReg_fp elab(tipo_doc_sdi, get_bool(F_PROVVISORIO));
//elab.set_cache_insert(true); //elab.set_cache_insert(true);
if (!sht.empty()) if (!sht.empty())
@ -619,6 +623,7 @@ void TPAR_mask::set_err_paf()
"UPDATE PAF1000F SET P0_GESTIONE = 'E', P0_KEYPRGINVIO = 'DELETED' WHERE P0_KEYHEADERFATT = '" << hfatt << "' AND P0_KEYBODYFATT = '" << bfatt << "';\n" << "UPDATE PAF1000F SET P0_GESTIONE = 'E', P0_KEYPRGINVIO = 'DELETED' WHERE P0_KEYHEADERFATT = '" << hfatt << "' AND P0_KEYBODYFATT = '" << bfatt << "';\n" <<
"UPDATE PAF1100F SET PA_GESTIONE = 'E', PA_KEYPRGINVIO = 'DELETED' WHERE PA_KEYHEADERFATT = '" << hfatt << "' AND PA_KEYBODYFATT = '" << bfatt << "';\n" << "UPDATE PAF1100F SET PA_GESTIONE = 'E', PA_KEYPRGINVIO = 'DELETED' WHERE PA_KEYHEADERFATT = '" << hfatt << "' AND PA_KEYBODYFATT = '" << bfatt << "';\n" <<
"UPDATE PAF1200F SET PB_GESTIONE = 'E', PB_KEYPRGINVIO = 'DELETED' WHERE PB_KEYHEADERFATT = '" << hfatt << "' AND PB_KEYBODYFATT = '" << bfatt << "';\n" << "UPDATE PAF1200F SET PB_GESTIONE = 'E', PB_KEYPRGINVIO = 'DELETED' WHERE PB_KEYHEADERFATT = '" << hfatt << "' AND PB_KEYBODYFATT = '" << bfatt << "';\n" <<
"UPDATE PAF1400F SET PB_GESTIONE = 'E', PB_KEYPRGINVIO = 'DELETED' WHERE PB_KEYHEADERFATT = '" << hfatt << "' AND PB_KEYBODYFATT = '" << bfatt << "';\n" <<
"UPDATE PAF1600F SET PF_GESTIONE = 'E', PF_KEYPRGINVIO = 'DELETED' WHERE PF_KEYHEADERFATT = '" << hfatt << "' AND PF_KEYBODYFATT = '" << bfatt << "';\n" << "UPDATE PAF1600F SET PF_GESTIONE = 'E', PF_KEYPRGINVIO = 'DELETED' WHERE PF_KEYHEADERFATT = '" << hfatt << "' AND PF_KEYBODYFATT = '" << bfatt << "';\n" <<
"UPDATE PAF1700F SET PG_GESTIONE = 'E', PG_KEYPRGINVIO = 'DELETED' WHERE PG_KEYHEADERFATT = '" << hfatt << "' AND PG_KEYBODYFATT = '" << bfatt << "';\n" << "UPDATE PAF1700F SET PG_GESTIONE = 'E', PG_KEYPRGINVIO = 'DELETED' WHERE PG_KEYHEADERFATT = '" << hfatt << "' AND PG_KEYBODYFATT = '" << bfatt << "';\n" <<
"UPDATE PAF1800F SET PI_GESTIONE = 'E', PI_KEYPRGINVIO = 'DELETED' WHERE PI_KEYHEADERFATT = '" << hfatt << "' AND PI_KEYBODYFATT = '" << bfatt << "';\n" << "UPDATE PAF1800F SET PI_GESTIONE = 'E', PI_KEYPRGINVIO = 'DELETED' WHERE PI_KEYHEADERFATT = '" << hfatt << "' AND PI_KEYBODYFATT = '" << bfatt << "';\n" <<

View File

@ -83,6 +83,9 @@ public:
TString& insert_string(); TString& insert_string();
TString& update_string();
TString& filter_string();
bool update();
bool insert(); bool insert();
TString& remove_string(bool id_riga = false); TString& remove_string(bool id_riga = false);
bool remove(); bool remove();
@ -643,6 +646,7 @@ private:
TFP_nota_piede_f _riga_npf; TFP_nota_piede_f _riga_npf;
bool _has_cust; bool _has_cust;
TString _tipo_doc_sdi; TString _tipo_doc_sdi;
bool _provvisorio;
bool insert(TPaf_record& p); bool insert(TPaf_record& p);
bool remove(TPaf_record& p); bool remove(TPaf_record& p);
@ -679,6 +683,7 @@ protected:
void set_qta_prezzo(TPaf_record& paf1800f, const TMovimento_contabile& mov, int n_row) const; void set_qta_prezzo(TPaf_record& paf1800f, const TMovimento_contabile& mov, int n_row) const;
void add_ritenuta(const TMovimento_contabile & mov, int n_row, TPaf_record& paf0700f) const; void add_ritenuta(const TMovimento_contabile & mov, int n_row, TPaf_record& paf0700f) const;
bool add_riepilogo_iva(const TMovimento_contabile mov, int n_riga); bool add_riepilogo_iva(const TMovimento_contabile mov, int n_riga);
const char * stato_paf() const { return _provvisorio ? " " : "D"; }
const TFirm& TReg_fp::get_firm(){return prefix().firm();} const TFirm& TReg_fp::get_firm(){return prefix().firm();}
@ -696,7 +701,7 @@ public:
void set_cache_insert(const bool v) { _cache_insert = v; } void set_cache_insert(const bool v) { _cache_insert = v; }
TReg_fp(const char* tipo_doc_sdi ); TReg_fp(const char* tipo_doc_sdi, bool provvisorio);
~TReg_fp(); ~TReg_fp();
}; };
#endif // __FPLIB_H #endif // __FPLIB_H

View File

@ -469,27 +469,30 @@ bool TPaf_record::remove()
bool TPaf_record::search() bool TPaf_record::search()
{ {
CHECKS(_fields.items() > 0, "Can't search with empty key on table ", static_cast<const char*>(_table)); CHECKS(_fields.items() > 0, "Can't search with empty key on table ", static_cast<const char*>(_table));
TString256 query; TString256 query;
query << "SELECT TOP 1 * FROM " << _table << " WHERE "; bool first = true;
query << "SELECT TOP 1 * FROM " << _table << " WHERE " << filter_string() << " ORDER BY ";
first = true;
FOR_EACH_TOKEN(_key, fld) FOR_EACH_TOKEN(_key, fld)
{ {
const TVariant& var = get(fld); const TVariant& var = get(fld);
if (!var.is_null()) if (!var.is_null())
query << fld << '=' << var2str(fld, var) << " AND ";
}
query.rtrim(5);
query << " ORDER BY ";
FOR_EACH_TOKEN(_key, fld)
{ {
const TVariant& var = get(fld); if (!first)
if (!var.is_null()) query << ", ";
query << fld << ", "; first = false;
query << fld;
} }
query.rtrim(2) << " DESC;"; }
query << ";";
// return xvt_sql_execute(_db, query, paf_search_record, this) == 1; // return xvt_sql_execute(_db, query, paf_search_record, this) == 1;
// TODO: Valutare // TODO: Valutare
return fp_db().sq_set_exec(query); return fp_db().sq_set_exec(query);
} }
// Carica un record in base ad un massimo di 3 campi chiave // Carica un record in base ad un massimo di 3 campi chiave
bool TPaf_record::search(const char* k1, const char* k2, const char* k3) bool TPaf_record::search(const char* k1, const char* k2, const char* k3)
{ {
@ -500,31 +503,93 @@ bool TPaf_record::search(const char* k1, const char* k2, const char* k3)
set(_key.get(2), k3); set(_key.get(2), k3);
return search(); return search();
} }
TString & TPaf_record::insert_string() TString & TPaf_record::insert_string()
{ {
CHECKS(_fields.items() >= _key.items(), "Can't insert empty record on table ", _table); CHECKS(_fields.items() >= _key.items(), "Can't insert empty record on table ", _table);
static TString query, values;
query.cut(0); values.cut(0); TString & query = get_tmp_string();
TString & values = get_tmp_string();
bool first = true;
query << "INSERT INTO " << _table << "\n("; query << "INSERT INTO " << _table << "\n(";
FOR_EACH_ASSOC_OBJECT(_fields, obj, fld, itm) FOR_EACH_ASSOC_OBJECT(_fields, obj, fld, itm)
{ {
const TVariant& var = get(fld); const TVariant& var = get(fld);
if (!var.is_null()) if (!var.is_null())
{ {
query << fld << ','; if (!first)
values << var2str(fld, var) << ','; {
query << ", ";
values << ", ";
}
first = false;
query << fld;
values << var2str(fld, var);
} }
} }
query.rtrim(1);
values.rtrim(1);
query << ")\nVALUES (" << values << ");"; query << ")\nVALUES (" << values << ");";
return query; return query;
} }
TString & TPaf_record::update_string()
{
CHECKS(_fields.items() >= _key.items(), "Can't insert empty record on table ", _table);
TString & query = get_tmp_string();
bool first = true;
query << "UPDATE " << _table << "\nSET ";
FOR_EACH_ASSOC_OBJECT(_fields, obj, fld, itm)
{
const TVariant& var = get(fld);
if (!first)
query << ", ";
first = false;
query << fld << " = " << var2str(fld, var);
}
query << "\nWHERE " << filter_string();
return query;
}
TString & TPaf_record::filter_string()
{
CHECKS(_fields.items() > 0, "Can't search with empty key on table ", static_cast<const char*>(_table));
TString & filter = get_tmp_string();
bool first = true;
FOR_EACH_TOKEN(_key, fld)
{
const TVariant& var = get(fld);
if (!var.is_null())
{
if (!first)
filter << " AND ";
first = false;
filter << fld << '=' << var2str(fld, var);
}
}
return filter;
}
// Aggiunge un record al db // Aggiunge un record al db
bool TPaf_record::insert() bool TPaf_record::insert()
{ {
if (search())
return update();
else
return fp_db().sq_set_exec(insert_string(), false); return fp_db().sq_set_exec(insert_string(), false);
} }
// Aggiunge un record al db
bool TPaf_record::update()
{
return fp_db().sq_set_exec(update_string(), false);
}
// Crea un record della tabella data ed imposta i nomi dei campi chiave // Crea un record della tabella data ed imposta i nomi dei campi chiave
TPaf_record::TPaf_record(const char* table) : _table(table), _key(15, ',') TPaf_record::TPaf_record(const char* table) : _table(table), _key(15, ',')
{ {
@ -2207,7 +2272,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
paf2100f.set("PK_TIPODATO", "INTENTO"); paf2100f.set("PK_TIPODATO", "INTENTO");
paf2100f.set("PK_RIFDATO", dichiar); paf2100f.set("PK_RIFDATO", dichiar);
paf2100f.set("PK_RIFDATA", dataprot); paf2100f.set("PK_RIFDATA", dataprot);
ok &= paf2100f.insert(); ok &= insert(paf2100f);
} }
riga++; riga++;
} }
@ -2917,7 +2982,7 @@ bool TReg_fp::add_riepilogo_iva(const TMovimento_contabile mov, int n_riga)
paf2200f.set("PL_ESIGIVA", ""); // TODO va compilato ??? paf2200f.set("PL_ESIGIVA", ""); // TODO va compilato ???
paf2200f.set("PL_RIFNORMATIVO", cod_iva.descrizione()); paf2200f.set("PL_RIFNORMATIVO", cod_iva.descrizione());
paf2200f.set("PL_GESTIONE", "D"); paf2200f.set("PL_GESTIONE", stato_paf());
// Inserisco // Inserisco
return insert(paf2200f); return insert(paf2200f);
@ -2937,7 +3002,7 @@ bool TReg_fp::export_paf0100f()
tel << get_firm().get(NDT_PTEL) << get_firm().get(NDT_TEL); tel << get_firm().get(NDT_PTEL) << get_firm().get(NDT_TEL);
paf0100f.set("P1_TELEFONO", tel); paf0100f.set("P1_TELEFONO", tel);
paf0100f.set("P1_MAIL", get_firm().get(NDT_MAIL)); paf0100f.set("P1_MAIL", get_firm().get(NDT_MAIL));
paf0100f.set("P1_GESTIONE", "D"); paf0100f.set("P1_GESTIONE", stato_paf());
paf0100f.set("P1_ERRINT", ""); paf0100f.set("P1_ERRINT", "");
// </DatiTrassmissione> // </DatiTrassmissione>
return insert(paf0100f); return insert(paf0100f);
@ -2994,7 +3059,7 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
paf0200f.set("P2_SEDENRCIVICO", fornitore.civico_residenza().left(8)); // paf0200f.set("P2_SEDENRCIVICO", fornitore.civico_residenza().left(8)); //
paf0200f.set("P2_SEDECOMUNE", fornitore.comune_residenza()); // paf0200f.set("P2_SEDECOMUNE", fornitore.comune_residenza()); //
paf0200f.set("P2_SEDENAZ", fornitore.stato_residenza_ISO()); // paf0200f.set("P2_SEDENAZ", fornitore.stato_residenza_ISO()); //
paf0200f.set("P2_GESTIONE", "D"); paf0200f.set("P2_GESTIONE", stato_paf());
// I clienti esteri possono avere CAP alfanumerici, li tolgo // I clienti esteri possono avere CAP alfanumerici, li tolgo
if (fornitore.stato_residenza_ISO() != "IT") if (fornitore.stato_residenza_ISO() != "IT")
@ -3077,13 +3142,13 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
if (titolo.full()) if (titolo.full())
paf0400f.set("P4_ANATITOLO", cache().get("TIT", titolo, "S0")); paf0400f.set("P4_ANATITOLO", cache().get("TIT", titolo, "S0"));
paf0400f.set("P4_GESTIONE", "D"); paf0400f.set("P4_GESTIONE", stato_paf());
ok &= insert(paf0400f); ok &= insert(paf0400f);
// </CessionarioCommittente> // </CessionarioCommittente>
TPaf_record& paf0700f = _paf_container.get_paf("PAF0700F"); TPaf_record& paf0700f = _paf_container.get_paf("PAF0700F");
paf0700f.set("P7_TIPODOC", _tipo_doc_sdi); paf0700f.set("P7_TIPODOC", _tipo_doc_sdi);
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
paf0700f.set("P7_DATA", mov.get_date(MOV_DATADOC)); paf0700f.set("P7_DATA", mov.get_date(MOV_DATAREG)); // sembra sempre la data di registrazione visto che è na data di ricezione
TString numdoc = mov.get(MOV_NUMDOCEXT); TString numdoc = mov.get(MOV_NUMDOCEXT);
if (numdoc.blank()) if (numdoc.blank())
@ -3095,15 +3160,40 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
} }
paf0700f.set("P7_NUMERO", numdoc); paf0700f.set("P7_NUMERO", numdoc);
paf0700f.set("P7_GESTIONE", "D"); paf0700f.set("P7_GESTIONE", stato_paf());
TPaf_record& paf2700f = _paf_container.get_paf("PAF2700F"); TPaf_record& paf2700f = _paf_container.get_paf("PAF2700F");
// Disabilitata la scrittura del totale del documento, questo causa problemi se presente uno sconto in testata e l'addebito del bollo. // Disabilitata la scrittura del totale del documento, questo causa problemi se presente uno sconto in testata e l'addebito del bollo.
// Campo calcola prima il totale, poi lo sconta e ci applica il bollo mentre lo SDI sconta a bollo gi applicato. // Campo calcola prima il totale, poi lo sconta e ci applica il bollo mentre lo SDI sconta a bollo gi applicato.
paf2700f.set("PQ_IMPTOTDOC", mov.get(MOV_TOTDOC)); paf2700f.set("PQ_IMPTOTDOC", mov.get(MOV_TOTDOC));
paf2700f.set("PQ_GESTIONE", "D"); paf2700f.set("PQ_GESTIONE", stato_paf());
ok &= insert(paf2700f); ok &= insert(paf2700f);
// </DatiOrdineAcquisto> // </DatiOrdineAcquisto>
// paf1400 Dati fatture collegate
TPaf_record& paf1400f = _paf_container.get_paf("PAF1400F");
reset(paf1400f);
TString idsdi = mov.get(MOV_IDDOCSDI);
TDate datasdi = mov.get_date(MOV_DATADOCSDI);
if (idsdi.blank())
{
const long nregcoll = mov.get_long(MOV_MOVCOLL);
if (nregcoll > 0L)
{
const TRectype & movcoll = cache().get(LF_MOV, nregcoll);
idsdi = movcoll.get(MOV_IDDOCSDI);
datasdi = movcoll.get_date(MOV_DATADOCSDI);
}
}
paf1400f.set("PD_IDDOC", idsdi);
paf1400f.set("PD_DATADOC", datasdi);
ok &= insert(paf1400f);
// </DatiGenerali> // </DatiGenerali>
// Azzera DDT // Azzera DDT
TPaf_record& paf1600f = _paf_container.get_paf("PAF1600F"); TPaf_record& paf1600f = _paf_container.get_paf("PAF1600F");
@ -3170,7 +3260,7 @@ bool TReg_fp::reg_to_paf(long n_mov)
//NON LE CAPISCO //NON LE CAPISCO
TReg_fp::TReg_fp(const char* tipo_doc_sdi) : _cache_insert(false) , _tipo_doc_sdi(tipo_doc_sdi) TReg_fp::TReg_fp(const char* tipo_doc_sdi, bool provvisorio) : _cache_insert(false) , _tipo_doc_sdi(tipo_doc_sdi), _provvisorio(provvisorio)
{ {
_ditta.init(LF_NDITTE, prefix().get_codditta()); _ditta.init(LF_NDITTE, prefix().get_codditta());
_cofi = get_cofi_tras(); _cofi = get_cofi_tras();