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:
Mattia Tollari 2018-07-17 16:31:00 +02:00
parent ca043c8d0f
commit d3badd5744
6 changed files with 1055 additions and 1119 deletions

View File

@ -1,6 +1,6 @@
#define F_INDIRIZZO 104 #define F_INDIRIZZO 101
#define F_DATABASE 101 #define F_DATABASE 102
#define F_USER 102 #define F_USER 103
#define F_PASSWORD 103 #define F_PASSWORD 104
#define F_FLDDEST 104 #define F_FLDDEST 105
#define F_FLDUSRDEST 105 #define F_FLDUSRDEST 106

View File

@ -46,13 +46,13 @@ BEGIN
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
STRING F_FLDDEST 50 STRING F_FLDDEST 250 50
BEGIN BEGIN
PROMPT 2 6 "Destinazione Server " PROMPT 2 6 "Destinazione Server "
FLAGS "" FLAGS ""
END END
STRING F_FLDUSRDEST 50 STRING F_FLDUSRDEST 250 50
BEGIN BEGIN
PROMPT 2 7 "Destinazione User " PROMPT 2 7 "Destinazione User "
FLAGS "" FLAGS ""

View File

@ -133,7 +133,7 @@ TAncestor::TAncestor(const TRectype& rdoc)
TString16 numdoc; TString16 numdoc;
num.complete_num(ndoc, 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); _datadoc = doc.get_date(DOC_DATADOC);
} }
@ -670,7 +670,7 @@ protected:
const char* natura(const TString& codiva) const; const char* natura(const TString& codiva) const;
static void set_IVA(const TString& codiva, TPaf_record& paf); static void set_IVA(const TString& codiva, TPaf_record& paf);
static void set_IVA(const TRiga_documento& rdoc, 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); bool elabora(TDocumentoEsteso& doc);
@ -876,15 +876,13 @@ void TDoc2Paf::log(int severity, const char* msg)
bool TDoc2Paf::show_log() bool TDoc2Paf::show_log()
{ {
bool ok = true;
if (_log) if (_log)
{ {
_log->preview(); _log->preview();
delete _log; delete _log;
_log = NULL; _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); 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; static long riga_art = 0;
paf.set("PY_KEYNLINAR", ++riga_art); paf.set("PY_KEYNLINAR", ++riga_art);
paf.set("PY_TIPOARTICOLO", codice_tipo); paf.set("PY_TIPOARTICOLO", codice_tipo);
paf.set("PY_VALOREARTICOLO", codice_valore); 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 else
return false; return false;
} }
bool privato = coddest.len() != 6;
const bool privato = coddest.len() != 6;
bool ok = true;
if (!chiave_paf(doc, hfatt, bfatt)) if (!chiave_paf(doc, hfatt, bfatt))
return false; return false;
@ -955,7 +958,6 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
// <DatiTrassmissione> // <DatiTrassmissione>
TPaf_record paf0100f("PAF0100F"); TPaf_record paf0100f("PAF0100F");
paf0100f.set("P1_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf0100f.set("P1_KEYHEADERFATT", hfatt); paf0100f.set("P1_KEYHEADERFATT", hfatt);
paf0100f.set("P1_KEYBODYFATT", bfatt); paf0100f.set("P1_KEYBODYFATT", bfatt);
paf0100f.remove(); paf0100f.remove();
@ -970,25 +972,23 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
paf0100f.set("P1_TELEFONO", tel); paf0100f.set("P1_TELEFONO", tel);
paf0100f.set("P1_MAIL", firm.get(NDT_MAIL)); paf0100f.set("P1_MAIL", firm.get(NDT_MAIL));
paf0100f.set("P1_GESTIONE", "P"); paf0100f.set("P1_GESTIONE", "P");
paf0100f.insert(); ok &= paf0100f.insert();
// </DatiTrassmissione> // </DatiTrassmissione>
if (enapec) if (enapec)
{ {
// <Datipec> // <Datipec>
TPaf_record paf3200f("PAF3200F"); TPaf_record paf3200f("PAF3200F");
paf3200f.set("PU_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf3200f.set("PU_KEYHEADERFATT", hfatt); paf3200f.set("PU_KEYHEADERFATT", hfatt);
paf3200f.set("PU_KEYBODYFATT", bfatt); paf3200f.set("PU_KEYBODYFATT", bfatt);
paf3200f.remove(); paf3200f.remove();
paf3200f.set("PU_PEC", bfatt); paf3200f.set("PU_PEC", bfatt);
paf3200f.insert(); ok &= paf3200f.insert();
// </Datipec> // </Datipec>
} }
// <CedentePrestatore> // <CedentePrestatore>
TPaf_record paf0200f("PAF0200F"); TPaf_record paf0200f("PAF0200F");
paf0200f.set("P2_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf0200f.set("P2_KEYHEADERFATT", hfatt); paf0200f.set("P2_KEYHEADERFATT", hfatt);
paf0200f.set("P2_KEYBODYFATT", bfatt); paf0200f.set("P2_KEYBODYFATT", bfatt);
paf0200f.remove(); paf0200f.remove();
@ -1053,14 +1053,13 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
else else
paf0200f.set("P2_ISCRREASLIQUID", "LN"); paf0200f.set("P2_ISCRREASLIQUID", "LN");
paf0200f.insert(); ok &= paf0200f.insert();
// </CedentePrestatore> // </CedentePrestatore>
// <CessionarioCommittente> // <CessionarioCommittente>
TPaf_record paf0400f("PAF0400F"); TPaf_record paf0400f("PAF0400F");
paf0400f.set("P4_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf0400f.set("P4_KEYHEADERFATT", hfatt); paf0400f.set("P4_KEYHEADERFATT", hfatt);
paf0400f.set("P4_KEYBODYFATT", bfatt); paf0400f.set("P4_KEYBODYFATT", bfatt);
paf0400f.remove(); paf0400f.remove();
@ -1090,12 +1089,11 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
paf0400f.set("P4_SEDEPROV", cliente.provincia_residenza()); paf0400f.set("P4_SEDEPROV", cliente.provincia_residenza());
paf0400f.set("P4_SEDENAZ", cliente.stato_residenza_ISO()); paf0400f.set("P4_SEDENAZ", cliente.stato_residenza_ISO());
paf0400f.set("P4_GESTIONE", "D"); paf0400f.set("P4_GESTIONE", "D");
paf0400f.insert(); ok &= paf0400f.insert();
// </CessionarioCommittente> // </CessionarioCommittente>
// <DatiGenerali> // <DatiGenerali>
TPaf_record paf0700f("PAF0700F"); TPaf_record paf0700f("PAF0700F");
paf0700f.set("P7_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf0700f.set("P7_KEYHEADERFATT", hfatt); paf0700f.set("P7_KEYHEADERFATT", hfatt);
paf0700f.set("P7_KEYBODYFATT", bfatt); paf0700f.set("P7_KEYBODYFATT", bfatt);
paf0700f.remove(); paf0700f.remove();
@ -1124,7 +1122,6 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
// <ScontoMaggiorazione> // <ScontoMaggiorazione>
TPaf_record paf0900f("PAF0900F"); TPaf_record paf0900f("PAF0900F");
paf0900f.set("P9_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf0900f.set("P9_KEYHEADERFATT", hfatt); paf0900f.set("P9_KEYHEADERFATT", hfatt);
paf0900f.set("P9_KEYBODYFATT", bfatt); paf0900f.set("P9_KEYBODYFATT", bfatt);
paf0900f.remove(); paf0900f.remove();
@ -1151,7 +1148,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
paf0900f.set("P9_PERCSCONTO", -sconto); paf0900f.set("P9_PERCSCONTO", -sconto);
} }
paf0900f.set("P9_GESTIONE", "D"); paf0900f.set("P9_GESTIONE", "D");
paf0900f.insert(); ok &= paf0900f.insert();
} }
} }
} }
@ -1159,7 +1156,6 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
// <DatiGenerali> // <DatiGenerali>
TPaf_record paf2700f("PAF2700F"); TPaf_record paf2700f("PAF2700F");
paf2700f.set("PQ_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf2700f.set("PQ_KEYHEADERFATT", hfatt); paf2700f.set("PQ_KEYHEADERFATT", hfatt);
paf2700f.set("PQ_KEYBODYFATT", bfatt); paf2700f.set("PQ_KEYBODYFATT", bfatt);
paf2700f.remove(); paf2700f.remove();
@ -1179,114 +1175,110 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
paf2700f.set("PQ_CAUSALE", causale); paf2700f.set("PQ_CAUSALE", causale);
// paf2700f.set("PQ_ART73", true); // paf2700f.set("PQ_ART73", true);
paf2700f.set("PQ_GESTIONE", "D"); paf2700f.set("PQ_GESTIONE", "D");
paf2700f.insert(); ok &= paf2700f.insert();
// </DatiGenerali> // </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 // Azzera DDT
TPaf_record paf1600f("PAF1600F"); TPaf_record paf1600f("PAF1600F");
paf1600f.set("PF_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf1600f.set("PF_KEYHEADERFATT", hfatt); paf1600f.set("PF_KEYHEADERFATT", hfatt);
paf1600f.set("PF_KEYBODYFATT", bfatt); paf1600f.set("PF_KEYBODYFATT", bfatt);
paf1600f.remove(); paf1600f.remove();
// Fuori dallo scope per dopo
const TString16 cup = doc.get(DOC_CUP); const TString16 cup = doc.get(DOC_CUP);
const TString16 cig = doc.get(DOC_CIG); const TString16 cig = doc.get(DOC_CIG);
const TString80 com = doc.get(DOC_CODCMS); const TString80 com = doc.get(DOC_CODCMS);
TString80 con = doc.get(DOC_CONTRATTO); if (!privato)
if (con.full() || cup.full() || cig.full())
{ {
char tcon = doc.get_char(DOC_MODPAG); // Azzera contratti
if (tcon < 'C') tcon = 'C'; TPaf_record paf1000f("PAF1000F");
paf1000f.set("P0_KEYHEADERFATT", hfatt);
paf1000f.set("P0_KEYBODYFATT", bfatt);
paf1000f.remove();
TDate datadoc; // Data contratto non obbligatoria // Azzera convenzioni
if (con.full()) TPaf_record paf1100f("PAF1100F");
{ paf1100f.set("PA_KEYHEADERFATT", hfatt);
datadoc = cco(doc).get_date("D0"); paf1100f.set("PA_KEYBODYFATT", bfatt);
} paf1100f.remove();
else
{
// IdDocumento obbligatorio
con = cig;
if (con.blank())
con = cup;
}
if (tcon == 'O') // Azzera ordini
{ TPaf_record paf1200f("PAF1200F");
paf1000f.set("P0_RIFNUMLINEA", 0L); paf1200f.set("PB_KEYHEADERFATT", hfatt);
paf1000f.set("P0_IDDOC", con); paf1200f.set("PB_KEYBODYFATT", bfatt);
paf1000f.set("P0_DATADOC", datadoc); paf1200f.remove();
paf1000f.set("P0_COMMCONVENZ", com);
paf1000f.set("P0_CODCUP", cup); TString80 con = doc.get(DOC_CONTRATTO);
paf1000f.set("P0_CODCIG", cig); if (con.full() || cup.full() || cig.full())
paf1000f.set("P0_GESTIONE", "D"); {
paf1000f.insert(); char tcon = doc.get_char(DOC_MODPAG);
} if (tcon < 'C') tcon = 'C';
else if (tcon == 'C')
{ TDate datadoc; // Data contratto non obbligatoria
paf1100f.set("PA_RIFNUMLINEA", 0L); if (con.full())
paf1100f.set("PA_IDDOC", con); {
paf1100f.set("PA_DATADOCU", datadoc); datadoc = cco(doc).get_date("D0");
paf1100f.set("PA_COMMCONVENZ", com); }
paf1100f.set("PA_CODCUP", cup); else
paf1100f.set("PA_CODCIG", cig); {
paf1000f.set("PA_GESTIONE", "D"); // IdDocumento obbligatorio
paf1100f.insert(); con = cig;
} if (con.blank())
else con = cup;
{ }
paf1200f.set("PB_RIFNUMLINEA", 0L);
paf1200f.set("PB_IDDOC", con); if (tcon == 'O')
paf1200f.set("PB_DATADOCO", datadoc); {
paf1200f.set("PB_COMMCONVENZ", com); paf1000f.set("P0_RIFNUMLINEA", 0L);
paf1200f.set("PB_CODCUP", cup); paf1000f.set("P0_IDDOC", con);
paf1200f.set("PB_CODCIG", cig); paf1000f.set("P0_DATADOC", datadoc);
paf1200f.set("PB_GESTIONE", "D"); paf1000f.set("P0_COMMCONVENZ", com);
paf1200f.insert(); 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> // <DatiBeniServizi>
TPaf_record paf1800f("PAF1800F"); TPaf_record paf1800f("PAF1800F");
paf1800f.set("PI_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf1800f.set("PI_KEYHEADERFATT", hfatt); paf1800f.set("PI_KEYHEADERFATT", hfatt);
paf1800f.set("PI_KEYBODYFATT", bfatt); paf1800f.set("PI_KEYBODYFATT", bfatt);
paf1800f.remove(); // Cancella tutte le righe documento paf1800f.remove(); // Cancella tutte le righe documento
TPaf_record paf2000f("PAF2000F"); TPaf_record paf2000f("PAF2000F");
paf2000f.set("PJ_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf2000f.set("PJ_KEYHEADERFATT", hfatt); paf2000f.set("PJ_KEYHEADERFATT", hfatt);
paf2000f.set("PJ_KEYBODYFATT", bfatt); paf2000f.set("PJ_KEYBODYFATT", bfatt);
paf2000f.remove(); // Cancella tutti gli sconti di riga paf2000f.remove(); // Cancella tutti gli sconti di riga
TPaf_record paf1900f("PAF1900F"); TPaf_record paf1900f("PAF1900F");
paf1900f.set("PY_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf1900f.set("PY_KEYHEADERFATT", hfatt); paf1900f.set("PY_KEYHEADERFATT", hfatt);
paf1900f.set("PY_KEYBODYFATT", bfatt); paf1900f.set("PY_KEYBODYFATT", bfatt);
paf1900f.remove(); // Cancella tutte le righe articoli del documento 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) FOR_EACH_PHYSICAL_RDOC(doc, r, rdoc)
{ {
paf1800f.reset(); paf1800f.reset();
paf1800f.set("PI_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf1800f.set("PI_KEYHEADERFATT", hfatt); paf1800f.set("PI_KEYHEADERFATT", hfatt);
paf1800f.set("PI_KEYBODYFATT", bfatt); paf1800f.set("PI_KEYBODYFATT", bfatt);
paf1800f.set("PI_NUMEROLINEA", ++riga); paf1800f.set("PI_NUMEROLINEA", ++riga);
@ -1318,7 +1309,6 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
if (art.ok()) if (art.ok())
{ {
paf1900f.reset(); paf1900f.reset();
paf1900f.set("PY_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf1900f.set("PY_KEYHEADERFATT", hfatt); paf1900f.set("PY_KEYHEADERFATT", hfatt);
paf1900f.set("PY_KEYBODYFATT", bfatt); paf1900f.set("PY_KEYBODYFATT", bfatt);
paf1900f.set("PY_KEYNLINEA", riga); paf1900f.set("PY_KEYNLINEA", riga);
@ -1328,11 +1318,11 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
if (art.codice().full()) if (art.codice().full())
{ {
tmp.cut(0) << art.codice(); // Fixed_string di merda 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") 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> // </CodiceArticolo>
@ -1393,7 +1383,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
paf2000f.set("PJ_PERCSCONTO", -perc); paf2000f.set("PJ_PERCSCONTO", -perc);
} }
paf2000f.set("PJ_GESTIONE", "D"); paf2000f.set("PJ_GESTIONE", "D");
paf2000f.insert(); ok &= paf2000f.insert();
} }
} }
} }
@ -1413,31 +1403,32 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
// <DatiDDT> // <DatiDDT>
TPaf_record paf1600f("PAF1600F"); TPaf_record paf1600f("PAF1600F");
paf1600f.reset(); paf1600f.reset();
paf1600f.set("PF_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf1600f.set("PF_KEYHEADERFATT", hfatt); paf1600f.set("PF_KEYHEADERFATT", hfatt);
paf1600f.set("PF_KEYBODYFATT", bfatt); paf1600f.set("PF_KEYBODYFATT", bfatt);
paf1600f.set("PF_RIFNUMLINEA", (long)r); paf1600f.set("PF_RIFNUMLINEA", (long)r);
paf1600f.set("PF_NUMDDDT", a._numdoc); paf1600f.set("PF_NUMDDDT", a._numdoc);
paf1600f.set("PF_DATADDT", a._datadoc); paf1600f.set("PF_DATADDT", a._datadoc);
paf1600f.set("PF_GESTIONE", "D"); paf1600f.set("PF_GESTIONE", "D");
paf1600f.insert(); ok &= paf1600f.insert();
// </DatiDDT> // </DatiDDT>
} }
else if (i == 3) else if (i == 3)
{ {
// <DatiOrdineAcquisto> // <DatiOrdineAcquisto>
TPaf_record paf1000f("PAF1000F"); TPaf_record paf1000f("PAF1000F");
paf1000f.set("P0_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf1000f.set("P0_KEYHEADERFATT", hfatt); paf1000f.set("P0_KEYHEADERFATT", hfatt);
paf1000f.set("P0_KEYBODYFATT", bfatt); paf1000f.set("P0_KEYBODYFATT", bfatt);
paf1000f.set("P0_RIFNUMLINEA", (long)r); paf1000f.set("P0_RIFNUMLINEA", (long)r);
paf1000f.set("P0_IDDOC", a._numdoc); paf1000f.set("P0_IDDOC", a._numdoc);
paf1000f.set("P0_DATADOC", a._datadoc); paf1000f.set("P0_DATADOC", a._datadoc);
paf1000f.set("P0_COMMCONVENZ", com); if (!privato)
paf1000f.set("P0_CODCUP", cup); {
paf1000f.set("P0_CODCIG", cig); paf1000f.set("P0_COMMCONVENZ", com);
paf1000f.set("P0_CODCUP", cup);
paf1000f.set("P0_CODCIG", cig);
}
paf1000f.set("P0_GESTIONE", "D"); paf1000f.set("P0_GESTIONE", "D");
paf1000f.insert(); ok &= paf1000f.insert();
// </DatiOrdineAcquisto> // </DatiOrdineAcquisto>
} }
} }
@ -1498,7 +1489,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
} }
paf1800f.set("PI_GESTIONE", "D"); paf1800f.set("PI_GESTIONE", "D");
paf1800f.insert(); ok &= paf1800f.insert();
} }
// </DatiBeniServizi> // </DatiBeniServizi>
@ -1515,11 +1506,10 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
// </DatiTrasporto> // </DatiTrasporto>
// Salvo la testata // Salvo la testata
paf0700f.insert(); ok &= paf0700f.insert();
// <DatiRiepilogo> // <DatiRiepilogo>
TPaf_record paf2200f("PAF2200F"); TPaf_record paf2200f("PAF2200F");
paf2200f.set("PL_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf2200f.set("PL_KEYHEADERFATT", hfatt); paf2200f.set("PL_KEYHEADERFATT", hfatt);
paf2200f.set("PL_KEYBODYFATT", bfatt); paf2200f.set("PL_KEYBODYFATT", bfatt);
paf2200f.remove(); // Cancella tutte le righe di riepilogo IVA paf2200f.remove(); // Cancella tutte le righe di riepilogo IVA
@ -1548,13 +1538,12 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
else else
paf2200f.set("PL_RIFNORMATIVO", riva.cod_iva().descrizione()); paf2200f.set("PL_RIFNORMATIVO", riva.cod_iva().descrizione());
paf2200f.set("PL_GESTIONE", "D"); paf2200f.set("PL_GESTIONE", "D");
paf2200f.insert(); ok &= paf2200f.insert();
} }
// </DatiRiepilogo> // </DatiRiepilogo>
// <DatiPagamento> // <DatiPagamento>
TPaf_record paf2400f("PAF2400F"); TPaf_record paf2400f("PAF2400F");
paf2400f.set("PN_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf2400f.set("PN_KEYHEADERFATT", hfatt); paf2400f.set("PN_KEYHEADERFATT", hfatt);
paf2400f.set("PN_KEYBODYFATT", bfatt); paf2400f.set("PN_KEYBODYFATT", bfatt);
paf2400f.remove(); // Cancella i dati pagamento 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_RIGA", ZERO); // Al momento non gestiamo più tipologie di pagamento per documento
paf2400f.set("PN_CONDPAGAMENTO", rateazione); paf2400f.set("PN_CONDPAGAMENTO", rateazione);
paf2400f.set("PN_GESTIONE", "D"); paf2400f.set("PN_GESTIONE", "D");
paf2400f.insert(); ok &= paf2400f.insert();
TPaf_record paf2500f("PAF2500F"); TPaf_record paf2500f("PAF2500F");
paf2500f.set("PO_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf2500f.set("PO_KEYHEADERFATT", hfatt); paf2500f.set("PO_KEYHEADERFATT", hfatt);
paf2500f.set("PO_KEYBODYFATT", bfatt); paf2500f.set("PO_KEYBODYFATT", bfatt);
paf2500f.remove(); // Cancella tutte le rate paf2500f.remove(); // Cancella tutte le rate
@ -1597,23 +1585,24 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
for (int nr = 0; nr < nrate; nr++) for (int nr = 0; nr < nrate; nr++)
{ {
paf2500f.set("PO_RIGA", long(nr + 1)); // Numero rata 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 #ifdef DBG
bool tolla = true; 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; bool aaaa = true;
#endif #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 TToken_string& riga = scad.row(nr); // Data|Importo
paf2500f.set("PO_DATASCADENZA", TDate(riga.get(0))); // Data scadenza paf2500f.set("PO_DATASCADENZA", TDate(riga.get(0))); // Data scadenza
paf2500f.set("PO_IMPORTO", real(riga.get())); // Importo rata paf2500f.set("PO_IMPORTO", real(riga.get())); // Importo rata
paf2500f.set("PO_GESTIONE", "D"); paf2500f.set("PO_GESTIONE", "D");
paf2500f.insert(); ok &= paf2500f.insert();
} }
TPaf_record paf2600f("PAF2600F"); TPaf_record paf2600f("PAF2600F");
paf2600f.set("PP_KEYPRGINVIO", ""); // Ci pensa SiAggFP
paf2600f.set("PP_KEYHEADERFATT", hfatt); paf2600f.set("PP_KEYHEADERFATT", hfatt);
paf2600f.set("PP_KEYBODYFATT", bfatt); paf2600f.set("PP_KEYBODYFATT", bfatt);
paf2600f.remove(); // Cancella eventuali allegati paf2600f.remove(); // Cancella eventuali allegati
@ -1647,7 +1636,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
paf2600f.set("PP_ATTACHMENT", dest_path); paf2600f.set("PP_ATTACHMENT", dest_path);
fname.upper(); // serve estensione maiuscola fname.upper(); // serve estensione maiuscola
paf2600f.set("PP_FMTATTACHMENT", fname.ext()); paf2600f.set("PP_FMTATTACHMENT", fname.ext());
paf2600f.insert(); ok &= paf2600f.insert();
} }
} }
const TTipo_documento& td = cached_tipodoc(doc.get(DOC_TIPODOC)); const TTipo_documento& td = cached_tipodoc(doc.get(DOC_TIPODOC));
@ -1694,66 +1683,6 @@ bool TDoc2Paf::elabora(const TFilename& ini)
return elabora(key); 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() void TDoc2Paf::main_loop()
{ {
int ndocs = 0; int ndocs = 0;
@ -1804,7 +1733,7 @@ void TDoc2Paf::main_loop()
{ {
_def_usr_fld = _def_fld; _def_usr_fld = _def_fld;
} }
else if (!_def_fld.ends_with("\\")) else if (!_def_usr_fld.ends_with("\\"))
{ {
_def_usr_fld << "\\"; _def_usr_fld << "\\";
} }
@ -1845,7 +1774,7 @@ bool TDoc2Paf::create()
TRectype cfven(LF_CFVEN); TRectype cfven(LF_CFVEN);
if (cfven.type(CFV_PARIFAMM) != _alfafld) 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()); _ditta.init(LF_NDITTE, prefix().get_codditta());
@ -1869,6 +1798,6 @@ bool TDoc2Paf::destroy()
int fp0300(int argc, char* argv[]) int fp0300(int argc, char* argv[])
{ {
TDoc2Paf d2p; TDoc2Paf d2p;
d2p.run(argc, argv, TR("Fatturazione P.A.")); d2p.run(argc, argv, TR("Fatturazione F.P."));
return 0; return 0;
} }

View File

@ -61,7 +61,11 @@ bool check_tables()
string s; string s;
while(!f.eof()) while(!f.eof())
{ {
s += getline(f); static string r;
r = getline(f);
if (r[0] == '-' && r[1] == '-')
continue;
s += r;
// Cerco un ; // Cerco un ;
const int limiter = s.find(';') + 1; const int limiter = s.find(';') + 1;
if(limiter > 0) if(limiter > 0)

7
src/fp/fpmenu.men Normal file
View 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