Patch level : 12.0 600
Files correlati : fp Commento : - Aggiornata maschera configurazione - Tolta richiesta generazione xml - Sistemato nome programma - Sistemato tutta la roba SDI messa ultimamente - Tolta valorizzazione KEYPRGINVIO che da problemi - Sistemato SQL
This commit is contained in:
parent
ca043c8d0f
commit
d3badd5744
@ -1,6 +1,6 @@
|
||||
#define F_INDIRIZZO 104
|
||||
#define F_DATABASE 101
|
||||
#define F_USER 102
|
||||
#define F_PASSWORD 103
|
||||
#define F_FLDDEST 104
|
||||
#define F_FLDUSRDEST 105
|
||||
#define F_INDIRIZZO 101
|
||||
#define F_DATABASE 102
|
||||
#define F_USER 103
|
||||
#define F_PASSWORD 104
|
||||
#define F_FLDDEST 105
|
||||
#define F_FLDUSRDEST 106
|
@ -46,13 +46,13 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_FLDDEST 50
|
||||
STRING F_FLDDEST 250 50
|
||||
BEGIN
|
||||
PROMPT 2 6 "Destinazione Server "
|
||||
FLAGS ""
|
||||
END
|
||||
|
||||
STRING F_FLDUSRDEST 50
|
||||
STRING F_FLDUSRDEST 250 50
|
||||
BEGIN
|
||||
PROMPT 2 7 "Destinazione User "
|
||||
FLAGS ""
|
||||
|
@ -133,7 +133,7 @@ TAncestor::TAncestor(const TRectype& rdoc)
|
||||
|
||||
TString16 numdoc;
|
||||
num.complete_num(ndoc, numdoc);
|
||||
_numdoc.format("%d/%s/%s", anno, (const char*)codnum, (const char*)numdoc);
|
||||
_numdoc.format("%d/%s/%s", anno, static_cast<const char*>(codnum), static_cast<const char*>(numdoc));
|
||||
_datadoc = doc.get_date(DOC_DATADOC);
|
||||
}
|
||||
|
||||
@ -670,7 +670,7 @@ protected:
|
||||
const char* natura(const TString& codiva) const;
|
||||
static void set_IVA(const TString& codiva, TPaf_record& paf);
|
||||
static void set_IVA(const TRiga_documento& rdoc, TPaf_record& paf);
|
||||
static void add_row_art(const TString codice_tipo, const TString& codice_valore, TPaf_record& paf);
|
||||
static const bool add_row_art(const TString codice_tipo, const TString& codice_valore, TPaf_record& paf);
|
||||
|
||||
|
||||
bool elabora(TDocumentoEsteso& doc);
|
||||
@ -876,15 +876,13 @@ void TDoc2Paf::log(int severity, const char* msg)
|
||||
|
||||
bool TDoc2Paf::show_log()
|
||||
{
|
||||
bool ok = true;
|
||||
if (_log)
|
||||
{
|
||||
_log->preview();
|
||||
delete _log;
|
||||
_log = NULL;
|
||||
ok = noyes_box(TR("Si desidera procedere con la generazione file xml?"));
|
||||
}
|
||||
return ok;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -905,13 +903,18 @@ void TDoc2Paf::set_IVA(const TRiga_documento& rdoc, TPaf_record& paf)
|
||||
set_IVA(rdoc.get(RDOC_CODIVA), paf);
|
||||
}
|
||||
|
||||
void TDoc2Paf::add_row_art(const TString codice_tipo, const TString& codice_valore, TPaf_record& paf)
|
||||
const bool TDoc2Paf::add_row_art(const TString codice_tipo, const TString& codice_valore, TPaf_record& paf)
|
||||
{
|
||||
static long riga_art = 0;
|
||||
paf.set("PY_KEYNLINAR", ++riga_art);
|
||||
paf.set("PY_TIPOARTICOLO", codice_tipo);
|
||||
paf.set("PY_VALOREARTICOLO", codice_valore);
|
||||
paf.insert();
|
||||
const bool ok = paf.insert();
|
||||
#ifdef DBG
|
||||
if(!ok)
|
||||
error_box("Allah al bar!");
|
||||
#endif
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
||||
@ -941,9 +944,9 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
bool privato = coddest.len() != 6;
|
||||
|
||||
const bool privato = coddest.len() != 6;
|
||||
bool ok = true;
|
||||
|
||||
if (!chiave_paf(doc, hfatt, bfatt))
|
||||
return false;
|
||||
@ -955,7 +958,6 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
|
||||
// <DatiTrassmissione>
|
||||
TPaf_record paf0100f("PAF0100F");
|
||||
paf0100f.set("P1_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf0100f.set("P1_KEYHEADERFATT", hfatt);
|
||||
paf0100f.set("P1_KEYBODYFATT", bfatt);
|
||||
paf0100f.remove();
|
||||
@ -970,25 +972,23 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
paf0100f.set("P1_TELEFONO", tel);
|
||||
paf0100f.set("P1_MAIL", firm.get(NDT_MAIL));
|
||||
paf0100f.set("P1_GESTIONE", "P");
|
||||
paf0100f.insert();
|
||||
ok &= paf0100f.insert();
|
||||
// </DatiTrassmissione>
|
||||
|
||||
if (enapec)
|
||||
{
|
||||
// <Datipec>
|
||||
TPaf_record paf3200f("PAF3200F");
|
||||
paf3200f.set("PU_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf3200f.set("PU_KEYHEADERFATT", hfatt);
|
||||
paf3200f.set("PU_KEYBODYFATT", bfatt);
|
||||
paf3200f.remove();
|
||||
paf3200f.set("PU_PEC", bfatt);
|
||||
paf3200f.insert();
|
||||
ok &= paf3200f.insert();
|
||||
// </Datipec>
|
||||
}
|
||||
|
||||
// <CedentePrestatore>
|
||||
TPaf_record paf0200f("PAF0200F");
|
||||
paf0200f.set("P2_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf0200f.set("P2_KEYHEADERFATT", hfatt);
|
||||
paf0200f.set("P2_KEYBODYFATT", bfatt);
|
||||
paf0200f.remove();
|
||||
@ -1053,14 +1053,13 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
else
|
||||
paf0200f.set("P2_ISCRREASLIQUID", "LN");
|
||||
|
||||
paf0200f.insert();
|
||||
ok &= paf0200f.insert();
|
||||
|
||||
// </CedentePrestatore>
|
||||
|
||||
// <CessionarioCommittente>
|
||||
|
||||
TPaf_record paf0400f("PAF0400F");
|
||||
paf0400f.set("P4_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf0400f.set("P4_KEYHEADERFATT", hfatt);
|
||||
paf0400f.set("P4_KEYBODYFATT", bfatt);
|
||||
paf0400f.remove();
|
||||
@ -1090,12 +1089,11 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
paf0400f.set("P4_SEDEPROV", cliente.provincia_residenza());
|
||||
paf0400f.set("P4_SEDENAZ", cliente.stato_residenza_ISO());
|
||||
paf0400f.set("P4_GESTIONE", "D");
|
||||
paf0400f.insert();
|
||||
ok &= paf0400f.insert();
|
||||
// </CessionarioCommittente>
|
||||
|
||||
// <DatiGenerali>
|
||||
TPaf_record paf0700f("PAF0700F");
|
||||
paf0700f.set("P7_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf0700f.set("P7_KEYHEADERFATT", hfatt);
|
||||
paf0700f.set("P7_KEYBODYFATT", bfatt);
|
||||
paf0700f.remove();
|
||||
@ -1124,7 +1122,6 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
|
||||
// <ScontoMaggiorazione>
|
||||
TPaf_record paf0900f("PAF0900F");
|
||||
paf0900f.set("P9_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf0900f.set("P9_KEYHEADERFATT", hfatt);
|
||||
paf0900f.set("P9_KEYBODYFATT", bfatt);
|
||||
paf0900f.remove();
|
||||
@ -1151,7 +1148,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
paf0900f.set("P9_PERCSCONTO", -sconto);
|
||||
}
|
||||
paf0900f.set("P9_GESTIONE", "D");
|
||||
paf0900f.insert();
|
||||
ok &= paf0900f.insert();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1159,7 +1156,6 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
|
||||
// <DatiGenerali>
|
||||
TPaf_record paf2700f("PAF2700F");
|
||||
paf2700f.set("PQ_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf2700f.set("PQ_KEYHEADERFATT", hfatt);
|
||||
paf2700f.set("PQ_KEYBODYFATT", bfatt);
|
||||
paf2700f.remove();
|
||||
@ -1179,114 +1175,110 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
paf2700f.set("PQ_CAUSALE", causale);
|
||||
// paf2700f.set("PQ_ART73", true);
|
||||
paf2700f.set("PQ_GESTIONE", "D");
|
||||
paf2700f.insert();
|
||||
ok &= paf2700f.insert();
|
||||
// </DatiGenerali>
|
||||
|
||||
// Azzera contratti
|
||||
TPaf_record paf1000f("PAF1000F");
|
||||
paf1000f.set("P0_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf1000f.set("P0_KEYHEADERFATT", hfatt);
|
||||
paf1000f.set("P0_KEYBODYFATT", bfatt);
|
||||
paf1000f.remove();
|
||||
|
||||
// Azzera convenzioni
|
||||
TPaf_record paf1100f("PAF1100F");
|
||||
paf1100f.set("PA_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf1100f.set("PA_KEYHEADERFATT", hfatt);
|
||||
paf1100f.set("PA_KEYBODYFATT", bfatt);
|
||||
paf1100f.remove();
|
||||
|
||||
// Azzera ordini
|
||||
TPaf_record paf1200f("PAF1200F");
|
||||
paf1200f.set("PB_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf1200f.set("PB_KEYHEADERFATT", hfatt);
|
||||
paf1200f.set("PB_KEYBODYFATT", bfatt);
|
||||
paf1200f.remove();
|
||||
|
||||
// Azzera DDT
|
||||
TPaf_record paf1600f("PAF1600F");
|
||||
paf1600f.set("PF_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf1600f.set("PF_KEYHEADERFATT", hfatt);
|
||||
paf1600f.set("PF_KEYBODYFATT", bfatt);
|
||||
paf1600f.remove();
|
||||
|
||||
// Fuori dallo scope per dopo
|
||||
const TString16 cup = doc.get(DOC_CUP);
|
||||
const TString16 cig = doc.get(DOC_CIG);
|
||||
const TString80 com = doc.get(DOC_CODCMS);
|
||||
|
||||
TString80 con = doc.get(DOC_CONTRATTO);
|
||||
if (con.full() || cup.full() || cig.full())
|
||||
if (!privato)
|
||||
{
|
||||
char tcon = doc.get_char(DOC_MODPAG);
|
||||
if (tcon < 'C') tcon = 'C';
|
||||
// Azzera contratti
|
||||
TPaf_record paf1000f("PAF1000F");
|
||||
paf1000f.set("P0_KEYHEADERFATT", hfatt);
|
||||
paf1000f.set("P0_KEYBODYFATT", bfatt);
|
||||
paf1000f.remove();
|
||||
|
||||
TDate datadoc; // Data contratto non obbligatoria
|
||||
if (con.full())
|
||||
{
|
||||
datadoc = cco(doc).get_date("D0");
|
||||
}
|
||||
else
|
||||
{
|
||||
// IdDocumento obbligatorio
|
||||
con = cig;
|
||||
if (con.blank())
|
||||
con = cup;
|
||||
}
|
||||
// Azzera convenzioni
|
||||
TPaf_record paf1100f("PAF1100F");
|
||||
paf1100f.set("PA_KEYHEADERFATT", hfatt);
|
||||
paf1100f.set("PA_KEYBODYFATT", bfatt);
|
||||
paf1100f.remove();
|
||||
|
||||
if (tcon == 'O')
|
||||
{
|
||||
paf1000f.set("P0_RIFNUMLINEA", 0L);
|
||||
paf1000f.set("P0_IDDOC", con);
|
||||
paf1000f.set("P0_DATADOC", datadoc);
|
||||
paf1000f.set("P0_COMMCONVENZ", com);
|
||||
paf1000f.set("P0_CODCUP", cup);
|
||||
paf1000f.set("P0_CODCIG", cig);
|
||||
paf1000f.set("P0_GESTIONE", "D");
|
||||
paf1000f.insert();
|
||||
}
|
||||
else if (tcon == 'C')
|
||||
{
|
||||
paf1100f.set("PA_RIFNUMLINEA", 0L);
|
||||
paf1100f.set("PA_IDDOC", con);
|
||||
paf1100f.set("PA_DATADOCU", datadoc);
|
||||
paf1100f.set("PA_COMMCONVENZ", com);
|
||||
paf1100f.set("PA_CODCUP", cup);
|
||||
paf1100f.set("PA_CODCIG", cig);
|
||||
paf1000f.set("PA_GESTIONE", "D");
|
||||
paf1100f.insert();
|
||||
}
|
||||
else
|
||||
{
|
||||
paf1200f.set("PB_RIFNUMLINEA", 0L);
|
||||
paf1200f.set("PB_IDDOC", con);
|
||||
paf1200f.set("PB_DATADOCO", datadoc);
|
||||
paf1200f.set("PB_COMMCONVENZ", com);
|
||||
paf1200f.set("PB_CODCUP", cup);
|
||||
paf1200f.set("PB_CODCIG", cig);
|
||||
paf1200f.set("PB_GESTIONE", "D");
|
||||
paf1200f.insert();
|
||||
}
|
||||
// Azzera ordini
|
||||
TPaf_record paf1200f("PAF1200F");
|
||||
paf1200f.set("PB_KEYHEADERFATT", hfatt);
|
||||
paf1200f.set("PB_KEYBODYFATT", bfatt);
|
||||
paf1200f.remove();
|
||||
|
||||
TString80 con = doc.get(DOC_CONTRATTO);
|
||||
if (con.full() || cup.full() || cig.full())
|
||||
{
|
||||
char tcon = doc.get_char(DOC_MODPAG);
|
||||
if (tcon < 'C') tcon = 'C';
|
||||
|
||||
TDate datadoc; // Data contratto non obbligatoria
|
||||
if (con.full())
|
||||
{
|
||||
datadoc = cco(doc).get_date("D0");
|
||||
}
|
||||
else
|
||||
{
|
||||
// IdDocumento obbligatorio
|
||||
con = cig;
|
||||
if (con.blank())
|
||||
con = cup;
|
||||
}
|
||||
|
||||
if (tcon == 'O')
|
||||
{
|
||||
paf1000f.set("P0_RIFNUMLINEA", 0L);
|
||||
paf1000f.set("P0_IDDOC", con);
|
||||
paf1000f.set("P0_DATADOC", datadoc);
|
||||
paf1000f.set("P0_COMMCONVENZ", com);
|
||||
paf1000f.set("P0_CODCUP", cup);
|
||||
paf1000f.set("P0_CODCIG", cig);
|
||||
paf1000f.set("P0_GESTIONE", "D");
|
||||
ok &= paf1000f.insert();
|
||||
}
|
||||
else if (tcon == 'C')
|
||||
{
|
||||
paf1100f.set("PA_RIFNUMLINEA", 0L);
|
||||
paf1100f.set("PA_IDDOC", con);
|
||||
paf1100f.set("PA_DATADOCU", datadoc);
|
||||
paf1100f.set("PA_COMMCONVENZ", com);
|
||||
paf1100f.set("PA_CODCUP", cup);
|
||||
paf1100f.set("PA_CODCIG", cig);
|
||||
paf1000f.set("PA_GESTIONE", "D");
|
||||
ok &= paf1100f.insert();
|
||||
}
|
||||
else
|
||||
{
|
||||
paf1200f.set("PB_RIFNUMLINEA", 0L);
|
||||
paf1200f.set("PB_IDDOC", con);
|
||||
paf1200f.set("PB_DATADOCO", datadoc);
|
||||
paf1200f.set("PB_COMMCONVENZ", com);
|
||||
paf1200f.set("PB_CODCUP", cup);
|
||||
paf1200f.set("PB_CODCIG", cig);
|
||||
paf1200f.set("PB_GESTIONE", "D");
|
||||
ok &= paf1200f.insert();
|
||||
}
|
||||
}
|
||||
|
||||
if (cup.blank() && cig.blank())
|
||||
log(1, "CIG e CUP assenti");
|
||||
}
|
||||
|
||||
if (cup.blank() && cig.blank())
|
||||
log(1, "CIG e CUP assenti");
|
||||
|
||||
// <DatiBeniServizi>
|
||||
|
||||
TPaf_record paf1800f("PAF1800F");
|
||||
paf1800f.set("PI_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf1800f.set("PI_KEYHEADERFATT", hfatt);
|
||||
paf1800f.set("PI_KEYBODYFATT", bfatt);
|
||||
paf1800f.remove(); // Cancella tutte le righe documento
|
||||
|
||||
TPaf_record paf2000f("PAF2000F");
|
||||
paf2000f.set("PJ_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf2000f.set("PJ_KEYHEADERFATT", hfatt);
|
||||
paf2000f.set("PJ_KEYBODYFATT", bfatt);
|
||||
paf2000f.remove(); // Cancella tutti gli sconti di riga
|
||||
|
||||
TPaf_record paf1900f("PAF1900F");
|
||||
paf1900f.set("PY_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf1900f.set("PY_KEYHEADERFATT", hfatt);
|
||||
paf1900f.set("PY_KEYBODYFATT", bfatt);
|
||||
paf1900f.remove(); // Cancella tutte le righe articoli del documento
|
||||
@ -1305,7 +1297,6 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
FOR_EACH_PHYSICAL_RDOC(doc, r, rdoc)
|
||||
{
|
||||
paf1800f.reset();
|
||||
paf1800f.set("PI_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf1800f.set("PI_KEYHEADERFATT", hfatt);
|
||||
paf1800f.set("PI_KEYBODYFATT", bfatt);
|
||||
paf1800f.set("PI_NUMEROLINEA", ++riga);
|
||||
@ -1318,7 +1309,6 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
if (art.ok())
|
||||
{
|
||||
paf1900f.reset();
|
||||
paf1900f.set("PY_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf1900f.set("PY_KEYHEADERFATT", hfatt);
|
||||
paf1900f.set("PY_KEYBODYFATT", bfatt);
|
||||
paf1900f.set("PY_KEYNLINEA", riga);
|
||||
@ -1328,11 +1318,11 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
if (art.codice().full())
|
||||
{
|
||||
tmp.cut(0) << art.codice(); // Fixed_string di merda
|
||||
add_row_art("Codice interno", tmp, paf1900f);
|
||||
ok &= add_row_art("Codice interno", tmp, paf1900f);
|
||||
}
|
||||
if (rdoc->tipo().codice() == "14")
|
||||
{
|
||||
add_row_art("Codice cliente", rdoc->get("CODARTALT"), paf1900f);
|
||||
ok &= add_row_art("Codice cliente", rdoc->get("CODARTALT"), paf1900f);
|
||||
}
|
||||
}
|
||||
// </CodiceArticolo>
|
||||
@ -1393,7 +1383,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
paf2000f.set("PJ_PERCSCONTO", -perc);
|
||||
}
|
||||
paf2000f.set("PJ_GESTIONE", "D");
|
||||
paf2000f.insert();
|
||||
ok &= paf2000f.insert();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1413,31 +1403,32 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
// <DatiDDT>
|
||||
TPaf_record paf1600f("PAF1600F");
|
||||
paf1600f.reset();
|
||||
paf1600f.set("PF_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf1600f.set("PF_KEYHEADERFATT", hfatt);
|
||||
paf1600f.set("PF_KEYBODYFATT", bfatt);
|
||||
paf1600f.set("PF_RIFNUMLINEA", (long)r);
|
||||
paf1600f.set("PF_NUMDDDT", a._numdoc);
|
||||
paf1600f.set("PF_DATADDT", a._datadoc);
|
||||
paf1600f.set("PF_GESTIONE", "D");
|
||||
paf1600f.insert();
|
||||
ok &= paf1600f.insert();
|
||||
// </DatiDDT>
|
||||
}
|
||||
else if (i == 3)
|
||||
{
|
||||
// <DatiOrdineAcquisto>
|
||||
TPaf_record paf1000f("PAF1000F");
|
||||
paf1000f.set("P0_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf1000f.set("P0_KEYHEADERFATT", hfatt);
|
||||
paf1000f.set("P0_KEYBODYFATT", bfatt);
|
||||
paf1000f.set("P0_RIFNUMLINEA", (long)r);
|
||||
paf1000f.set("P0_IDDOC", a._numdoc);
|
||||
paf1000f.set("P0_DATADOC", a._datadoc);
|
||||
paf1000f.set("P0_COMMCONVENZ", com);
|
||||
paf1000f.set("P0_CODCUP", cup);
|
||||
paf1000f.set("P0_CODCIG", cig);
|
||||
if (!privato)
|
||||
{
|
||||
paf1000f.set("P0_COMMCONVENZ", com);
|
||||
paf1000f.set("P0_CODCUP", cup);
|
||||
paf1000f.set("P0_CODCIG", cig);
|
||||
}
|
||||
paf1000f.set("P0_GESTIONE", "D");
|
||||
paf1000f.insert();
|
||||
ok &= paf1000f.insert();
|
||||
// </DatiOrdineAcquisto>
|
||||
}
|
||||
}
|
||||
@ -1498,7 +1489,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
}
|
||||
|
||||
paf1800f.set("PI_GESTIONE", "D");
|
||||
paf1800f.insert();
|
||||
ok &= paf1800f.insert();
|
||||
}
|
||||
// </DatiBeniServizi>
|
||||
|
||||
@ -1515,11 +1506,10 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
// </DatiTrasporto>
|
||||
|
||||
// Salvo la testata
|
||||
paf0700f.insert();
|
||||
ok &= paf0700f.insert();
|
||||
|
||||
// <DatiRiepilogo>
|
||||
TPaf_record paf2200f("PAF2200F");
|
||||
paf2200f.set("PL_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf2200f.set("PL_KEYHEADERFATT", hfatt);
|
||||
paf2200f.set("PL_KEYBODYFATT", bfatt);
|
||||
paf2200f.remove(); // Cancella tutte le righe di riepilogo IVA
|
||||
@ -1548,13 +1538,12 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
else
|
||||
paf2200f.set("PL_RIFNORMATIVO", riva.cod_iva().descrizione());
|
||||
paf2200f.set("PL_GESTIONE", "D");
|
||||
paf2200f.insert();
|
||||
ok &= paf2200f.insert();
|
||||
}
|
||||
// </DatiRiepilogo>
|
||||
|
||||
// <DatiPagamento>
|
||||
TPaf_record paf2400f("PAF2400F");
|
||||
paf2400f.set("PN_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf2400f.set("PN_KEYHEADERFATT", hfatt);
|
||||
paf2400f.set("PN_KEYBODYFATT", bfatt);
|
||||
paf2400f.remove(); // Cancella i dati pagamento
|
||||
@ -1567,10 +1556,9 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
paf2400f.set("PN_RIGA", ZERO); // Al momento non gestiamo più tipologie di pagamento per documento
|
||||
paf2400f.set("PN_CONDPAGAMENTO", rateazione);
|
||||
paf2400f.set("PN_GESTIONE", "D");
|
||||
paf2400f.insert();
|
||||
ok &= paf2400f.insert();
|
||||
|
||||
TPaf_record paf2500f("PAF2500F");
|
||||
paf2500f.set("PO_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf2500f.set("PO_KEYHEADERFATT", hfatt);
|
||||
paf2500f.set("PO_KEYBODYFATT", bfatt);
|
||||
paf2500f.remove(); // Cancella tutte le rate
|
||||
@ -1597,23 +1585,24 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
for (int nr = 0; nr < nrate; nr++)
|
||||
{
|
||||
paf2500f.set("PO_RIGA", long(nr + 1)); // Numero rata
|
||||
int rp = nr < pag.n_rate() ? nr : 0;
|
||||
static TString key_class; key_class.cut(0) << pag.tipo_rata(rp) << pag.ulc_rata(rp);
|
||||
#ifdef DBG
|
||||
bool tolla = true;
|
||||
TString pop = cache().get("%CLR", pag.ulc_rata(nr < pag.n_rate() ? nr : 0), "S12");
|
||||
TString pop = cache().get("%CLR", key_class, "S12");
|
||||
bool aaaa = true;
|
||||
#endif
|
||||
paf2500f.set("PO_MODALITAPAGAM", cache().get("%CLR", pag.ulc_rata(nr < pag.n_rate() ? nr : 0), "S12")); // Si assicura che il numero riga sia accettabile
|
||||
paf2500f.set("PO_MODALITAPAGAM", cache().get("%CLR", key_class, "S12")); // Si assicura che il numero riga sia accettabile
|
||||
|
||||
TToken_string& riga = scad.row(nr); // Data|Importo
|
||||
paf2500f.set("PO_DATASCADENZA", TDate(riga.get(0))); // Data scadenza
|
||||
paf2500f.set("PO_IMPORTO", real(riga.get())); // Importo rata
|
||||
|
||||
paf2500f.set("PO_GESTIONE", "D");
|
||||
paf2500f.insert();
|
||||
ok &= paf2500f.insert();
|
||||
}
|
||||
|
||||
TPaf_record paf2600f("PAF2600F");
|
||||
paf2600f.set("PP_KEYPRGINVIO", ""); // Ci pensa SiAggFP
|
||||
paf2600f.set("PP_KEYHEADERFATT", hfatt);
|
||||
paf2600f.set("PP_KEYBODYFATT", bfatt);
|
||||
paf2600f.remove(); // Cancella eventuali allegati
|
||||
@ -1647,7 +1636,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
||||
paf2600f.set("PP_ATTACHMENT", dest_path);
|
||||
fname.upper(); // serve estensione maiuscola
|
||||
paf2600f.set("PP_FMTATTACHMENT", fname.ext());
|
||||
paf2600f.insert();
|
||||
ok &= paf2600f.insert();
|
||||
}
|
||||
}
|
||||
const TTipo_documento& td = cached_tipodoc(doc.get(DOC_TIPODOC));
|
||||
@ -1694,66 +1683,6 @@ bool TDoc2Paf::elabora(const TFilename& ini)
|
||||
return elabora(key);
|
||||
}
|
||||
|
||||
/*
|
||||
bool TDoc2Paf::genera_xml()
|
||||
{
|
||||
#define PABASE "SiaggPA"
|
||||
|
||||
TFilename tmp;
|
||||
|
||||
// Copia eventuali protezioni software
|
||||
TString_array files;
|
||||
if (list_files(PABASE"/*.ssa", files) == 0)
|
||||
{
|
||||
list_files("*.ssa", files);
|
||||
FOR_EACH_ARRAY_ROW(files, i, row)
|
||||
{
|
||||
tmp = PABASE; tmp.add(*row);
|
||||
xvt_fsys_fupdate(*row, tmp);
|
||||
}
|
||||
}
|
||||
files.destroy();
|
||||
if (list_files(PABASE"/*.ssa", files) != 1)
|
||||
warning_box(FR("Nella cartella %s deve essere presente esattamente un file .ssa"), PABASE);
|
||||
|
||||
TFilename home;
|
||||
xvt_sys_get_env("USERPROFILE", home.get_buffer(), home.size());
|
||||
home.add("SoftwareSirio"); home.add(PABASE);
|
||||
if (!dexist(home))
|
||||
make_dir(home);
|
||||
|
||||
tmp = home; tmp.add("config.properties");
|
||||
xvt_fsys_fupdate(PABASE"/config.properties", tmp);
|
||||
|
||||
tmp = home; tmp.add("configGUI.properties");
|
||||
xvt_fsys_fupdate(PABASE"/configGUI.properties", tmp);
|
||||
|
||||
if (tmp.exist())
|
||||
{
|
||||
TJava_profile prop(tmp);
|
||||
if (prop.get("percorso").blank())
|
||||
prop.set("percorso", _dbname.path());
|
||||
prop.set("nomePAF", _dbname);
|
||||
}
|
||||
else
|
||||
cantread_box(tmp);
|
||||
|
||||
tmp = PABASE"\\SiaggPACAMPO.jar";
|
||||
tmp.make_absolute_path();
|
||||
|
||||
DIRECTORY old_dir; xvt_fsys_get_dir(&old_dir);
|
||||
DIRECTORY new_dir; xvt_fsys_convert_str_to_dir(tmp.path(), &new_dir);
|
||||
xvt_fsys_set_dir(&new_dir);
|
||||
const bool good = goto_url(tmp);
|
||||
if (good)
|
||||
xvt_sys_sleep(3000);
|
||||
else
|
||||
error_box(FR("Impossibile eseguire Java -jar %s"), (const char*)tmp);
|
||||
xvt_fsys_set_dir(&old_dir);
|
||||
|
||||
return good;
|
||||
}
|
||||
*/
|
||||
void TDoc2Paf::main_loop()
|
||||
{
|
||||
int ndocs = 0;
|
||||
@ -1804,7 +1733,7 @@ void TDoc2Paf::main_loop()
|
||||
{
|
||||
_def_usr_fld = _def_fld;
|
||||
}
|
||||
else if (!_def_fld.ends_with("\\"))
|
||||
else if (!_def_usr_fld.ends_with("\\"))
|
||||
{
|
||||
_def_usr_fld << "\\";
|
||||
}
|
||||
@ -1845,7 +1774,7 @@ bool TDoc2Paf::create()
|
||||
|
||||
TRectype cfven(LF_CFVEN);
|
||||
if (cfven.type(CFV_PARIFAMM) != _alfafld)
|
||||
return error_box(TR("Database non convertito per fatturazione P.A."));
|
||||
return error_box(TR("Database non convertito per fatturazione F.P."));
|
||||
|
||||
_ditta.init(LF_NDITTE, prefix().get_codditta());
|
||||
|
||||
@ -1869,6 +1798,6 @@ bool TDoc2Paf::destroy()
|
||||
int fp0300(int argc, char* argv[])
|
||||
{
|
||||
TDoc2Paf d2p;
|
||||
d2p.run(argc, argv, TR("Fatturazione P.A."));
|
||||
d2p.run(argc, argv, TR("Fatturazione F.P."));
|
||||
return 0;
|
||||
}
|
||||
|
@ -61,7 +61,11 @@ bool check_tables()
|
||||
string s;
|
||||
while(!f.eof())
|
||||
{
|
||||
s += getline(f);
|
||||
static string r;
|
||||
r = getline(f);
|
||||
if (r[0] == '-' && r[1] == '-')
|
||||
continue;
|
||||
s += r;
|
||||
// Cerco un ;
|
||||
const int limiter = s.find(';') + 1;
|
||||
if(limiter > 0)
|
||||
|
7
src/fp/fpmenu.men
Normal file
7
src/fp/fpmenu.men
Normal file
@ -0,0 +1,7 @@
|
||||
[FPMENU_001]
|
||||
Caption = "Trasferimento Fatture"
|
||||
Picture = <cg01>
|
||||
Module = fp
|
||||
Flags = ""
|
||||
Item_01 = "Configurazione", "fp0 -0", ""+
|
||||
Item_02 = "Invio fatture", "fp0 -2", ""
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user