diff --git a/src/cg/cg2100.cpp b/src/cg/cg2100.cpp index ea760b9ff..f5b822896 100755 --- a/src/cg/cg2100.cpp +++ b/src/cg/cg2100.cpp @@ -2498,7 +2498,7 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query) } if (_f1_ini && msk.find_by_id(FS_RECALC) != nullptr) { - msk.set(F_COLFPPRO, "X"); + msk.set(F_COLFPPRO, "X", 0x3); if (scad_from_ini) { msk.set(FS_RECALC, ""); diff --git a/src/cg/cg2100.h b/src/cg/cg2100.h index b486d123f..469984c87 100755 --- a/src/cg/cg2100.h +++ b/src/cg/cg2100.h @@ -245,6 +245,8 @@ #define F_CODFISCALES 111 #define F_TIPOPROTS 112 #define F_PROGRESSS 113 -#define F_KEYFPPROS 114 +#define F_IDDOCR 114 +#define F_DATADOCR 115 +#define F_KEYFPPROS 116 #endif diff --git a/src/cg/cg2100c.uml b/src/cg/cg2100c.uml index 5cc9b5965..b6f6a584e 100755 --- a/src/cg/cg2100c.uml +++ b/src/cg/cg2100c.uml @@ -574,7 +574,7 @@ END BOOLEAN F_COLFPPRO BEGIN PROMPT 1 19 "Registrazione collegata a FPPRO" - FLAGS "D" + FLAGS "DG" MESSAGE TRUE DISABLE, F_IDDOCSDI|DISABLE F_DATADOCSDI MESSAGE FALSE ENABLE, F_IDDOCSDI|ENABLE F_DATADOCSDI END diff --git a/src/cg/cg2100t.uml b/src/cg/cg2100t.uml index 96590a6a6..c27967777 100644 --- a/src/cg/cg2100t.uml +++ b/src/cg/cg2100t.uml @@ -156,6 +156,8 @@ 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 @@ -167,25 +169,25 @@ END DATE F_DATAI BEGIN - PROMPT 1 21 "DATA" + PROMPT 40 20 "DATA" FLAGS "H" END NUMBER F_TOTDOCI 10 3 BEGIN - PROMPT 1 22 "IMPTOTDOC" + PROMPT 1 21 "IMPTOTDOC" FLAGS "H" END STRING F_PROTFPPROI 18 BEGIN - PROMPT 1 23 "Tipo Protocollo" + PROMPT 1 22 "Tipo Protocollo" FLAGS "H" END STRING F_FPPROKEYSI 80 BEGIN - PROMPT 1 19 "db key" + PROMPT 1 "db key" HELP "Chiave database" FLAGS "H" END @@ -194,7 +196,7 @@ ENDPAGE ENDMASK -PAGE "ELEMENTI SPREADSHEET" -1 -1 77 20 +PAGE "ELEMENTI SPREADSHEET" -1 -1 77 22 BOOLEAN F_SELFPPROS BEGIN @@ -275,9 +277,21 @@ 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 11 "CHIAVE FPPRO" + PROMPT 1 13 "CHIAVE FPPRO" FLAGS "D" END diff --git a/src/cg/cg2102.cpp b/src/cg/cg2102.cpp index 14ec94cde..c35f6eb8f 100755 --- a/src/cg/cg2102.cpp +++ b/src/cg/cg2102.cpp @@ -4081,8 +4081,8 @@ 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_str_numdoc()); - cg_msk.set(F_DATADOCSDI, 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); } @@ -4191,8 +4191,8 @@ bool TPrimanota_application::scollega_handler(TMask_field& f, KEY key) if (ok) { - app().curr_mask().set(F_PROKEY, ""); - app().curr_mask().set(F_COLFPPRO, ""); + app().curr_mask().reset(F_PROKEY); + app().curr_mask().reset(F_COLFPPRO); } message_box("Il movimento e' stato scollegato dalla fattura elettronica\nin ingresso, precedentemente associata."); } @@ -4261,6 +4261,9 @@ 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); } } @@ -4409,6 +4412,8 @@ 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); @@ -4531,13 +4536,17 @@ TString& TPro_msk::query_string() { TString & query = get_tmp_string(512); - query << "SELECT PZ_CLIFOR, PZ_DATA, CAST(P1_DATAORARIC AS DATE) AS P1_DATAORARIC, P7_TIPODOC, PQ_IMPTOTDOC, PZ_NUMERO, PZ_NUMREGCONT, PZ_TIPOPROT, " << - "PZ_NUMPROT, P2_ANADENOMIN, P2_FISCIVAPAESE, P2_FISCIVACOD, P2_CODFISCALE, PZ_KEYPRGINVIO, PZ_KEYHEADERFATT, PZ_KEYBODYFATT\n" << + query << "SELECT *" + << "FROM PAA0200F \nJOIN FPPRO00F\n" << " ON P2_KEYPRGINVIO = PZ_KEYPRGINVIO AND P2_KEYHEADERFATT = PZ_KEYHEADERFATT AND P2_KEYBODYFATT = PZ_KEYBODYFATT\n" << "JOIN PAA0100F \nON P2_KEYPRGINVIO = P1_KEYPRGINVIO AND P2_KEYHEADERFATT = P1_KEYHEADERFATT AND P2_KEYBODYFATT = P1_KEYBODYFATT\n" << "JOIN PAA2700F \nON P2_KEYPRGINVIO = PQ_KEYPRGINVIO AND P2_KEYHEADERFATT = PQ_KEYHEADERFATT AND P2_KEYBODYFATT = PQ_KEYBODYFATT\n" << "JOIN PAA0700F \nON P7_KEYPRGINVIO = PQ_KEYPRGINVIO AND P7_KEYHEADERFATT = PQ_KEYHEADERFATT AND P7_KEYBODYFATT = PQ_KEYBODYFATT\n"; return query; + + /* + PZ_CLIFOR, PZ_DATA, CAST(P1_DATAORARIC AS DATE) AS P1_DATAORARIC, P7_TIPODOC, PQ_IMPTOTDOC, PZ_NUMERO, PZ_NUMREGCONT, PZ_TIPOPROT, " << + "PZ_NUMPROT, P2_ANADENOMIN, P2_FISCIVAPAESE, P2_FISCIVACOD, P2_CODFISCALE, PZ_KEYPRGINVIO, PZ_KEYHEADERFATT, PZ_KEYBODYFATT\n"*/ } void TPro_msk::abilita_piva() diff --git a/src/cg/cg2102.h b/src/cg/cg2102.h index d11920e2a..7e61702c5 100755 --- a/src/cg/cg2102.h +++ b/src/cg/cg2102.h @@ -57,6 +57,8 @@ 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; @@ -80,6 +82,9 @@ 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() ; void add_rigaiva(const real& imponibile, const real& imposta, const real& aliquota, const TString4& natura, char esigib); diff --git a/src/fp/fp0400.cpp b/src/fp/fp0400.cpp index 0143f871c..17fc80afc 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, " << + "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, " << "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,7 @@ 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\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" << "ORDER BY " << (ordin == "D"? "P7_DATA" : "PZ_DATAORARIC") << " " << (verso_ord == "C"? "ASC" : "DESC"); fp_db().sq_set_exec(query, false); @@ -356,6 +356,8 @@ 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_PROKEY, keys, row); } @@ -691,11 +693,13 @@ int TPassive_mask::prepara_contab() const datareg = sf.get_date_row_cell(row, S_DATARIC); else datareg = get(F_DATAREGDIF).full() ? get_date(F_DATAREGDIF) : today; - contab_ini.set("DATAREG", datareg); - contab_ini.set("DATACOMP", datareg); - contab_ini.set("DATADOC", sf.get_date_row_cell(row, S_DATADOC)); - contab_ini.set("NUMDOCEXT", sf.get_str_row_cell(row, S_NDOC)); - contab_ini.set("NUMDOC", TString(sf.get_str_row_cell(row, S_NDOC)).right(7)); + contab_ini.set(MOV_DATAREG, datareg); + contab_ini.set(MOV_DATACOMP, datareg); + contab_ini.set(MOV_DATADOC, sf.get_date_row_cell(row, S_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)); real totdoc = sf.get_real_row_cell(row, S_TOTDOC); if (totdoc == ZERO) diff --git a/src/fp/fp0400a.h b/src/fp/fp0400a.h index 58408ab60..a005cf7a5 100644 --- a/src/fp/fp0400a.h +++ b/src/fp/fp0400a.h @@ -52,7 +52,9 @@ #define S_ATTACH 117 #define S_RAGXML 118 #define S_NPROT 119 -#define S_PROKEY 120 +#define S_IDDOCR 120 +#define S_DATADOCR 121 +#define S_PROKEY 122 #define F_ERR 301 diff --git a/src/fp/fp0400a.uml b/src/fp/fp0400a.uml index 416580a58..8f3a94f56 100644 --- a/src/fp/fp0400a.uml +++ b/src/fp/fp0400a.uml @@ -317,6 +317,8 @@ BEGIN 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 @@ -574,6 +576,18 @@ 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 06382da28..917ce1412 100755 --- a/src/include/maskfld.cpp +++ b/src/include/maskfld.cpp @@ -544,6 +544,14 @@ 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; }