Patch level : nopatch

Files correlati     :
Commento :
This commit is contained in:
smen 2021-12-17 17:20:25 +01:00
parent f30600fd48
commit da743db4f5
3 changed files with 33 additions and 20 deletions

View File

@ -1364,11 +1364,11 @@ class TAnagrafica : public TObject
char _tipo; // F o G
char _sociounico;
TString4 _stato_paiv;
TString _cofi, _paiv, _cofiest;
TString _cofi, _paiv, _cofiest, _pec;
TString80 _ragsoc;
TString4 _com_nasc, _com_res;
TString80 _loc_res, _ind_res, _via_res;
TString16 _civ_res, _cap_res, _cod_EORI, _pec, _coddest;
TString16 _civ_res, _cap_res, _cod_EORI, _coddest;
TDate _data_nasc;
int _allegato, _stato_estero, _stato_nasc;

View File

@ -527,7 +527,7 @@ bool TAnagrafica::init(const TRectype& rec)
if (_tipo == 'G' || _ragsoc.len() <= 30)
split_ragsoc();
_cod_EORI = rec.get(CLI_CODEORI);
_coddest = rec.get(CLI_PADESTIN);
_coddest = rec.get(CFV_PADESTIN);
_pec = rec.get(CLI_PEC);
break;
case LF_MOV:

View File

@ -2849,12 +2849,8 @@ bool TReg_fp::initialize(const TMovimento_contabile& mov)
// Controllo se il documento almeno in stato di stampa
_is_pa = mov.clifo().get_int("ALLEG") == 7;
// direi che la mia pec no si trova cosi''
if (!get_coddest(mov.get_char(MOV_TIPO), mov.get_long(MOV_CODCF), _coddest, _pec))
{
_log.log(1, "Impossibile trovare il codice destinatario per la fattura");
return false;
}
_coddest = _ditta.coddest();
_pec = _ditta.pec();
_enapec = _coddest == "0000000" && _pec.full();
_privato = _coddest.len() != 6;
// Azzero indici
@ -3144,16 +3140,6 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
paf0400f.set("P4_SEDECOMUNE", _ditta.comune_residenza());
paf0400f.set("P4_SEDEPROV", _ditta.provincia_residenza());
paf0400f.set("P4_SEDENAZ", _ditta.stato_residenza_ISO());
TString coddest = _ditta.coddest();
if (coddest.blank())
{
if (_ditta.pec().full())
coddest = _ditta.pec();
else
coddest = "0000000";
}
// Titolo onorifico!
const TString& titolo = (mov.clifo().vendite().get(CFV_TITOLO));
@ -3209,6 +3195,12 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
datasdi = movcoll.get_date(MOV_DATADOCSDI);
}
}
if (idsdi.blank())
{
idsdi = mov.get(MOV_NUMDOC);
datasdi = mov.get_date(MOV_DATADOC);
}
paf1400f.set("PD_IDDOC", idsdi);
paf1400f.set("PD_DATADOC", datasdi);
ok &= insert(paf1400f);
@ -3225,10 +3217,31 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
for (int i = 1; i <= n_righe_iva; i++)
{
const TRectype& rec_iva = mov.iva()[i];
const TString16 cod_aliquota = rec_iva.get(RMI_CODIVA);
const TCodiceIVA& cod_iva = cached_codIVA(cod_aliquota);
const real aliquota = cod_iva.percentuale();
reset(paf1800f);
paf1800f.set("PI_NUMEROLINEA", (long)i);
add_riepilogo_iva(mov, i);
//PI_TIPOCESSPREST CHAR(2) NOT NULL DEFAULT '', ci va?
//PI_DESCRIZIONE CHAR(100) NOT NULL DEFAULT '',
//PI_RIFAMMINISTR CHAR(20) NOT NULL DEFAULT '',
paf1800f.set("PI_QUANTITA", 1l);
paf1800f.set("PI_PREZZOUNIT", rec_iva.get(RMI_IMPONIBILE));
paf1800f.set("PI_PRZTOTALE", rec_iva.get(RMI_IMPONIBILE));
paf1800f.set("PI_ALIQUOTA", aliquota);
if (aliquota.is_zero())
paf1800f.set("PI_NATURA", natura(cod_aliquota));
paf1800f.set("PI_GESTIONE", stato_paf());
paf1800f.set("PI_ERRINT", "");
paf1800f.set("PI_ERREST", "");
ok &= insert(paf1800f);
add_riepilogo_iva(mov, i);
reset(paf3000f);
paf3000f.set("PT_RIFNUMLINEA", (long)i);