From fff1c711a321a7fd286bdd17cce083d9141d182d Mon Sep 17 00:00:00 2001 From: smen Date: Fri, 2 Sep 2022 14:31:14 +0200 Subject: [PATCH] Patch level : 12.0 Files correlati : fp0300.cpp, fplib01.cpp, fatturac.src, ve0300a.src Commento: Nella videata "Magazzino" di ve0-0 (Documenti interattivi) aggiunti al campo "Collegamento documento P.A." due nuovi valori: "Ricezione" e "Fatt.Coll." Modificato leggermente il programma di fatturazione in relazione a questa aggiunta --- src/fp/fp0300.cpp | 2 +- src/fp/fplib01.cpp | 104 ++++++++++++++++++++++++++++---------------- src/ve/fatturac.src | 2 +- src/ve/ve0300a.src | 2 +- 4 files changed, 70 insertions(+), 40 deletions(-) diff --git a/src/fp/fp0300.cpp b/src/fp/fp0300.cpp index 3d02748eb..9bc64958d 100644 --- a/src/fp/fp0300.cpp +++ b/src/fp/fp0300.cpp @@ -480,7 +480,7 @@ void TPA_mask::export_paf() ndocs++; else { - if (!yesno_box("L'ultima fattura non รจ stata esportata, continuare?")) + if (!yesno_box("L'ultima fattura non e' stata esportata, continuare?")) break; } } diff --git a/src/fp/fplib01.cpp b/src/fp/fplib01.cpp index 410107d89..902f049ec 100644 --- a/src/fp/fplib01.cpp +++ b/src/fp/fplib01.cpp @@ -207,7 +207,7 @@ TString_array & get_paf_names() if (__paf_names.items() == 0) { - const char * names[] = { "PAF0100F", "PAF0200F", "PAF0400F", "PAF0700F", "PAF0800F", "PAF0900F", "PAF1000F", "PAF1100F", "PAF1200F", + const char * names[] = { "PAF0100F", "PAF0200F", "PAF0400F", "PAF0700F", "PAF0800F", "PAF0900F", "PAF1000F", "PAF1100F", "PAF1200F", "PAF1300F", "PAF1400F", "PAF1600F", "PAF1700F", "PAF1800F", "PAF1900F", "PAF2000F", "PAF2100F", "PAF2200F", "PAF2400F", "PAF2500F", "PAF2600F", "PAF2700F", "PAF3000F", "PAF3200F", "PAF3400F", "PAF3400F", "PAFW300F", nullptr }; @@ -801,6 +801,8 @@ const char* TPaf_container::paf_to_prefix(const char * paf) return "PA"; if (paf_name == "PAF1200F") return "PB"; + if (paf_name == "PAF1300F") + return "PC"; if (paf_name == "PAF1400F") return "PD"; if (paf_name == "PAF1600F") @@ -854,12 +856,14 @@ TPaf_container::TPaf_container() _pafs.insert(std::pair("PAF0800F", TPaf_record("PAF0800F"))); // Sconto in fattura _pafs.insert(std::pair("PAF0900F", TPaf_record("PAF0900F"))); - // Contratti - _pafs.insert(std::pair("PAF1000F", TPaf_record("PAF1000F"))); - // Convenzioni - _pafs.insert(std::pair("PAF1100F", TPaf_record("PAF1100F"))); // Ordini + _pafs.insert(std::pair("PAF1000F", TPaf_record("PAF1000F"))); + // Contratti + _pafs.insert(std::pair("PAF1100F", TPaf_record("PAF1100F"))); + // Convenzioni _pafs.insert(std::pair("PAF1200F", TPaf_record("PAF1200F"))); + // Ricezioni + _pafs.insert(std::pair("PAF1300F", TPaf_record("PAF1300F"))); // DatiFattureCollegate _pafs.insert(std::pair("PAF1400F", TPaf_record("PAF1400F"))); // DDT Testata @@ -2002,12 +2006,12 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc) // if ((doc.is_nota_credito() || get_send_all_rifs()) && doc.get(DOC_NUMDOCRIF).full()) { - TPaf_record& paf1400f = _paf_container.get_paf("PAF1400F"); + TPaf_record& paf1000f = _paf_container.get_paf("PAF1000F"); - reset(paf1400f); - paf1400f.set("PD_IDDOC", doc.get(DOC_NUMDOCRIF)); - paf1400f.set("PD_DATADOC", doc.get_date(DOC_DATADOCRIF)); - ok &= insert(paf1400f); + reset(paf1000f); + paf1000f.set("P0_IDDOC", doc.get(DOC_NUMDOCRIF)); + paf1000f.set("P0_DATADOC", doc.get_date(DOC_DATADOCRIF)); + ok &= insert(paf1000f); } // // @@ -2043,15 +2047,23 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc) // SEMPRE - // Azzera contratti + // Azzera ordini TPaf_record& paf1000f = _paf_container.get_paf("PAF1000F"); paf1000f.set("P0_RIFNUMLINEA", 0L); - // Azzera convenzioni + // Azzera contratti TPaf_record& paf1100f = _paf_container.get_paf("PAF1100F"); paf1100f.set("PA_RIFNUMLINEA", 0L); - // Azzera ordini + // Azzera convenzioni TPaf_record& paf1200f = _paf_container.get_paf("PAF1200F"); paf1200f.set("PB_RIFNUMLINEA", 0L); + // Azzera Ricezione + TPaf_record& paf1300f = _paf_container.get_paf("PAF1300F"); + paf1300f.set("PC_RIFNUMLINEA", 0L); + // Azzera Fatture Collegate + TPaf_record& paf1400f = _paf_container.get_paf("PAF1400F"); + paf1400f.set("PD_RIFNUMLINEA", 0L); + + TString80 con = doc.get(DOC_CONTRATTO); if (con.full() || cup.full() || cig.full()) { @@ -2069,6 +2081,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc) if (con.blank()) con = cup; } + if (tcon == 'O') { paf1000f.set("P0_RIFNUMLINEA", 0L); @@ -2077,33 +2090,50 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc) paf1000f.set("P0_COMMESSACONV", com); paf1000f.set("P0_CODCUP", cup); paf1000f.set("P0_CODCIG", cig); - paf1000f.set("P0_GESTIONE", stato_paf()); ok &= insert(paf1000f); } - 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); - paf1100f.set("PA_GESTIONE", stato_paf()); - ok &= insert(paf1100f); - } - 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", stato_paf()); - ok &= insert(paf1200f); - } + else if (tcon == 'C') + { + paf1100f.set("PA_RIFNUMLINEA", 0L); + paf1100f.set("PA_IDDOC", con); + paf1100f.set("PA_DATADOC", datadoc); + paf1100f.set("PA_COMMCONVENZ", com); + paf1100f.set("PA_CODCUP", cup); + paf1100f.set("PA_CODCIG", cig); + ok &= insert(paf1100f); + } + else if(tcon == 'V') + { + paf1200f.set("PB_RIFNUMLINEA", 0L); + paf1200f.set("PB_IDDOC", con); + paf1200f.set("PB_DATADOC", datadoc); + paf1200f.set("PB_COMMCONVENZ", com); + paf1200f.set("PB_CODCUP", cup); + paf1200f.set("PB_CODCIG", cig); + ok &= insert(paf1200f); + } + else if (tcon == 'R') + { + paf1300f.set("PC_RIFNUMLINEA", 0L); + paf1300f.set("PC_IDDOC", con); + paf1300f.set("PC_DATADOC", datadoc); + paf1300f.set("PC_COMMCONVENZ", com); + paf1300f.set("PC_CODCUP", cup); + paf1300f.set("PC_CODCIG", cig); + ok &= insert(paf1300f); + } + else if (tcon == 'F') + { + paf1400f.set("PD_RIFNUMLINEA", 0L); + paf1400f.set("PD_IDDOC", con); + paf1400f.set("PD_DATADOC", datadoc); + paf1400f.set("PD_COMMCONVENZ", com); + paf1400f.set("PD_CODCUP", cup); + paf1400f.set("PD_CODCIG", cig); + ok &= insert(paf1400f); + } } + if (_is_pa && cup.blank() && cig.blank()) _log.log(1, "CIG e CUP assenti"); // diff --git a/src/ve/fatturac.src b/src/ve/fatturac.src index 8c3bdb83e..0122909b7 100755 --- a/src/ve/fatturac.src +++ b/src/ve/fatturac.src @@ -11,7 +11,7 @@ CALCOLI=* TOTPROVV = // modifica // Indica se il documento ่ indirizzato ad un cliente o ad un fornitore -TIPOCF=C +TIPOCF=C //modulo di riferimento MODULE=ve diff --git a/src/ve/ve0300a.src b/src/ve/ve0300a.src index 65fc5892f..14bd2af40 100755 --- a/src/ve/ve0300a.src +++ b/src/ve/ve0300a.src @@ -1971,7 +1971,7 @@ Y=3 MSKID=F_PATIPOCON PROMPT="Collegamento documento P.A. " FIELDNAME=MODPAG -ITEMS=C|Contratto@V|Convenzione@O|Ordine +ITEMS=C|Contratto@V|Convenzione@O|Ordine@R|Ricezione@F|Fatt. Coll. HELP=Inserire un tipo contratto/convenzione/ordine SPECIAL=MO PA