Patch level : nopatch
Files correlati : Commento : Implementazione nuovo modulo FP
This commit is contained in:
parent
7137749816
commit
99e9ff1229
@ -67,6 +67,13 @@ void TPAR_mask::save_all_fields()
|
|||||||
ini_set_string(CONFIG_DITTA, "fp", "CAUSALE", codcaus, r);
|
ini_set_string(CONFIG_DITTA, "fp", "CAUSALE", codcaus, r);
|
||||||
_causali.add(codcaus);
|
_causali.add(codcaus);
|
||||||
}
|
}
|
||||||
|
for (int i = scaus.items(); ; i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (!ini_remove(CONFIG_DITTA, "fp", "CAUSALE", i))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TPAR_mask::force_reload_sheet()
|
void TPAR_mask::force_reload_sheet()
|
||||||
@ -92,7 +99,10 @@ void TPAR_mask::load_all_fields()
|
|||||||
TString16 caus = ini_get_string(CONFIG_DITTA, "fp", "CAUSALE", "", i);
|
TString16 caus = ini_get_string(CONFIG_DITTA, "fp", "CAUSALE", "", i);
|
||||||
|
|
||||||
if (caus.full())
|
if (caus.full())
|
||||||
scaus.set_row_cell(S_COD_CAUS, caus);
|
{
|
||||||
|
int r = scaus.set_row_cell(S_COD_CAUS, caus);
|
||||||
|
scaus.set_row_cell(S_DESCR, cache().get(LF_CAUSALI, caus, CAU_DESCR), r);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -165,7 +175,7 @@ void TPAR_mask::fill()
|
|||||||
const TCli_for & cli = cached_clifor(mov.get_char(MOV_TIPO), mov.get_long(MOV_CODCF));
|
const TCli_for & cli = cached_clifor(mov.get_char(MOV_TIPO), mov.get_long(MOV_CODCF));
|
||||||
bool sent = false;
|
bool sent = false;
|
||||||
|
|
||||||
if (chiave_paf_mov(mov, hfatt, bfatt))
|
if (chiave_paf_mov(mov, tipodocsdi, hfatt, bfatt))
|
||||||
{
|
{
|
||||||
if (paf0100f.search(nullptr, hfatt, bfatt) && paf0100f.sq_get("P1_GESTIONE") != " " && paf0100f.sq_get("P1_ERRINT") != "*")
|
if (paf0100f.search(nullptr, hfatt, bfatt) && paf0100f.sq_get("P1_GESTIONE") != " " && paf0100f.sq_get("P1_ERRINT") != "*")
|
||||||
{
|
{
|
||||||
@ -219,7 +229,7 @@ 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, true, r); // verificare
|
regs.set_row_cell(S_ONLYGEN, get_bool(F_PROVVISORIO), r); // verificare
|
||||||
}
|
}
|
||||||
|
|
||||||
regs.force_update();
|
regs.force_update();
|
||||||
@ -387,46 +397,49 @@ void TPAR_mask::export_paf()
|
|||||||
{
|
{
|
||||||
int ndocs = 0;
|
int ndocs = 0;
|
||||||
TSheet_field& sht = sfield(F_REGS);
|
TSheet_field& sht = sfield(F_REGS);
|
||||||
TReg_fp elab(get(F_TIPO_SDI));
|
const TString &tipo_doc_sdi = get(F_TIPO_SDI);
|
||||||
|
TReg_fp elab(tipo_doc_sdi);
|
||||||
|
|
||||||
//elab.set_cache_insert(true);
|
//elab.set_cache_insert(true);
|
||||||
if (!sht.empty())
|
if (!sht.empty())
|
||||||
{
|
{
|
||||||
TProgress_monitor pi(sht.items(), "Esportazione Regolarizzazioni");
|
|
||||||
|
|
||||||
FOR_EACH_SHEET_ROW_LOOP(sht, r)
|
|
||||||
{
|
{
|
||||||
if (!pi.add_status())
|
TProgress_monitor pi(sht.items(), "Esportazione Regolarizzazioni");
|
||||||
break;
|
|
||||||
|
|
||||||
if (sht.get_bool_row_cell(r, S_SELECTED))
|
FOR_EACH_SHEET_ROW_LOOP(sht, r)
|
||||||
{
|
{
|
||||||
const long nreg = sht.get_long_row_cell(r, S_NUMREG);
|
if (!pi.add_status())
|
||||||
|
break;
|
||||||
|
|
||||||
// Verifico che il codice sdi nello sheet sia lo stesso sulla testata del documento in caso contrario lo aggiorno
|
if (sht.get_bool_row_cell(r, S_SELECTED))
|
||||||
TMovimento_contabile mov(nreg);
|
|
||||||
|
|
||||||
if (elab.reg_to_paf(mov))
|
|
||||||
ndocs++;
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
TString msg;
|
const long nreg = sht.get_long_row_cell(r, S_NUMREG);
|
||||||
|
|
||||||
msg.format("La registrazione numero %ld non è stata esportata, continuare?", nreg);
|
// Verifico che il codice sdi nello sheet sia lo stesso sulla testata del documento in caso contrario lo aggiorno
|
||||||
elab.log().log(2, msg);
|
TMovimento_contabile mov(nreg);
|
||||||
if (!yesno_box(msg))
|
|
||||||
break;
|
if (elab.reg_to_paf(mov))
|
||||||
|
ndocs++;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TString msg;
|
||||||
|
|
||||||
|
msg.format("La registrazione numero %ld non è stata esportata, continuare?", nreg);
|
||||||
|
elab.log().log(2, msg);
|
||||||
|
if (!yesno_box(msg))
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (elab.force_commit() <= 0)
|
if (elab.force_commit() <= 0)
|
||||||
{
|
{
|
||||||
TString msg;
|
TString msg;
|
||||||
|
|
||||||
msg.format("Errore durante il cambiamento di stato finale, potrebbero esser rimaste delle fatture in Pronto");
|
msg.format("Errore durante il cambiamento di stato finale, potrebbero esser rimaste delle fatture in Pronto");
|
||||||
elab.log().log(2, msg);
|
elab.log().log(2, msg);
|
||||||
error_box(msg);
|
error_box(msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
elab.show_log();
|
elab.show_log();
|
||||||
}
|
}
|
||||||
@ -594,7 +607,7 @@ void TPAR_mask::set_err_paf()
|
|||||||
TString hfatt, bfatt;
|
TString hfatt, bfatt;
|
||||||
TPaf_record paf0100f("PAF0100F");
|
TPaf_record paf0100f("PAF0100F");
|
||||||
|
|
||||||
if (chiave_paf_mov(mov, 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 <<
|
query <<
|
||||||
|
@ -4,8 +4,9 @@
|
|||||||
#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_PROVVISORIO 407
|
||||||
#define START_MASK F_DATAINI
|
#define START_MASK F_DATAINI
|
||||||
#define END_MASK F_REGS
|
#define END_MASK F_PROVVISORIO
|
||||||
|
|
||||||
|
|
||||||
#define S_COD_CAUS 101
|
#define S_COD_CAUS 101
|
||||||
|
@ -91,6 +91,11 @@ BEGIN
|
|||||||
ITEM "TD20|TD20 Autofattura"
|
ITEM "TD20|TD20 Autofattura"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_PROVVISORIO
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 15 "Provvisorio"
|
||||||
|
END
|
||||||
|
|
||||||
STRING DLG_PROFILE 50
|
STRING DLG_PROFILE 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 -1 "Profilo "
|
PROMPT 1 -1 "Profilo "
|
||||||
|
@ -36,7 +36,7 @@ TString& complete_num_fp(const TCodice_numerazione& codnum, const int numdoc);
|
|||||||
|
|
||||||
|
|
||||||
// Genera la chiave per i paf
|
// Genera la chiave per i paf
|
||||||
bool chiave_paf_mov(const TRectype& mov, TString& hfatt, TString& bfatt);
|
bool chiave_paf_mov(const TRectype& mov, const char* tipo_doc_sdi, TString& hfatt, TString& bfatt);
|
||||||
bool chiave_paf_doc(const TDocumento& doc, TString& hfatt, TString& bfatt);
|
bool chiave_paf_doc(const TDocumento& doc, TString& hfatt, TString& bfatt);
|
||||||
bool chiave_paf_doc(const TRectype& doc, TString& hfatt, TString& bfatt);
|
bool chiave_paf_doc(const TRectype& doc, TString& hfatt, TString& bfatt);
|
||||||
// Ritorna cod sdi, pec o vuoto. Chiama get_coddest()
|
// Ritorna cod sdi, pec o vuoto. Chiama get_coddest()
|
||||||
|
@ -166,7 +166,7 @@ TString& complete_num_fp(const TCodice_numerazione& codnum, const int numdoc)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Crea la coppia di chiavi per il db PAF a partire da un movimento
|
// Crea la coppia di chiavi per il db PAF a partire da un movimento
|
||||||
bool chiave_paf_mov(const TRectype& mov, TString& hfatt, TString& bfatt)
|
bool chiave_paf_mov(const TRectype& mov, const char* tipo_doc_sdi, TString& hfatt, TString& bfatt)
|
||||||
{
|
{
|
||||||
TCli_for cli(mov.get_char(MOV_TIPO), mov.get_long(MOV_CODCF));
|
TCli_for cli(mov.get_char(MOV_TIPO), mov.get_long(MOV_CODCF));
|
||||||
hfatt.cut(0);
|
hfatt.cut(0);
|
||||||
@ -180,8 +180,8 @@ bool chiave_paf_mov(const TRectype& mov, TString& hfatt, TString& bfatt)
|
|||||||
TString numdoc = mov.get(MOV_NUMDOC);
|
TString numdoc = mov.get(MOV_NUMDOC);
|
||||||
|
|
||||||
numdoc.lpad(mov.length(DOC_NDOC), '0');
|
numdoc.lpad(mov.length(DOC_NDOC), '0');
|
||||||
bfatt = mov.get_date(MOV_DATAREG).date2ansi();
|
bfatt.cut(0);
|
||||||
bfatt << '_' << numdoc;
|
bfatt << mov.get_date(MOV_DATAREG).date2ansi() << '_' << tipo_doc_sdi << '_' << numdoc;
|
||||||
return hfatt.full() && bfatt.full();
|
return hfatt.full() && bfatt.full();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2752,7 +2752,7 @@ bool TReg_fp::initialize(const TMovimento_contabile& mov)
|
|||||||
|
|
||||||
// Paese del documento
|
// Paese del documento
|
||||||
_paese = "IT";
|
_paese = "IT";
|
||||||
if (!chiave_paf_mov(mov, _hfatt, _bfatt))
|
if (!chiave_paf_mov(mov, _tipo_doc_sdi, _hfatt, _bfatt))
|
||||||
return false;
|
return false;
|
||||||
// Preparo il log
|
// Preparo il log
|
||||||
_log.log(-1, _bfatt);
|
_log.log(-1, _bfatt);
|
||||||
@ -2948,143 +2948,131 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
|
|||||||
ok &= export_paf3200f();
|
ok &= export_paf3200f();
|
||||||
// <CedentePrestatore>
|
// <CedentePrestatore>
|
||||||
TPaf_record& paf0200f = _paf_container.get_paf("PAF0200F");
|
TPaf_record& paf0200f = _paf_container.get_paf("PAF0200F");
|
||||||
TAnagrafica cliente(mov.clifo());
|
TAnagrafica fornitore(mov.clifo());
|
||||||
if (!paf0200f.is_full())
|
if (!paf0200f.is_full())
|
||||||
{
|
{
|
||||||
if (_ditta.partita_IVA().full())
|
if (fornitore.partita_IVA().full())
|
||||||
{
|
{
|
||||||
paf0200f.set("P2_FISCIVAPAESE", _ditta.stato_partita_IVA());
|
paf0200f.set("P2_FISCIVAPAESE", fornitore.stato_partita_IVA());
|
||||||
paf0200f.set("P2_FISCIVACOD", _ditta.partita_IVA());
|
paf0200f.set("P2_FISCIVACOD", fornitore.partita_IVA());
|
||||||
}
|
}
|
||||||
paf0200f.set("P2_CODFISCALE", _ditta.codice_fiscale());
|
paf0200f.set("P2_CODFISCALE", fornitore.codice_fiscale()); //
|
||||||
if (_ditta.fisica())
|
if (_ditta.fisica())
|
||||||
{
|
{
|
||||||
paf0200f.set("P2_ANANOME", _ditta.nome());
|
paf0200f.set("P2_ANANOME", fornitore.nome()); //
|
||||||
paf0200f.set("P2_ANACOGNOME", _ditta.cognome());
|
paf0200f.set("P2_ANACOGNOME", fornitore.cognome()); //
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
paf0200f.set("P2_ANADENOMIN", _ditta.ragione_sociale());
|
paf0200f.set("P2_ANADENOMIN", fornitore.ragione_sociale()); //
|
||||||
}
|
}
|
||||||
paf0200f.set("P2_REGFISCALE", ""); //TODO DA RF01 A RF09
|
paf0200f.set("P2_REGFISCALE", ""); //TODO DA RF01 A RF09
|
||||||
// DatiSede
|
// DatiSede
|
||||||
paf0200f.set("P2_SEDEIND", _ditta.via_residenza());
|
paf0200f.set("P2_SEDEIND", fornitore.via_residenza()); //
|
||||||
paf0200f.set("P2_SEDENRCIVICO", _ditta.civico_residenza().left(8));
|
paf0200f.set("P2_SEDENRCIVICO", fornitore.civico_residenza().left(8)); //
|
||||||
paf0200f.set("P2_SEDECAP", _ditta.CAP_residenza());
|
paf0200f.set("P2_SEDECOMUNE", fornitore.comune_residenza()); //
|
||||||
paf0200f.set("P2_SEDECOMUNE", _ditta.comune_residenza());
|
paf0200f.set("P2_SEDENAZ", fornitore.stato_residenza_ISO()); //
|
||||||
paf0200f.set("P2_SEDEPROV", _ditta.provincia_residenza());
|
|
||||||
paf0200f.set("P2_SEDENAZ", _paese);
|
|
||||||
paf0200f.set("P2_GESTIONE", "D");
|
paf0200f.set("P2_GESTIONE", "D");
|
||||||
|
|
||||||
paf0200f.set("P2_RIFAMMINISTR", mov.clifo().vendite().get(CFV_PARIFAMM));
|
// I clienti esteri possono avere CAP alfanumerici, li tolgo
|
||||||
paf0200f.set("P2_ISCRREASOCIOU", _ditta.sociounico() == 'S' ? "SU" : "SM");
|
if (fornitore.stato_residenza_ISO() != "IT")
|
||||||
TISAM_recordset unloc("USE UNLOC\nJOIN COMUNI INTO COM==COMCCIAA\nFROM CODDITTA=#DITTA\nTO CODDITTA=#DITTA");
|
|
||||||
unloc.set_var("#DITTA", get_firm().get(NDT_CODDITTA));
|
|
||||||
if (unloc.move_first())
|
|
||||||
{
|
{
|
||||||
const TString& numrea = unloc.get(ULC_NUMCCIAA).as_string();
|
paf0200f.set("P2_SEDECAP", "00000");//
|
||||||
if (numrea.full())
|
|
||||||
{
|
|
||||||
paf0200f.set("P2_ISCRREANUM", numrea);
|
|
||||||
paf0200f.set("P2_ISCRREAUFF", unloc.get("13->" COM_PROVCOM));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (_ditta.giuridica())
|
|
||||||
{
|
|
||||||
TISAM_recordset anagiu("USE ANAGIU\nFROM CODANAGR=#CODICE\nTO CODANAGR=#CODICE");
|
|
||||||
|
|
||||||
anagiu.set_var("#CODICE", get_firm().get(NDT_CODANAGR));
|
|
||||||
if (anagiu.move_first())
|
|
||||||
{
|
|
||||||
paf0200f.set("P2_ISCRREACAP", anagiu.get(ANG_CAPSOC));
|
|
||||||
const int ss = anagiu.get(ANG_STATOSOC).as_int();
|
|
||||||
paf0200f.set("P2_ISCRREASLIQUID", (ss == 2 || ss == 3) ? "LS" : "LN");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
paf0200f.set("P2_ISCRREASLIQUID", "LN");
|
|
||||||
}
|
|
||||||
ok &= insert(paf0200f);
|
|
||||||
// </CedentePrestatore>
|
|
||||||
// <CessionarioCommittente>
|
|
||||||
TPaf_record& paf0400f = _paf_container.get_paf("PAF0400F");
|
|
||||||
|
|
||||||
TString stato = cliente.stato_partita_IVA();
|
|
||||||
TTable tab_codiso("%SCE");
|
|
||||||
tab_codiso.tab();
|
|
||||||
tab_codiso.put("CODTAB", stato); tab_codiso.read();
|
|
||||||
TString piva = cliente.partita_IVA(),
|
|
||||||
fisc = cliente.codice_fiscale();
|
|
||||||
if (!stato.full())
|
|
||||||
stato = "IT";
|
|
||||||
if (tab_codiso.get_bool("B0") || stato == "IT") // Cliente EU
|
|
||||||
{
|
|
||||||
if (piva.full())
|
|
||||||
{
|
{
|
||||||
if (piva.len() == 11 && (piva[0] == '8' || piva[0] == '9'))
|
paf0200f.set("P2_SEDECAP", fornitore.CAP_residenza()); //
|
||||||
{
|
paf0200f.set("P2_SEDEPROV", fornitore.provincia_residenza()); //
|
||||||
fisc = piva;
|
|
||||||
piva.cut(0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (fisc.full() && fisc.len() == 11 && (fisc[0] == '8' || fisc[0] == '9'))
|
}
|
||||||
piva.cut(0);
|
|
||||||
|
ok &= insert(paf0200f);
|
||||||
|
|
||||||
|
|
||||||
|
// </CedentePrestatore>
|
||||||
|
// </CedentePrestatore>
|
||||||
|
// <CessionarioCommittente>
|
||||||
|
TPaf_record& paf0400f = _paf_container.get_paf("PAF0400F");
|
||||||
|
|
||||||
if (piva.full())
|
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.len() == 11 && (piva[0] == '8' || piva[0] == '9'))
|
||||||
|
{
|
||||||
|
fisc = piva;
|
||||||
|
piva.cut(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (fisc.full() && fisc.len() == 11 && (fisc[0] == '8' || fisc[0] == '9'))
|
||||||
|
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);
|
paf0400f.set("P4_FISCIVAPAESE", stato);
|
||||||
paf0400f.set("P4_FISCIVACOD", piva);
|
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);
|
||||||
}
|
}
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cliente.fisica() && cliente.nome().full())
|
if (_ditta.fisica() && _ditta.nome().full())
|
||||||
{
|
{
|
||||||
paf0400f.set("P4_ANANOME", cliente.nome());
|
paf0400f.set("P4_ANANOME", _ditta.nome()); //
|
||||||
paf0400f.set("P4_ANACOGNOME", cliente.cognome());
|
paf0400f.set("P4_ANACOGNOME", _ditta.cognome()); //
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
paf0400f.set("P4_ANADENOM", cliente.ragione_sociale());
|
paf0400f.set("P4_ANADENOM", _ditta.ragione_sociale()); //
|
||||||
}
|
}
|
||||||
// DatiSede
|
// DatiSede
|
||||||
paf0400f.set("P4_SEDEIND", cliente.via_residenza());
|
paf0400f.set("P4_SEDEIND", _ditta.via_residenza());
|
||||||
paf0400f.set("P4_SEDENRCIVICO", cliente.civico_residenza().left(8));
|
paf0400f.set("P4_SEDENRCIVICO", _ditta.civico_residenza().left(8));
|
||||||
paf0400f.set("P4_SEDECOMUNE", cliente.comune_residenza());
|
paf0400f.set("P4_SEDECAP", _ditta.CAP_residenza());
|
||||||
paf0400f.set("P4_SEDENAZ", cliente.stato_residenza_ISO());
|
paf0400f.set("P4_SEDECOMUNE", _ditta.comune_residenza());
|
||||||
// I clienti esteri possono avere CAP alfanumerici, li tolgo
|
paf0400f.set("P4_SEDEPROV", _ditta.provincia_residenza());
|
||||||
if (cliente.stato_residenza_ISO() != "IT")
|
paf0400f.set("P4_SEDENAZ", _ditta.stato_residenza_ISO());
|
||||||
{
|
|
||||||
paf0400f.set("P4_SEDECAP", "00000");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
paf0400f.set("P4_SEDECAP", cliente.CAP_residenza());
|
|
||||||
paf0400f.set("P4_SEDEPROV", cliente.provincia_residenza());
|
|
||||||
}
|
|
||||||
// Titolo onorifico!
|
|
||||||
const TString& titolo = (mov.clifo().vendite().get(CFV_TITOLO));
|
|
||||||
|
|
||||||
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", "D");
|
|
||||||
ok &= insert(paf0400f);
|
if (titolo.full())
|
||||||
// </CessionarioCommittente>
|
paf0400f.set("P4_ANATITOLO", cache().get("TIT", titolo, "S0"));
|
||||||
// <DatiGenerali>
|
paf0400f.set("P4_GESTIONE", "D");
|
||||||
|
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_DATADOC));
|
paf0700f.set("P7_DATA", mov.get_date(MOV_DATADOC));
|
||||||
paf0700f.set("P7_NUMERO", ""); //da chiedere ad ilaria
|
TString numdoc = mov.get(MOV_NUMDOCEXT);
|
||||||
|
|
||||||
|
if (numdoc.blank())
|
||||||
|
numdoc = mov.get(MOV_NUMDOC);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (numdoc.len() > 20)
|
||||||
|
numdoc = numdoc.mid(30);
|
||||||
|
}
|
||||||
|
|
||||||
|
paf0700f.set("P7_NUMERO", numdoc);
|
||||||
paf0700f.set("P7_GESTIONE", "D");
|
paf0700f.set("P7_GESTIONE", "D");
|
||||||
|
|
||||||
TPaf_record& paf2700f = _paf_container.get_paf("PAF2700F");
|
TPaf_record& paf2700f = _paf_container.get_paf("PAF2700F");
|
||||||
@ -3132,18 +3120,18 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
|
|||||||
pafw300f.set("PW_CODSDI", "**********");
|
pafw300f.set("PW_CODSDI", "**********");
|
||||||
*/
|
*/
|
||||||
pafw300f.set("PW_CDEST", _coddest);
|
pafw300f.set("PW_CDEST", _coddest);
|
||||||
pafw300f.set("PW_RAGSOC", cliente.ragione_sociale().left(35));
|
pafw300f.set("PW_RAGSOC", fornitore.ragione_sociale().left(35));
|
||||||
pafw300f.set("PW_PAESE", cliente.stato_residenza_ISO());
|
pafw300f.set("PW_PAESE", fornitore.stato_residenza_ISO());
|
||||||
pafw300f.set("PW_CODICE", cliente.codice_fiscale_estero());
|
pafw300f.set("PW_CODICE", fornitore.codice_fiscale_estero());
|
||||||
pafw300f.set("PW_CFISCA", cliente.codice_fiscale());
|
pafw300f.set("PW_CFISCA", fornitore.codice_fiscale());
|
||||||
pafw300f.set("PW_DENOM", cliente.ragione_sociale());
|
pafw300f.set("PW_DENOM", fornitore.ragione_sociale());
|
||||||
if (cliente.fisica() && cliente.nome().full())
|
if (fornitore.fisica() && fornitore.nome().full())
|
||||||
{
|
{
|
||||||
pafw300f.set("PW_NOME", cliente.nome());
|
pafw300f.set("PW_NOME", fornitore.nome());
|
||||||
pafw300f.set("PW_COGN", cliente.cognome());
|
pafw300f.set("PW_COGN", fornitore.cognome());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pafw300f.set("PW_RAGSOC", cliente.ragione_sociale().left(35));
|
pafw300f.set("PW_RAGSOC", fornitore.ragione_sociale().left(35));
|
||||||
pafw300f.set("PW_IMPO", mov.get_real(MOV_TOTDOC)); //TODO controllare ?????
|
pafw300f.set("PW_IMPO", mov.get_real(MOV_TOTDOC)); //TODO controllare ?????
|
||||||
ok &= insert(pafw300f);
|
ok &= insert(pafw300f);
|
||||||
return _to_commit = (ok && save_paf());
|
return _to_commit = (ok && save_paf());
|
||||||
@ -3196,6 +3184,6 @@ bool TReg_fp::show_log()
|
|||||||
TFilename name = "fp_err.log";
|
TFilename name = "fp_err.log";
|
||||||
|
|
||||||
b.add(_log);
|
b.add(_log);
|
||||||
b.export_text(name, false, 132);
|
b.export_text(name);
|
||||||
return _log.preview();
|
return _log.preview();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user