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 _tipo; // F o G
char _sociounico; char _sociounico;
TString4 _stato_paiv; TString4 _stato_paiv;
TString _cofi, _paiv, _cofiest; TString _cofi, _paiv, _cofiest, _pec;
TString80 _ragsoc; TString80 _ragsoc;
TString4 _com_nasc, _com_res; TString4 _com_nasc, _com_res;
TString80 _loc_res, _ind_res, _via_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; TDate _data_nasc;
int _allegato, _stato_estero, _stato_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) if (_tipo == 'G' || _ragsoc.len() <= 30)
split_ragsoc(); split_ragsoc();
_cod_EORI = rec.get(CLI_CODEORI); _cod_EORI = rec.get(CLI_CODEORI);
_coddest = rec.get(CLI_PADESTIN); _coddest = rec.get(CFV_PADESTIN);
_pec = rec.get(CLI_PEC); _pec = rec.get(CLI_PEC);
break; break;
case LF_MOV: 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 // 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;
// direi che la mia pec no si trova cosi'' _coddest = _ditta.coddest();
if (!get_coddest(mov.get_char(MOV_TIPO), mov.get_long(MOV_CODCF), _coddest, _pec)) _pec = _ditta.pec();
{
_log.log(1, "Impossibile trovare il codice destinatario per la fattura");
return false;
}
_enapec = _coddest == "0000000" && _pec.full(); _enapec = _coddest == "0000000" && _pec.full();
_privato = _coddest.len() != 6; _privato = _coddest.len() != 6;
// Azzero indici // 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_SEDECOMUNE", _ditta.comune_residenza());
paf0400f.set("P4_SEDEPROV", _ditta.provincia_residenza()); paf0400f.set("P4_SEDEPROV", _ditta.provincia_residenza());
paf0400f.set("P4_SEDENAZ", _ditta.stato_residenza_ISO()); 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! // Titolo onorifico!
const TString& titolo = (mov.clifo().vendite().get(CFV_TITOLO)); 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); 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_IDDOC", idsdi);
paf1400f.set("PD_DATADOC", datasdi); paf1400f.set("PD_DATADOC", datasdi);
ok &= insert(paf1400f); 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++) 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); reset(paf1800f);
paf1800f.set("PI_NUMEROLINEA", (long)i); 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); ok &= insert(paf1800f);
add_riepilogo_iva(mov, i);
reset(paf3000f); reset(paf3000f);
paf3000f.set("PT_RIFNUMLINEA", (long)i); paf3000f.set("PT_RIFNUMLINEA", (long)i);