Patch level : 12.0 nopatch
Files correlati : fp0700.cpp, fp0700a.h, fp0700a.uml, fplib.h, fplib01.cpp Commento: Modifiche Integrazioni per reinvio modifica provvisorio
This commit is contained in:
parent
8c293c2964
commit
a08d9fc134
@ -34,7 +34,7 @@ protected:
|
|||||||
bool on_key(KEY key) override;
|
bool on_key(KEY key) override;
|
||||||
bool check_not_empty();
|
bool check_not_empty();
|
||||||
bool check_full_fields() const;
|
bool check_full_fields() const;
|
||||||
void set_err_paf();
|
void delete_paf();
|
||||||
void fill();
|
void fill();
|
||||||
void init();
|
void init();
|
||||||
void force_reload_sheet();
|
void force_reload_sheet();
|
||||||
@ -129,7 +129,7 @@ void TPAR_mask::fill()
|
|||||||
TString query;
|
TString query;
|
||||||
const bool diagn = get_bool(F_DIAGN);
|
const bool diagn = get_bool(F_DIAGN);
|
||||||
|
|
||||||
enable(DLG_OK, filter_selected.empty() || filter_selected == "E" || filter_selected == "X");
|
enable(DLG_OK, filter_selected.empty() || filter_selected == "E" || filter_selected == "X" || filter_selected == "D");
|
||||||
enable(DLG_PRINT, true);
|
enable(DLG_PRINT, true);
|
||||||
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");
|
||||||
@ -147,6 +147,7 @@ void TPAR_mask::fill()
|
|||||||
|
|
||||||
//MY QUERY
|
//MY QUERY
|
||||||
|
|
||||||
|
//DA RIVEDERE QUESTA QUERY
|
||||||
query << "USE " << LF_MOV << " KEY 2\n";
|
query << "USE " << LF_MOV << " KEY 2\n";
|
||||||
if (dal.ok())
|
if (dal.ok())
|
||||||
query << "FROM " << MOV_DATAREG << "=" << dal << "\n";
|
query << "FROM " << MOV_DATAREG << "=" << dal << "\n";
|
||||||
@ -562,7 +563,7 @@ bool TPAR_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|||||||
case DLG_SAVEREC:
|
case DLG_SAVEREC:
|
||||||
{
|
{
|
||||||
if (e == fe_button)
|
if (e == fe_button)
|
||||||
set_err_paf();
|
delete_paf();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DLG_FINDREC:
|
case DLG_FINDREC:
|
||||||
@ -647,7 +648,7 @@ bool TPAR_mask::check_full_fields() const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TPAR_mask::set_err_paf()
|
void TPAR_mask::delete_paf()
|
||||||
{
|
{
|
||||||
// Vado a riportare sui paf l'errore
|
// Vado a riportare sui paf l'errore
|
||||||
TSheet_field& sfld = sfield(F_REGS);
|
TSheet_field& sfld = sfield(F_REGS);
|
||||||
@ -670,6 +671,34 @@ void TPAR_mask::set_err_paf()
|
|||||||
if (chiave_paf_mov(mov, tipodocsdi, hfatt, bfatt) && paf0100f.search(nullptr, hfatt, bfatt))
|
if (chiave_paf_mov(mov, tipodocsdi, hfatt, bfatt) && paf0100f.search(nullptr, hfatt, bfatt))
|
||||||
{
|
{
|
||||||
TString query;
|
TString query;
|
||||||
|
|
||||||
|
query <<
|
||||||
|
"DELETE FROM PAF0100F WHERE P1_KEYHEADERFATT = '" << hfatt << "' AND P1_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF0200F WHERE P2_KEYHEADERFATT = '" << hfatt << "' AND P2_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF0400F WHERE P4_KEYHEADERFATT = '" << hfatt << "' AND P4_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF0700F WHERE P7_KEYHEADERFATT = '" << hfatt << "' AND P7_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF0800F WHERE P8_KEYHEADERFATT = '" << hfatt << "' AND P8_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF1000F WHERE P0_KEYHEADERFATT = '" << hfatt << "' AND P0_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF1100F WHERE PA_KEYHEADERFATT = '" << hfatt << "' AND PA_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF1200F WHERE PB_KEYHEADERFATT = '" << hfatt << "' AND PB_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF1400F WHERE PD_KEYHEADERFATT = '" << hfatt << "' AND PD_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF1600F WHERE PF_KEYHEADERFATT = '" << hfatt << "' AND PF_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF1700F WHERE PG_KEYHEADERFATT = '" << hfatt << "' AND PG_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF1800F WHERE PI_KEYHEADERFATT = '" << hfatt << "' AND PI_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF1900F WHERE PY_KEYHEADERFATT = '" << hfatt << "' AND PY_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF2000F WHERE PJ_KEYHEADERFATT = '" << hfatt << "' AND PJ_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF2100F WHERE PK_KEYHEADERFATT = '" << hfatt << "' AND PK_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF2200F WHERE PL_KEYHEADERFATT = '" << hfatt << "' AND PL_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF2400F WHERE PN_KEYHEADERFATT = '" << hfatt << "' AND PN_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF2500F WHERE PO_KEYHEADERFATT = '" << hfatt << "' AND PO_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF2600F WHERE PP_KEYHEADERFATT = '" << hfatt << "' AND PP_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF2700F WHERE PQ_KEYHEADERFATT = '" << hfatt << "' AND PQ_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF3000F WHERE PT_KEYHEADERFATT = '" << hfatt << "' AND PT_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
"DELETE FROM PAF3200F WHERE PU_KEYHEADERFATT = '" << hfatt << "' AND PU_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
|
// PAFW3 non ha il flag di gestione
|
||||||
|
"DELETE FROM PAFW300F WHERE PW_KEYHEADERFATT = '" << hfatt << "' AND PW_KEYBODYFATT = '" << bfatt << "';\n";
|
||||||
|
|
||||||
|
/*
|
||||||
query <<
|
query <<
|
||||||
"UPDATE PAF0100F SET P1_GESTIONE = 'E', P1_KEYPRGINVIO = 'DELETED' WHERE P1_KEYHEADERFATT = '" << hfatt << "' AND P1_KEYBODYFATT = '" << bfatt << "';\n" <<
|
"UPDATE PAF0100F SET P1_GESTIONE = 'E', P1_KEYPRGINVIO = 'DELETED' WHERE P1_KEYHEADERFATT = '" << hfatt << "' AND P1_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
"UPDATE PAF0200F SET P2_GESTIONE = 'E', P2_KEYPRGINVIO = 'DELETED' WHERE P2_KEYHEADERFATT = '" << hfatt << "' AND P2_KEYBODYFATT = '" << bfatt << "';\n" <<
|
"UPDATE PAF0200F SET P2_GESTIONE = 'E', P2_KEYPRGINVIO = 'DELETED' WHERE P2_KEYHEADERFATT = '" << hfatt << "' AND P2_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
@ -679,7 +708,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 PAF1400F SET PD_GESTIONE = 'E', PD_KEYPRGINVIO = 'DELETED' WHERE PD_KEYHEADERFATT = '" << hfatt << "' AND PD_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" <<
|
||||||
@ -695,6 +724,7 @@ void TPAR_mask::set_err_paf()
|
|||||||
"UPDATE PAF3200F SET PU_GESTIONE = 'E', PU_KEYPRGINVIO = 'DELETED' WHERE PU_KEYHEADERFATT = '" << hfatt << "' AND PU_KEYBODYFATT = '" << bfatt << "';\n" <<
|
"UPDATE PAF3200F SET PU_GESTIONE = 'E', PU_KEYPRGINVIO = 'DELETED' WHERE PU_KEYHEADERFATT = '" << hfatt << "' AND PU_KEYBODYFATT = '" << bfatt << "';\n" <<
|
||||||
// PAFW3 non ha il flag di gestione
|
// PAFW3 non ha il flag di gestione
|
||||||
"UPDATE PAFW300F SET PW_KEYPRGINVIO = 'DELETED' WHERE PW_KEYHEADERFATT = '" << hfatt << "' AND PW_KEYBODYFATT = '" << bfatt << "';\n";
|
"UPDATE PAFW300F SET PW_KEYPRGINVIO = 'DELETED' WHERE PW_KEYHEADERFATT = '" << hfatt << "' AND PW_KEYBODYFATT = '" << bfatt << "';\n";
|
||||||
|
*/
|
||||||
if (!fp_db().sq_set_exec(query))
|
if (!fp_db().sq_set_exec(query))
|
||||||
{
|
{
|
||||||
TString err = "Impossibile salvare la regolarizzazione "; err << nreg << "\nVerrà saltata.";
|
TString err = "Impossibile salvare la regolarizzazione "; err << nreg << "\nVerrà saltata.";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#define F_DATAINI 401
|
#define F_DATAINI 401
|
||||||
#define F_DATAEND 402
|
#define F_DATAEND 402
|
||||||
#define F_REGSEL 403
|
#define F_REGSEL 403
|
||||||
#define F_CAUSALI_TIPO 404
|
#define F_CAUSALI_TIPO 404
|
||||||
#define F_TIPO_SDI 405
|
#define F_TIPO_SDI 405
|
||||||
#define F_REGS 406
|
#define F_REGS 406
|
||||||
#define F_DIAGN 407
|
#define F_DIAGN 407
|
||||||
#define START_MASK F_DATAINI
|
#define START_MASK F_DATAINI
|
||||||
|
@ -71,12 +71,12 @@ END
|
|||||||
|
|
||||||
RADIOBUTTON F_REGSEL 7 80
|
RADIOBUTTON F_REGSEL 7 80
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "Registrazioni da visualizzare"
|
PROMPT 1 3 "@bIntegrazioni da visualizzare"
|
||||||
ITEM "|Da inviare"
|
ITEM "|Da inviare"
|
||||||
ITEM "X|XML Generato"
|
//ITEM "N|Notificato"
|
||||||
ITEM "N|Notificato"
|
ITEM "D|Pre-Diagosticate"
|
||||||
ITEM "E|In errore"
|
ITEM "E|In errore"
|
||||||
ITEM "D|Diag."
|
ITEM "X|XML Generato"
|
||||||
FLAGS "Z"
|
FLAGS "Z"
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ END
|
|||||||
|
|
||||||
LIST F_TIPO_SDI 40
|
LIST F_TIPO_SDI 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 14 "Tipo documento SDI "
|
PROMPT 1 13 "@bDocumento SDI da generare"
|
||||||
ITEM "TD16|TD16 Integraz. fatt. rev.ch. interno"
|
ITEM "TD16|TD16 Integraz. fatt. rev.ch. interno"
|
||||||
ITEM "TD17|TD17 Integ./autof. acq. servizi estero"
|
ITEM "TD17|TD17 Integ./autof. acq. servizi estero"
|
||||||
ITEM "TD18|TD18 Integ. acq. beni intracomunitari"
|
ITEM "TD18|TD18 Integ. acq. beni intracomunitari"
|
||||||
@ -98,10 +98,16 @@ BEGIN
|
|||||||
ITEM "TD20|TD20 Autofattura"
|
ITEM "TD20|TD20 Autofattura"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_DIAGN
|
GROUPBOX DLG_NULL 80 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 15 "Esporta in stato diagnosticato"
|
PROMPT 1 14 "@bConfigurazione"
|
||||||
END
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_DIAGN
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 15 "Esporta in stato diagnosticato"
|
||||||
|
END
|
||||||
|
|
||||||
STRING DLG_PROFILE 50
|
STRING DLG_PROFILE 50
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -694,9 +694,9 @@ protected:
|
|||||||
bool add_row_alleg(TFilename& file, long& nprogr, TPaf_record& paf);
|
bool add_row_alleg(TFilename& file, long& nprogr, TPaf_record& paf);
|
||||||
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 _definitivo && !get_no_export_pronto() ? "P" : "D"; }
|
const char * stato_paf() const { return _definitivo ? "P" : "D"; }
|
||||||
|
|
||||||
const TFirm& TReg_fp::get_firm(){return prefix().firm();}
|
const TFirm& TReg_fp::get_firm(){return prefix().firm();}
|
||||||
|
|
||||||
|
@ -3043,13 +3043,14 @@ bool TReg_fp::initialize(const TMovimento_contabile& mov)
|
|||||||
_log.log(-1, _bfatt);
|
_log.log(-1, _bfatt);
|
||||||
// Controllo se il documento almeno in stato di stampa
|
// Controllo se il documento almeno in stato di stampa
|
||||||
_is_pa = mov.clifo().get_int("ALLEG") == 7;
|
_is_pa = mov.clifo().get_int("ALLEG") == 7;
|
||||||
|
_pec = _ditta.pec();
|
||||||
|
|
||||||
if (_ditta.coddest().empty())
|
if (_ditta.coddest().empty() && _pec.empty())
|
||||||
_coddest = "0000000";
|
_coddest = "0000000";
|
||||||
else
|
else
|
||||||
_coddest = _ditta.coddest();
|
_coddest = _ditta.coddest();
|
||||||
|
|
||||||
_pec = _ditta.pec();
|
|
||||||
_enapec = _coddest == "0000000" && _pec.full();
|
_enapec = _coddest == "0000000" && _pec.full();
|
||||||
_privato = _coddest.len() != 6;
|
_privato = _coddest.len() != 6;
|
||||||
// Azzero indici
|
// Azzero indici
|
||||||
@ -3148,7 +3149,7 @@ bool TReg_fp::add_row_alleg(TFilename& file, long& nprogr, TPaf_record& paf)
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TReg_fp::add_riepilogo_iva(const TMovimento_contabile mov, int n_riga)
|
bool TReg_fp::add_riepilogo_iva(const TMovimento_contabile & mov, int n_riga)
|
||||||
{
|
{
|
||||||
TPaf_record& paf2200f = _paf_container.get_paf("PAF2200F");
|
TPaf_record& paf2200f = _paf_container.get_paf("PAF2200F");
|
||||||
const TRectype& rec_iva = mov.iva()[n_riga];
|
const TRectype& rec_iva = mov.iva()[n_riga];
|
||||||
@ -3190,6 +3191,9 @@ 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));
|
||||||
|
|
||||||
|
const char* c = stato_paf();
|
||||||
|
|
||||||
paf0100f.set("P1_GESTIONE", stato_paf());
|
paf0100f.set("P1_GESTIONE", stato_paf());
|
||||||
paf0100f.set("P1_ERRINT", "");
|
paf0100f.set("P1_ERRINT", "");
|
||||||
// </DatiTrassmissione>
|
// </DatiTrassmissione>
|
||||||
@ -3220,17 +3224,17 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
|
|||||||
// <CedentePrestatore>
|
// <CedentePrestatore>
|
||||||
|
|
||||||
TPaf_record& paf0200f = _paf_container.get_paf("PAF0200F");
|
TPaf_record& paf0200f = _paf_container.get_paf("PAF0200F");
|
||||||
const TAnagrafica & fornitore = mov.clifo().anagrafica();
|
const TAnagrafica& fornitore = mov.clifo().anagrafica();
|
||||||
|
|
||||||
if (!paf0200f.is_full())
|
if (!paf0200f.is_full())
|
||||||
{
|
{
|
||||||
if (fornitore.partita_IVA().full())
|
if (fornitore.partita_IVA().full())
|
||||||
{
|
{
|
||||||
paf0200f.set("P2_FISCIVAPAESE", fornitore.stato_partita_IVA());
|
paf0200f.set("P2_FISCIVAPAESE", fornitore.stato_partita_IVA());
|
||||||
paf0200f.set("P2_FISCIVACOD", fornitore.partita_IVA());
|
paf0200f.set("P2_FISCIVACOD", fornitore.partita_IVA());
|
||||||
}
|
}
|
||||||
paf0200f.set("P2_CODFISCALE", fornitore.codice_fiscale()); //
|
paf0200f.set("P2_CODFISCALE", fornitore.codice_fiscale()); //
|
||||||
|
|
||||||
const bool df = _ditta.fisica();
|
const bool df = _ditta.fisica();
|
||||||
|
|
||||||
if (_ditta.fisica())
|
if (_ditta.fisica())
|
||||||
@ -3266,85 +3270,85 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
|
|||||||
paf0200f.set("P2_SEDEPROV", fornitore.provincia_residenza()); //
|
paf0200f.set("P2_SEDEPROV", fornitore.provincia_residenza()); //
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ok &= insert(paf0200f);
|
|
||||||
|
|
||||||
// </CedentePrestatore>
|
|
||||||
// </CedentePrestatore>
|
|
||||||
// <CessionarioCommittente>
|
|
||||||
TPaf_record& paf0400f = _paf_container.get_paf("PAF0400F");
|
|
||||||
|
|
||||||
TString stato = _ditta.stato_partita_IVA();
|
ok &= insert(paf0200f);
|
||||||
TTable tab_codiso("%SCE");
|
|
||||||
tab_codiso.tab();
|
|
||||||
tab_codiso.put("CODTAB", stato); tab_codiso.read();
|
|
||||||
TString piva = _ditta.partita_IVA();
|
|
||||||
TString fisc = _ditta.codice_fiscale();
|
|
||||||
|
|
||||||
if (!stato.full())
|
// </CedentePrestatore>
|
||||||
stato = "IT";
|
// </CedentePrestatore>
|
||||||
if (tab_codiso.get_bool("B0") || stato == "IT") // Cliente EU
|
// <CessionarioCommittente>
|
||||||
|
TPaf_record& paf0400f = _paf_container.get_paf("PAF0400F");
|
||||||
|
|
||||||
|
TString stato = _ditta.stato_partita_IVA();
|
||||||
|
TTable tab_codiso("%SCE");
|
||||||
|
tab_codiso.tab();
|
||||||
|
tab_codiso.put("CODTAB", stato); tab_codiso.read();
|
||||||
|
TString piva = _ditta.partita_IVA();
|
||||||
|
TString fisc = _ditta.codice_fiscale();
|
||||||
|
|
||||||
|
if (!stato.full())
|
||||||
|
stato = "IT";
|
||||||
|
if (tab_codiso.get_bool("B0") || stato == "IT") // Cliente EU
|
||||||
|
{
|
||||||
|
if (piva.full())
|
||||||
{
|
{
|
||||||
if (piva.full())
|
if (piva.len() == 11 && (piva[0] == '8' || piva[0] == '9'))
|
||||||
{
|
{
|
||||||
if (piva.len() == 11 && (piva[0] == '8' || piva[0] == '9'))
|
fisc = piva;
|
||||||
{
|
|
||||||
fisc = piva;
|
|
||||||
piva.cut(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (fisc.full() && fisc.len() == 11 && (fisc[0] == '8' || fisc[0] == '9'))
|
|
||||||
piva.cut(0);
|
piva.cut(0);
|
||||||
|
|
||||||
if (piva.full())
|
|
||||||
{
|
|
||||||
paf0400f.set("P4_FISCIVAPAESE", stato); //
|
|
||||||
paf0400f.set("P4_FISCIVACOD", piva); //
|
|
||||||
}
|
}
|
||||||
if (fisc.full())
|
|
||||||
paf0400f.set("P4_CODFISC", fisc); //
|
|
||||||
}
|
|
||||||
else // Cliente EXTRA-EU sempre nel campo della partita iva sui paf
|
|
||||||
{
|
|
||||||
paf0400f.set("P4_FISCIVAPAESE", stato);
|
|
||||||
if (fisc.full()) // Guardo prima l'id fiscale, perche' e' qui che dovrebbero stare in Campo
|
|
||||||
paf0400f.set("P4_FISCIVACOD", fisc);
|
|
||||||
else if (piva.full()) // Altrimenti dovrebbe essere nella partita iva
|
|
||||||
paf0400f.set("P4_FISCIVACOD", piva);
|
|
||||||
}
|
}
|
||||||
|
else if (fisc.full() && fisc.len() == 11 && (fisc[0] == '8' || fisc[0] == '9'))
|
||||||
|
piva.cut(0);
|
||||||
|
|
||||||
if (_ditta.fisica() && _ditta.nome().full())
|
if (piva.full())
|
||||||
{
|
{
|
||||||
paf0400f.set("P4_ANANOME", _ditta.nome()); //
|
paf0400f.set("P4_FISCIVAPAESE", stato); //
|
||||||
paf0400f.set("P4_ANACOGNOME", _ditta.cognome()); //
|
paf0400f.set("P4_FISCIVACOD", piva); //
|
||||||
}
|
}
|
||||||
else
|
if (fisc.full())
|
||||||
{
|
paf0400f.set("P4_CODFISC", fisc); //
|
||||||
paf0400f.set("P4_ANADENOM", _ditta.ragione_sociale()); //
|
}
|
||||||
}
|
else // Cliente EXTRA-EU sempre nel campo della partita iva sui paf
|
||||||
// DatiSede
|
{
|
||||||
paf0400f.set("P4_SEDEIND", _ditta.via_residenza());
|
paf0400f.set("P4_FISCIVAPAESE", stato);
|
||||||
paf0400f.set("P4_SEDENRCIVICO", _ditta.civico_residenza().left(8));
|
if (fisc.full()) // Guardo prima l'id fiscale, perche' e' qui che dovrebbero stare in Campo
|
||||||
paf0400f.set("P4_SEDECAP", _ditta.CAP_residenza());
|
paf0400f.set("P4_FISCIVACOD", fisc);
|
||||||
paf0400f.set("P4_SEDECOMUNE", _ditta.comune_residenza());
|
else if (piva.full()) // Altrimenti dovrebbe essere nella partita iva
|
||||||
paf0400f.set("P4_SEDEPROV", _ditta.provincia_residenza());
|
paf0400f.set("P4_FISCIVACOD", piva);
|
||||||
paf0400f.set("P4_SEDENAZ", _ditta.stato_residenza_ISO());
|
}
|
||||||
|
|
||||||
// Titolo onorifico!
|
if (_ditta.fisica() && _ditta.nome().full())
|
||||||
const TString& titolo = (mov.clifo().vendite().get(CFV_TITOLO));
|
{
|
||||||
|
paf0400f.set("P4_ANANOME", _ditta.nome()); //
|
||||||
|
paf0400f.set("P4_ANACOGNOME", _ditta.cognome()); //
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
paf0400f.set("P4_ANADENOM", _ditta.ragione_sociale()); //
|
||||||
|
}
|
||||||
|
// DatiSede
|
||||||
|
paf0400f.set("P4_SEDEIND", _ditta.via_residenza());
|
||||||
|
paf0400f.set("P4_SEDENRCIVICO", _ditta.civico_residenza().left(8));
|
||||||
|
paf0400f.set("P4_SEDECAP", _ditta.CAP_residenza());
|
||||||
|
paf0400f.set("P4_SEDECOMUNE", _ditta.comune_residenza());
|
||||||
|
paf0400f.set("P4_SEDEPROV", _ditta.provincia_residenza());
|
||||||
|
paf0400f.set("P4_SEDENAZ", _ditta.stato_residenza_ISO());
|
||||||
|
|
||||||
if (titolo.full())
|
// Titolo onorifico!
|
||||||
paf0400f.set("P4_ANATITOLO", cache().get("TIT", titolo, "S0"));
|
const TString& titolo = (mov.clifo().vendite().get(CFV_TITOLO));
|
||||||
paf0400f.set("P4_GESTIONE", stato_paf());
|
|
||||||
ok &= insert(paf0400f);
|
if (titolo.full())
|
||||||
// </CessionarioCommittente>
|
paf0400f.set("P4_ANATITOLO", cache().get("TIT", titolo, "S0"));
|
||||||
|
paf0400f.set("P4_GESTIONE", stato_paf());
|
||||||
|
ok &= insert(paf0400f);
|
||||||
|
// </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_DATAREG)); // sembra sempre la data di registrazione visto che è na data di ricezione
|
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())
|
||||||
numdoc = mov.get(MOV_NUMDOC);
|
numdoc = mov.get(MOV_NUMDOC);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -3352,7 +3356,7 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
|
|||||||
numdoc = numdoc.mid(30);
|
numdoc = numdoc.mid(30);
|
||||||
}
|
}
|
||||||
|
|
||||||
paf0700f.set("P7_NUMERO", numdoc);
|
paf0700f.set("P7_NUMERO", numdoc);
|
||||||
paf0700f.set("P7_GESTIONE", stato_paf());
|
paf0700f.set("P7_GESTIONE", stato_paf());
|
||||||
|
|
||||||
TPaf_record& paf2700f = _paf_container.get_paf("PAF2700F");
|
TPaf_record& paf2700f = _paf_container.get_paf("PAF2700F");
|
||||||
@ -3378,18 +3382,18 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
|
|||||||
|
|
||||||
if (nregcoll > 0L)
|
if (nregcoll > 0L)
|
||||||
{
|
{
|
||||||
const TRectype & movcoll = cache().get(LF_MOV, nregcoll);
|
const TRectype& movcoll = cache().get(LF_MOV, nregcoll);
|
||||||
|
|
||||||
idsdi = movcoll.get(MOV_IDDOCSDI);
|
idsdi = movcoll.get(MOV_IDDOCSDI);
|
||||||
datasdi = movcoll.get_date(MOV_DATADOCSDI);
|
datasdi = movcoll.get_date(MOV_DATADOCSDI);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (idsdi.blank())
|
if (idsdi.blank())
|
||||||
{
|
{
|
||||||
idsdi = mov.get(MOV_NUMDOC);
|
idsdi = mov.get(MOV_NUMDOC);
|
||||||
datasdi = mov.get_date(MOV_DATADOC);
|
datasdi = mov.get_date(MOV_DATADOC);
|
||||||
}
|
}
|
||||||
|
|
||||||
paf1400f.set("PD_IDDOC", idsdi);
|
paf1400f.set("PD_IDDOC", idsdi);
|
||||||
paf1400f.set("PD_DATADOC", datasdi);
|
paf1400f.set("PD_DATADOC", datasdi);
|
||||||
ok &= insert(paf1400f);
|
ok &= insert(paf1400f);
|
||||||
@ -3414,9 +3418,9 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
|
|||||||
reset(paf1800f);
|
reset(paf1800f);
|
||||||
paf1800f.set("PI_NUMEROLINEA", (long)i);
|
paf1800f.set("PI_NUMEROLINEA", (long)i);
|
||||||
|
|
||||||
//PI_TIPOCESSPREST CHAR(2) NOT NULL DEFAULT '', ci va?
|
//PI_TIPOCESSPREST CHAR(2) NOT NULL DEFAULT '', ci va?
|
||||||
//PI_DESCRIZIONE CHAR(100) NOT NULL DEFAULT '',
|
//PI_DESCRIZIONE CHAR(100) NOT NULL DEFAULT '',
|
||||||
//PI_RIFAMMINISTR CHAR(20) NOT NULL DEFAULT '',
|
//PI_RIFAMMINISTR CHAR(20) NOT NULL DEFAULT '',
|
||||||
|
|
||||||
paf1800f.set("PI_QUANTITA", 1l);
|
paf1800f.set("PI_QUANTITA", 1l);
|
||||||
paf1800f.set("PI_PREZZOUNIT", rec_iva.get(RMI_IMPONIBILE));
|
paf1800f.set("PI_PREZZOUNIT", rec_iva.get(RMI_IMPONIBILE));
|
||||||
@ -3430,8 +3434,6 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
|
|||||||
|
|
||||||
ok &= insert(paf1800f);
|
ok &= insert(paf1800f);
|
||||||
add_riepilogo_iva(mov, i);
|
add_riepilogo_iva(mov, i);
|
||||||
|
|
||||||
|
|
||||||
reset(paf3000f);
|
reset(paf3000f);
|
||||||
paf3000f.set("PT_RIFNUMLINEA", (long)i);
|
paf3000f.set("PT_RIFNUMLINEA", (long)i);
|
||||||
paf3000f.set("PT_COMMENTO", "");//TODO COSA DOBBIAMO METTERE NELLA DESCRIZIONE IVA CHE NON C'è
|
paf3000f.set("PT_COMMENTO", "");//TODO COSA DOBBIAMO METTERE NELLA DESCRIZIONE IVA CHE NON C'è
|
||||||
@ -3440,33 +3442,31 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
|
|||||||
if (ok) ok &= insert(paf3000f);
|
if (ok) ok &= insert(paf3000f);
|
||||||
|
|
||||||
if (ok) ok &= insert(paf0700f);
|
if (ok) ok &= insert(paf0700f);
|
||||||
|
|
||||||
// Tabella di non invio XML
|
|
||||||
TPaf_record& pafw300f = _paf_container.get_paf("PAFW300F");
|
|
||||||
pafw300f.set("PW_TIPODOC", ""); //TODO PASSARE IL TIPO DOCUMENTO DELLA MASK NEL COSTRUTTORE
|
|
||||||
pafw300f.set("PW_TIPONUM", ""); //TODO COSA CI METTIAMO NEL TIPO NUM
|
|
||||||
pafw300f.set("PW_NUMERO", mov.get(MOV_NUMDOC));
|
|
||||||
pafw300f.set("PW_DATA", mov.get_date(MOV_DATADOC));
|
|
||||||
if (!_definitivo)
|
|
||||||
pafw300f.set("PW_CODSDI", "**********");
|
|
||||||
pafw300f.set("PW_CDEST", _coddest);
|
|
||||||
pafw300f.set("PW_RAGSOC", fornitore.ragione_sociale().left(35));
|
|
||||||
pafw300f.set("PW_PAESE", fornitore.stato_residenza_ISO());
|
|
||||||
pafw300f.set("PW_CODICE", fornitore.codice_fiscale_estero());
|
|
||||||
pafw300f.set("PW_CFISCA", fornitore.codice_fiscale());
|
|
||||||
pafw300f.set("PW_DENOM", fornitore.ragione_sociale());
|
|
||||||
if (fornitore.fisica() && fornitore.nome().full())
|
|
||||||
{
|
|
||||||
pafw300f.set("PW_NOME", fornitore.nome());
|
|
||||||
pafw300f.set("PW_COGN", fornitore.cognome());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
pafw300f.set("PW_RAGSOC", fornitore.ragione_sociale().left(35));
|
|
||||||
pafw300f.set("PW_IMPO", mov.get_real(MOV_TOTDOC)); //TODO controllare ?????
|
|
||||||
ok &= insert(pafw300f);
|
|
||||||
return _to_commit = (ok && save_paf());
|
|
||||||
}
|
}
|
||||||
return ok;
|
// Tabella di non invio XML
|
||||||
|
TPaf_record& pafw300f = _paf_container.get_paf("PAFW300F");
|
||||||
|
pafw300f.set("PW_TIPODOC", ""); //TODO PASSARE IL TIPO DOCUMENTO DELLA MASK NEL COSTRUTTORE
|
||||||
|
pafw300f.set("PW_TIPONUM", ""); //TODO COSA CI METTIAMO NEL TIPO NUM
|
||||||
|
pafw300f.set("PW_NUMERO", mov.get(MOV_NUMDOC));
|
||||||
|
pafw300f.set("PW_DATA", mov.get_date(MOV_DATADOC));
|
||||||
|
if (!_definitivo)
|
||||||
|
pafw300f.set("PW_CODSDI", "**********");
|
||||||
|
pafw300f.set("PW_CDEST", _coddest);
|
||||||
|
pafw300f.set("PW_RAGSOC", fornitore.ragione_sociale().left(35));
|
||||||
|
pafw300f.set("PW_PAESE", fornitore.stato_residenza_ISO());
|
||||||
|
pafw300f.set("PW_CODICE", fornitore.codice_fiscale_estero());
|
||||||
|
pafw300f.set("PW_CFISCA", fornitore.codice_fiscale());
|
||||||
|
pafw300f.set("PW_DENOM", fornitore.ragione_sociale());
|
||||||
|
if (fornitore.fisica() && fornitore.nome().full())
|
||||||
|
{
|
||||||
|
pafw300f.set("PW_NOME", fornitore.nome());
|
||||||
|
pafw300f.set("PW_COGN", fornitore.cognome());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
pafw300f.set("PW_RAGSOC", fornitore.ragione_sociale().left(35));
|
||||||
|
pafw300f.set("PW_IMPO", mov.get_real(MOV_TOTDOC)); //TODO controllare ?????
|
||||||
|
ok &= insert(pafw300f);
|
||||||
|
return _to_commit = (ok && save_paf());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TReg_fp::reg_to_paf(long n_mov)
|
bool TReg_fp::reg_to_paf(long n_mov)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user