diff --git a/src/fp/fp0300.cpp b/src/fp/fp0300.cpp index c5c6eeacd..c4149e775 100644 --- a/src/fp/fp0300.cpp +++ b/src/fp/fp0300.cpp @@ -368,7 +368,7 @@ bool TPaf_record::search(const char* k1, const char* k2, const char* k3) // Aggiunge un record al db bool TPaf_record::insert() { - CHECKS(_fields.items() > _key.items(), "Can't insert empty record on table ", _table); + CHECKS(_fields.items() >= _key.items(), "Can't insert empty record on table ", _table); TString query, values; query << "INSERT INTO " << _table << "\n("; @@ -981,7 +981,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc) tel << firm.get(NDT_PTEL) << firm.get(NDT_TEL); paf0100f.set("P1_TELEFONO", tel); paf0100f.set("P1_MAIL", firm.get(NDT_MAIL)); - paf0100f.set("P1_GESTIONE", "P"); + paf0100f.set("P1_GESTIONE", "D"); ok &= paf0100f.insert(); // @@ -992,7 +992,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc) paf3200f.set("PU_KEYHEADERFATT", hfatt); paf3200f.set("PU_KEYBODYFATT", bfatt); paf3200f.remove(); - paf3200f.set("PU_PEC", bfatt); + paf3200f.set("PU_PEC", pec); ok &= paf3200f.insert(); // } @@ -1651,10 +1651,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc) ok &= paf2600f.insert(); } } - - - - + } // @@ -1664,10 +1661,11 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc) pafw300f.set("PW_KEYHEADERFATT", bfatt); pafw300f.remove(); // Cancella eventuali allegati const TTipo_documento& td = cached_tipodoc(doc.get(DOC_TIPODOC)); - if(!td.invio_xml()) - pafw300f.set("PW_CODSDI", "**********"); + TString codsdi = !td.invio_xml() ? "**********" : (enapec ? pec : coddest); + pafw300f.set("PW_CODSDI", codsdi); ok &= pafw300f.insert(); + return ok; } @@ -1775,6 +1773,9 @@ void TDoc2Paf::main_loop() if (!pi.add_status(1)) break; } + if (ndocs > 0) + db().sq_set_exec("UPDATE PAF0100F SET P1_GESTIONE = 'P' WHERE P1_GESTIONE = 'D'"); + message_box(FR("Sono stati elaborati %d documenti"), ndocs); } diff --git a/src/fp/fp0300a.uml b/src/fp/fp0300a.uml index df6dcf8e4..cf2174c8f 100644 --- a/src/fp/fp0300a.uml +++ b/src/fp/fp0300a.uml @@ -159,7 +159,7 @@ BEGIN FLAGS "D" END -STRING S_UFFICIO 6 +STRING S_UFFICIO 20 BEGIN PROMPT 1 5 "" FLAGS "D" diff --git a/src/fp/sql/fp0100.sql b/src/fp/sql/fp0100.sql index d110eba18..ca0427fd1 100644 --- a/src/fp/sql/fp0100.sql +++ b/src/fp/sql/fp0100.sql @@ -1331,7 +1331,7 @@ CREATE TABLE PAFW300F ( PW_TIPODOC CHAR(4) NOT NULL DEFAULT '' , PW_TIPONUM CHAR(4) NOT NULL DEFAULT '' , PW_NUMERO CHAR(20) NOT NULL DEFAULT '' , - PW_DATA DATE, + PW_DATA DATE NULL, PW_CODSDI CHAR(10) NOT NULL DEFAULT '' , PW_CLIENTE CHAR(10) NOT NULL DEFAULT '' , PW_RAGSOC CHAR(35) NOT NULL DEFAULT '' , @@ -1347,7 +1347,7 @@ CREATE TABLE PAFW300F ( PW_CXML CHAR(255) NOT NULL DEFAULT '' , PW_CXMLP CHAR(255) NOT NULL DEFAULT '' , PW_UPAG DATE, - CONSTRAINT PAFW300Q PRIMARY KEY( PW_KEYHEADERFATT , PW_KEYBODYFATT , PW_TIPODOC , PW_TIPONUM , PW_NUMERO , PW_DATA ) ) ; + CONSTRAINT PAFW300Q PRIMARY KEY( PW_KEYHEADERFATT , PW_KEYBODYFATT , PW_TIPODOC , PW_TIPONUM , PW_NUMERO ) ) ; CREATE TABLE PANUM00F ( PJNKEY CHAR(5) NOT NULL DEFAULT '' , @@ -1764,5 +1764,5 @@ CREATE INDEX PAF3200F_KEY ; CREATE INDEX PAFW300F_KEY - ON PAFW300F (PW_KEYPRGINVIO ASC , PW_KEYHEADERFATT ASC , PW_KEYBODYFATT ASC , PW_TIPODOC ASC , PW_TIPONUM ASC , PW_NUMERO ASC , PW_DATA ASC ) + ON PAFW300F (PW_KEYPRGINVIO ASC , PW_KEYHEADERFATT ASC , PW_KEYBODYFATT ASC) ; \ No newline at end of file diff --git a/src/fp/sql/fp0102.sql b/src/fp/sql/fp0102.sql new file mode 100644 index 000000000..5ddc4d4ee --- /dev/null +++ b/src/fp/sql/fp0102.sql @@ -0,0 +1,73 @@ +DROP INDEX PAF0800F.PAF0800F_KEY; +CREATE INDEX PAF0800F_KEY + ON PAF0800F (P8_KEYPRGINVIO ASC , P8_KEYHEADERFATT ASC , P8_KEYBODYFATT ASC) + ; + +DROP INDEX PAF0900F.PAF0900F_KEY; +CREATE INDEX PAF0900F_KEY + ON PAF0900F (P9_KEYPRGINVIO ASC , P9_KEYHEADERFATT ASC , P9_KEYBODYFATT ASC) + ; + +DROP INDEX PAF1000F.PAF1000F_KEY; +CREATE INDEX PAF1000F_KEY + ON PAF1000F (P0_KEYPRGINVIO ASC , P0_KEYHEADERFATT ASC , P0_KEYBODYFATT ASC) + ; + +DROP INDEX PAF1100F.PAF1100F_KEY; +CREATE INDEX PAF1100F_KEY + ON PAF1100F (PA_KEYPRGINVIO ASC , PA_KEYHEADERFATT ASC , PA_KEYBODYFATT ASC) + ; + +DROP INDEX PAF1200F.PAF1200F_KEY; +CREATE INDEX PAF1200F_KEY + ON PAF1200F (PB_KEYPRGINVIO ASC , PB_KEYHEADERFATT ASC , PB_KEYBODYFATT ASC) + ; + +DROP INDEX PAF1300F.PAF1300F_KEY; +CREATE INDEX PAF1300F_KEY + ON PAF1300F (PC_KEYPRGINVIO ASC , PC_KEYHEADERFATT ASC , PC_KEYBODYFATT ASC) + ; + +DROP INDEX PAF1400F.PAF1400F_KEY; +CREATE INDEX PAF1400F_KEY + ON PAF1400F (PD_KEYPRGINVIO ASC , PD_KEYHEADERFATT ASC , PD_KEYBODYFATT ASC) + ; + +DROP INDEX PAF1600F.PAF1600F_KEY; +CREATE INDEX PAF1600F_KEY + ON PAF1600F (PF_KEYPRGINVIO ASC , PF_KEYHEADERFATT ASC , PF_KEYBODYFATT ASC) + +DROP INDEX PAF1800F.PAF1800F_KEY; +CREATE INDEX PAF1800F_KEY + ON PAF1800F (PI_KEYPRGINVIO ASC , PI_KEYHEADERFATT ASC , PI_KEYBODYFATT ASC) + ; + +DROP INDEX PAF1900F.PAF1900F_KEY; +CREATE INDEX PAF1900F_KEY + ON PAF1900F (PY_KEYPRGINVIO ASC , PY_KEYHEADERFATT ASC , PY_KEYBODYFATT ASC) + ; + +DROP INDEX PAF2000F.PAF2000F_KEY; +CREATE INDEX PAF2000F_KEY + ON PAF2000F (PJ_KEYPRGINVIO ASC , PJ_KEYHEADERFATT ASC , PJ_KEYBODYFATT ASC) + ; + +DROP INDEX PAF2100F.PAF2100F_KEY; +CREATE INDEX PAF2100F_KEY + ON PAF2100F (PK_KEYPRGINVIO ASC , PK_KEYHEADERFATT ASC , PK_KEYBODYFATT ASC) + ; + +DROP INDEX PAF2500F.PAF2500F_KEY; +CREATE INDEX PAF2500F_KEY + ON PAF2500F (PO_KEYPRGINVIO ASC , PO_KEYHEADERFATT ASC , PO_KEYBODYFATT ASC) + ; + +DROP INDEX PAF2600F.PAF2600F_KEY; +CREATE INDEX PAF2600F_KEY + ON PAF2600F (PP_KEYPRGINVIO ASC , PP_KEYHEADERFATT ASC , PP_KEYBODYFATT ASC) + ; + +DROP INDEX PAFW300F.PAFW300F_KEY; +CREATE INDEX PAFW300F_KEY + ON PAFW300F (PW_KEYPRGINVIO ASC , PW_KEYHEADERFATT ASC , PW_KEYBODYFATT ASC) + ; \ No newline at end of file