diff --git a/src/cg/cg2100.cpp b/src/cg/cg2100.cpp index de5549e4a..5f39f89b5 100755 --- a/src/cg/cg2100.cpp +++ b/src/cg/cg2100.cpp @@ -1011,7 +1011,8 @@ void TPrimanota_application::f1_init(TMask& m, const bool fe_enabled, const bool m.field(F_DATADOCSDI).show(fe_enabled && reverse_charge); m.field(F_COLFPPRO).show(fe_enabled); m.field(DLG_LINK).enable(fe_enabled); - m.set(F_COLFPPRO, fe_enabled && f1_linked, 0x3); + bool int_td16 = reverse_charge && app().causale().reg().iva() == iva_vendite && cache().get(LF_MOV, _rel->lfile().get(MOV_MOVCOLL), MOV_KEYFPPRO).full(); + m.set(F_COLFPPRO, fe_enabled && (f1_linked || int_td16) ? "X" : "", 0x3); } void TPrimanota_application::init_modify_mode(TMask& m) diff --git a/src/cg/cg2100.h b/src/cg/cg2100.h index 469984c87..b486d123f 100755 --- a/src/cg/cg2100.h +++ b/src/cg/cg2100.h @@ -245,8 +245,6 @@ #define F_CODFISCALES 111 #define F_TIPOPROTS 112 #define F_PROGRESSS 113 -#define F_IDDOCR 114 -#define F_DATADOCR 115 -#define F_KEYFPPROS 116 +#define F_KEYFPPROS 114 #endif diff --git a/src/cg/cg2100c.uml b/src/cg/cg2100c.uml index b6f6a584e..9a1b5cae2 100755 --- a/src/cg/cg2100c.uml +++ b/src/cg/cg2100c.uml @@ -575,8 +575,8 @@ BOOLEAN F_COLFPPRO BEGIN PROMPT 1 19 "Registrazione collegata a FPPRO" FLAGS "DG" - MESSAGE TRUE DISABLE, F_IDDOCSDI|DISABLE F_DATADOCSDI - MESSAGE FALSE ENABLE, F_IDDOCSDI|ENABLE F_DATADOCSDI + MESSAGE TRUE DISABLE, F_IDDOCSDI|DISABLE,F_DATADOCSDI + MESSAGE FALSE ENABLE, F_IDDOCSDI|ENABLE,F_DATADOCSDI END STRING F_PROKEY 80 diff --git a/src/cg/cg2100t.uml b/src/cg/cg2100t.uml index c27967777..a8eb0ac4c 100644 --- a/src/cg/cg2100t.uml +++ b/src/cg/cg2100t.uml @@ -156,8 +156,6 @@ BEGIN ITEM "Cod. Fiscale@14" ITEM "Tipo Protocollo\nin ingresso@10" ITEM "Progressivo\ndi ingresso@10" - ITEM "Id@20" - ITEM "Data fattura" ITEM "Chiave FPPRO@40" END @@ -277,18 +275,6 @@ BEGIN FLAGS "D" END -STRING F_IDDOCR 20 -BEGIN - PROMPT 1 11 "Id " - FLAGS "H" -END - -DATE F_DATADOCR -BEGIN - PROMPT 1 12 "DATA" - FLAGS "H" -END - STRING F_KEYFPPROS 80 BEGIN PROMPT 1 13 "CHIAVE FPPRO" diff --git a/src/cg/cg2102.cpp b/src/cg/cg2102.cpp index c110d0c1d..ac1395aef 100755 --- a/src/cg/cg2102.cpp +++ b/src/cg/cg2102.cpp @@ -4085,8 +4085,6 @@ void TPrimanota_application::riporta_dati_f1(TMask& cg_msk, TPro_msk & msk) cg_msk.set(F_NUMDOCEXT, msk.get_str_numdoc()); cg_msk.set(F_NUMDOC, format("%-7ld", msk.get_numdoc())); cg_msk.set(F_DATADOC, msk.get_datadoc()); - cg_msk.set(F_IDDOCSDI, msk.get_iddocr()); - cg_msk.set(F_DATADOCSDI, msk.get_datadocr()); cg_msk.disable(F_IDDOCSDI); cg_msk.disable(F_DATADOCSDI); } @@ -4265,9 +4263,6 @@ bool TPro_msk::load_fppro_mask(TMask & msk) sf.set_row_cell(F_CODFISCALES, fp_db().sq_get("P2_CODFISCALE"), r); sf.set_row_cell(F_TIPOPROTS, fp_db().sq_get("PZ_TIPOPROT"), r); sf.set_row_cell(F_PROGRESSS, fp_db().sq_get("PZ_NUMPROT"), r); - sf.set_row_cell(F_IDDOCR, fp_db().sq_get("PZ_IDDOCR"), r); - sf.set_row_cell(F_DATADOCR, fp_db().sq_get_date("PZ_DATADOCR"), r); - sf.set_row_cell(F_KEYFPPROS, keys, r); } } @@ -4416,8 +4411,6 @@ void TPro_msk::set_doc(TSheet_field & s, int nrow) { _numero = s.get_long_row_cell(nrow, F_NUMEROS); _str_numero = s.get_str_row_cell(nrow, F_NUMEROS); - _iddocr = s.get_str_row_cell(nrow, F_IDDOCR); - _datadocr = s.get_date_row_cell(nrow, F_DATADOCR); _datadoc = s.get_date_row_cell(nrow, F_DATAS); _totdoc = abs(s.get_real_row_cell(nrow, F_IMPTOTDOCS)); _ritenute = s.get_real_row_cell(nrow, F_RITENUTE); diff --git a/src/cg/cg2102.h b/src/cg/cg2102.h index ca3e73fc6..ba74f415c 100755 --- a/src/cg/cg2102.h +++ b/src/cg/cg2102.h @@ -57,8 +57,6 @@ class TPro_msk : public TAutomask TString_array _scadenze; bool _riporta; TString _str_numero; - TString _iddocr; - TDate _datadocr; // Non permette la selezione multipla void fppro_selfatt() const; @@ -82,8 +80,6 @@ public: const TString_array& get_righeiva() const { return _righe_iva; } const TProtocollo& get_protocollo() const { return _protfppro; } const TString_array& get_scadenze() const { return _scadenze; } - const TString & get_iddocr() const { return _iddocr; } - const TDate & get_datadocr() const { return _datadocr; } real get_tot_imp_riva() ; diff --git a/src/fp/fp0400.cpp b/src/fp/fp0400.cpp index db00f285e..5e68c30fe 100644 --- a/src/fp/fp0400.cpp +++ b/src/fp/fp0400.cpp @@ -203,7 +203,7 @@ void TPassive_mask::fill() elenco_prots_sel(prots_query); query << "SELECT PZ_TIPOPROT AS TIPO_PROT, YEAR(P7_DATA) AS ANNO, P7_TIPODOC AS [TIPO_SDI], P7_NUMERO AS [NUM_DOC], " << - "P7_DATA AS [DATA_DOC], PZ_DATAORARIC AS [DATA_RIC], PQ_IMPTOTDOC AS [TOT_DOC], PZ_NUMREGCONT AS NUMREGCONT, PZ_DATAREGCONT AS DATAREGCONT, P2_ANADENOMIN AS [RAG_SOC], P2_ANANOME AS NOME, PZ_IDDOCR, PZ_DATADOCR, " << + "P7_DATA AS [DATA_DOC], PZ_DATAORARIC AS [DATA_RIC], PQ_IMPTOTDOC AS [TOT_DOC], PZ_NUMREGCONT AS NUMREGCONT, PZ_DATAREGCONT AS DATAREGCONT, P2_ANADENOMIN AS [RAG_SOC], P2_ANANOME AS NOME, PZ_NUMERO, PZ_DATA, " << "P2_ANACOGNOME AS COGNOME, P2_FISCIVACOD AS [P_IVA], P2_CODFISCALE AS [COD_FISC], P2_FISCIVAPAESE AS [COD_PAESE],\n" << "COUNT(PP_ATTACHMENT) AS ATTACHMENT, P1_CODDEST AS [COD_SDI], PU_PEC AS PEC, P1_KEYPRGINVIO AS KEYPROG, P1_KEYHEADERFATT AS KEYHEAD, P1_KEYBODYFATT AS KEYFATT, " << "PZ_NUMPROT AS [NUM_PROT], PZ_ANNOPROT AS [ANNO_PROT], PZ_TIPOCF AS [TIPO_CF], PZ_CLIFOR AS [COD_CLIFOR]\n" << @@ -216,7 +216,8 @@ void TPassive_mask::fill() "LEFT JOIN FPPRO00F FPPRO ON P1_KEYPRGINVIO = PZ_KEYPRGINVIO and P1_KEYHEADERFATT = PZ_KEYHEADERFATT and P1_KEYBODYFATT = PZ_KEYBODYFATT\n" << "WHERE PZ_DATAORARIC >= \'" << dal.date2ansi() << "\' AND PZ_DATAORARIC < \'" << (al+(long)1).date2ansi() << "\'" << prots_query << "\n" << "GROUP BY YEAR(P7_DATA), P7_TIPODOC, P7_NUMERO, P7_DATA, PZ_DATAORARIC, PQ_IMPTOTDOC, PZ_NUMREGCONT, PZ_DATAREGCONT, P2_ANADENOMIN, P2_ANANOME, P2_ANACOGNOME, P2_FISCIVACOD, P2_CODFISCALE, P2_FISCIVAPAESE,\n" << - "P1_CODDEST, PU_PEC, P1_KEYPRGINVIO, P1_KEYHEADERFATT, P1_KEYBODYFATT, PZ_TIPOPROT, PZ_NUMPROT, PZ_ANNOPROT, PZ_TIPOCF, PZ_CLIFOR, PZ_IDDOCR, PZ_DATADOCR\n" << + + "P1_CODDEST, PU_PEC, P1_KEYPRGINVIO, P1_KEYHEADERFATT, P1_KEYBODYFATT, PZ_TIPOPROT, PZ_NUMPROT, PZ_ANNOPROT, PZ_TIPOCF, PZ_CLIFOR, PZ_NUMERO, PZ_DATA\n" << "ORDER BY " << (ordin == "D"? "P7_DATA" : "PZ_DATAORARIC") << " " << (verso_ord == "C"? "ASC" : "DESC"); fp_db().sq_set_exec(query, false); @@ -356,8 +357,9 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee sf.set_row_cell(S_ATTACH, fp_db().sq_get("ATTACHMENT")!="0", row); sf.set_row_cell(S_RAGXML, denom, row); sf.set_row_cell(S_NPROT, TProtocollo(fp_db().sq_get_int("ANNO_PROT"), fp_db().sq_get("TIPO_PROT"), fp_db().sq_get("NUM_PROT")).get_prot_str(), row); - sf.set_row_cell(S_IDDOCR, fp_db().sq_get("PZ_IDDOCR"), row); - sf.set_row_cell(S_DATADOCR, fp_db().sq_get_date("PZ_DATADOCR"), row); + + sf.set_row_cell(S_NDOC, fp_db().sq_get("PZ_NUMERO"), row); + sf.set_row_cell(S_DATADOC, fp_db().sq_get_date("PZ_DATA"), row); sf.set_row_cell(S_PROKEY, keys, row); } @@ -697,11 +699,12 @@ int TPassive_mask::prepara_contab() const contab_ini.set(MOV_DATAREG, datareg); contab_ini.set(MOV_DATACOMP, datareg); + contab_ini.set(MOV_DATADOC, datadoc); contab_ini.set(MOV_NUMDOCEXT, sf.get_str_row_cell(row, S_NDOC)); contab_ini.set(MOV_NUMDOC, TString(sf.get_str_row_cell(row, S_NDOC)).right(7)); - contab_ini.set(MOV_IDDOCSDI, sf.get_str_row_cell(row, S_IDDOCR)); - contab_ini.set(MOV_DATADOCSDI, sf.get_date_row_cell(row, S_DATADOCR)); + contab_ini.set(MOV_IDDOCSDI, sf.get_str_row_cell(row, S_NDOC)); + contab_ini.set(MOV_DATADOCSDI, sf.get_date_row_cell(row, S_DATADOC)); if (get_bool(F_PERIODPREC)) if (datadoc.year() == datareg.year() && datadoc.month() < datareg.month()) contab_ini.set(MOV_MESELIQ, "X"); @@ -735,6 +738,7 @@ int TPassive_mask::prepara_contab() const contab_ini.set_paragraph(LF_RMOVIVA, i); // [25] contab_ini.set("IMPONIBILE", abs(it->imponibile).string()); contab_ini.set("IMPOSTA", abs(it->imposta).string()); + contab_ini.set("PERCIVA", it->aliquota.string()); contab_ini.set("NATURA", it->natura); contab_ini.set("NRIGA", i); diff --git a/src/fp/fp0400a.h b/src/fp/fp0400a.h index a005cf7a5..d6abae788 100644 --- a/src/fp/fp0400a.h +++ b/src/fp/fp0400a.h @@ -37,8 +37,8 @@ #define S_ANNO 102 #define S_TIPODOCSDI 103 #define S_NDOC 104 -#define S_DATARIC 105 -#define S_DATADOC 106 +#define S_DATADOC 105 +#define S_DATARIC 106 #define S_TOTDOC 107 #define S_TOTRIT 108 #define S_FPPRO 109 @@ -52,9 +52,7 @@ #define S_ATTACH 117 #define S_RAGXML 118 #define S_NPROT 119 -#define S_IDDOCR 120 -#define S_DATADOCR 121 -#define S_PROKEY 122 +#define S_PROKEY 120 #define F_ERR 301 diff --git a/src/fp/fp0400a.uml b/src/fp/fp0400a.uml index 8f3a94f56..78522d847 100644 --- a/src/fp/fp0400a.uml +++ b/src/fp/fp0400a.uml @@ -299,26 +299,24 @@ SPREADSHEET F_DOCS -1 -1 BEGIN PROMPT 0 4 "" ITEM "" - ITEM "Anno" - ITEM "Tipo Doc.\nSDI@5" - ITEM "Numero\nDocumento@14" + ITEM "Anno" + ITEM "Tipo Doc.\nSDI@5" + ITEM "Numero\nDocumento@14" + ITEM "Data\nDoc.@8" ITEM "Data\nRicezione@8" - ITEM "Data\nDoc.@8" ITEM "Totale\nDocumento@7" ITEM "Totale\nritenute@6" ITEM "Fornitore\nassociato@6" ITEM "Num. Regis.\ncontabile@8" ITEM "Data Regis.\ncontabile@8" - ITEM "Fornitore@5" - ITEM "Ragione Sociale@40" + ITEM "Fornitore@5" + ITEM "Ragione Sociale@40" ITEM "Stato\nP.IVA@4" - ITEM "Partita IVA@10" + ITEM "Partita IVA@10" ITEM "Cod. Fiscale@12" - ITEM "Allegati@6" + ITEM "Allegati@6" ITEM "Ragione Sociale (XML)@40" ITEM "Numero Protocollo (in entrata)\n[anno-tipo prot/progressivo]@20" - ITEM "Id@20" - ITEM "Data fattura" ITEM "Chiave Prot.@40" END @@ -423,17 +421,18 @@ BEGIN FLAGS "D" END +DATE S_DATADOC +BEGIN + PROMPT 40 1 "Data Doc. " + FLAGS "D" +END + DATE S_DATARIC BEGIN PROMPT 20 1 "Data\nRicezione" FLAGS "D" END -DATE S_DATADOC -BEGIN - PROMPT 40 1 "Data Doc. " - FLAGS "D" -END NUMBER S_TOTDOC 11 2 BEGIN @@ -576,18 +575,6 @@ BEGIN FLAGS "D" END -STRING S_IDDOCR 20 -BEGIN - PROMPT 1 10 "Id" - FLAGS "D" -END - -DATE S_DATADOCR -BEGIN - PROMPT 1 11 "Data fattura" - FLAGS "D" -END - STRING S_PROKEY 80 BEGIN PROMPT 1 10 "db key" diff --git a/src/include/maskfld.cpp b/src/include/maskfld.cpp index 917ce1412..84cde9b43 100755 --- a/src/include/maskfld.cpp +++ b/src/include/maskfld.cpp @@ -544,14 +544,6 @@ void TMask_field::enable( // @flag true | Abilita il campo (default) // @flag false | Disabilita il campo { -#ifdef DBG - if (dlg()==188) { - int i = 0; - - } - -#endif // - _flags.enabled = on; } @@ -972,7 +964,7 @@ bool TOperable_field::is_kind_of(word cid) const { return cid == CLASS_OPERABLE_FIELD || TMask_field::is_kind_of(cid); } void TOperable_field::enable(bool on) -{ +{ TMask_field::enable(on); if (_ctl) _ctl->enable(on); if (mask().is_sheetmask())