diff --git a/src/fp/fp0700.cpp b/src/fp/fp0700.cpp index a20fe403b..adfa16015 100644 --- a/src/fp/fp0700.cpp +++ b/src/fp/fp0700.cpp @@ -92,8 +92,29 @@ void TPAR_mask::load_all_fields() set(F_DATAINI, ini_get_string(CONFIG_DITTA, "fp", "dataini")); set(F_DATAEND, ini_get_string(CONFIG_DITTA, "fp", "dataend")); - const TToken_string s_accepted_docs(ini_get_string(CONFIG_DITTA, "fp", "accepted_docs"), ';'); TSheet_field& scaus = sfield(F_CAUSALI_TIPO); + TCursor cur(new TRelation(LF_CAUSALI)); + + const int items = cur.items(); + + scaus.reset(); + + for (cur.first_item(); cur.pos() < items; cur.succ_item()) + { + const TRectype& rec = cur.curr(); + const TString& tipodocsdi = rec.get(CAU_TIPODOCSDI); + + if (tipodocsdi == "TD16" || tipodocsdi == "TD17" || tipodocsdi == "TD18" || tipodocsdi == "TD19" || tipodocsdi == "TD20") + { + int r = scaus.set_row_cell(S_TIPO_SDI, tipodocsdi); + scaus.set_row_cell(S_COD_CAUS, rec.get(CAU_CODCAUS), r); + scaus.set_row_cell(S_DESCR, rec.get(CAU_DESCR), r); + } + } + scaus.force_update(); + + if (scaus.items() == 0) + warning_box(TR("Attenzione non c'e' nessuna causale di regolarizzazione")); for (int i = 0;; i++) { diff --git a/src/fp/fp0700a.h b/src/fp/fp0700a.h index 9e3a5156d..658c4dd36 100644 --- a/src/fp/fp0700a.h +++ b/src/fp/fp0700a.h @@ -10,9 +10,9 @@ #define DLG_KEY 501 -#define S_COD_CAUS 101 -#define S_DESCR 102 -#define S_ANNO_REG 150 +#define S_TIPO_SDI 101 +#define S_COD_CAUS 102 +#define S_DESCR 103 diff --git a/src/fp/fp0700a.uml b/src/fp/fp0700a.uml index a565c52ef..3b964e21e 100644 --- a/src/fp/fp0700a.uml +++ b/src/fp/fp0700a.uml @@ -84,6 +84,7 @@ END SPREADSHEET F_CAUSALI_TIPO 80 5 BEGIN PROMPT 1 7 "" + ITEM "Tipo documento SDI" ITEM "Cod Causale" ITEM "Descrizione@50" END @@ -140,47 +141,30 @@ ENDMASK PAGE "Riga Causale" -1 -1 50 3 -NUMBER S_ANNO_REG 4 + +LIST S_TIPO_SDI 40 BEGIN - PROMPT 100 100 "" - FLAG "AH" -END + PROMPT 2 6 "Tipo documento SDI " + FIELD TIPODOCSDI + FLAGS "D" + ITEM "|" + ITEM "TD16|TD16 Integraz. fatt. rev.ch. interno" + ITEM "TD17|TD17 Integ./autof. acq. servizi estero" + ITEM "TD18|TD18 Integ. acq. beni intracomunitari" + ITEM "TD19|TD19 Integ./autof. acq. beni ex art. 17" + ITEM "TDCOD0|TD20 Autofattura" +END STRING S_COD_CAUS 3 BEGIN PROMPT 1 1 "Codice " - FLAGS "UZ" -// USE LF_CAUSALI SELECT ((AUTOFATT=="X")||(REGSPIVA==3)||((REGSPIVA>=13)&&(REGSPIVA<=18))||(REGSPIVA==50)||(REGSPIVA==51))&&(201@->I0=="1") -USE LF_CAUSALI SELECT (201@->I0=="1") - JOIN REG ALIAS 201 INTO CODTAB[1,4]=#S_ANNO_REG CODTAB[5,7]=REG - INPUT CODCAUS S_COD_CAUS - DISPLAY "Cod." CODCAUS - DISPLAY "Descrizione@50" DESCR - DISPLAY "Documento" TIPODOC - DISPLAY "Registro" REG - DISPLAY "Tipo movimento" TIPOMOV - DISPLAY "Regime IVA" REGSPIVA - OUTPUT S_COD_CAUS CODCAUS - OUTPUT S_DESCR DESCR - WARNING "Causale assente" - CHECKTYPE REQUIRED + FLAGS "UZD" END STRING S_DESCR 50 BEGIN PROMPT 1 4 "Descriz." -// USE LF_CAUSALI KEY 2 SELECT ((AUTOFATT=="X")||(REGSPIVA==3)||((REGSPIVA>=13)&&(REGSPIVA<=18))||(REGSPIVA==50)||(REGSPIVA==51))&&(201@->I0=="1") - USE LF_CAUSALI KEY 2 SELECT (201@->I0=="1") - JOIN REG ALIAS 201 INTO CODTAB[1,4]=#S_ANNO_REG CODTAB[5,7]=REG - INPUT DESCR S_DESCR - DISPLAY "Descrizione @50" DESCR - DISPLAY "Cod." CODCAUS - DISPLAY "Documento" TIPODOC - DISPLAY "Registro" REG - DISPLAY "Tipo movimento" TIPOMOV - DISPLAY "Regime IVA" REGSPIVA - COPY OUTPUT S_COD_CAUS - CHECKTYPE SEARCH + FLAGS "D" END ENDPAGE