diff --git a/ca/ca0600a.uml b/ca/ca0600a.uml index e10ede783..ac010bb87 100755 --- a/ca/ca0600a.uml +++ b/ca/ca0600a.uml @@ -50,7 +50,7 @@ END STRING F_CMS_LOC 35 BEGIN - PROMPT 2 16 "Localita' " + PROMPT 2 16 "Localitą " FIELD LOC END @@ -130,7 +130,7 @@ PAGE "Parametri" -1 -1 64 6 LIST F_CMS_REGIVA 2 14 BEGIN - PROMPT 2 2 "Regime IVA " + PROMPT 2 2 "Regime IVA " ITEM " |Normale" MESSAGE CLEAR,F_CMS_INDETR ITEM "NR|Non rilevante" MESSAGE CLEAR,F_CMS_INDETR ITEM "ES|Esente" MESSAGE CLEAR,F_CMS_INDETR @@ -148,7 +148,7 @@ BEGIN USE LF_ATTIV INPUT CODDITTA F_CMS_CODDITTA SELECT INPUT CODATT F_CMS_CODATT - DISPLAY "Attivita'" CODATT + DISPLAY "Attivitą" CODATT DISPLAY "Prevalente" ATTPREV DISPLAY " @48" DESCR OUTPUT F_CMS_CODATT CODATT @@ -158,7 +158,7 @@ END STRING F_CMS_INDETR 1 BEGIN - PROMPT 62 2 "Indetraibilita' " + PROMPT 62 2 "Indetraibilitą " USE %DET INPUT CODTAB F_CMS_INDETR DISPLAY "Codice" CODTAB @@ -208,19 +208,19 @@ END BOOLEAN F_CMS_PUBBLICA BEGIN - PROMPT 22 6 "Pubblica" + PROMPT 26 6 "Pubblica" FIELD PUBBLICA END BOOLEAN F_CMS_RENDIC BEGIN - PROMPT 35 6 "Da rendicontare" + PROMPT 42 6 "Da rendicontare" FIELD RENDIC END BOOLEAN F_CMS_CHIUSA BEGIN - PROMPT 55 6 "Chiusa" + PROMPT 68 6 "Chiusa" FIELD CHIUSA END @@ -240,7 +240,7 @@ END STRING F_CMS_CODTIPCM 5 BEGIN - PROMPT 2 8 "Tipologia di commessa " + PROMPT 2 8 "Tipo commessa " FIELD CODTIPCM USE TPC INPUT CODTAB F_CMS_CODTIPCM @@ -251,9 +251,9 @@ BEGIN CHECKTYPE NORMAL END -STRING F_CMS_DESTIPCM 50 42 +STRING F_CMS_DESTIPCM 50 44 BEGIN - PROMPT 32 8 "" + PROMPT 30 8 "" USE TPC KEY 2 INPUT S0 F_CMS_DESTIPCM DISPLAY "Descrizione@50" S0 @@ -263,7 +263,7 @@ END STRING F_CMS_CODTIPOL 5 BEGIN - PROMPT 2 9 "Tipologia di lavoro " + PROMPT 2 9 "Tipo lavoro " FIELD CODTIPO USE TPL INPUT CODTAB F_CMS_CODTIPOL @@ -274,9 +274,9 @@ BEGIN CHECKTYPE NORMAL END -STRING F_CMS_DESTIPOL 50 42 +STRING F_CMS_DESTIPOL 50 44 BEGIN - PROMPT 32 9 "" + PROMPT 30 9 "" USE TPL KEY 2 INPUT S0 F_CMS_DESTIPOL DISPLAY "Descrizione@50" S0 @@ -286,7 +286,7 @@ END STRING F_CMS_CODRESP 10 BEGIN - PROMPT 2 10 "Responsabile " + PROMPT 2 10 "Responsabile " FIELD CODRESP USE RSP INPUT CODTAB F_CMS_CODRESP @@ -297,9 +297,9 @@ BEGIN CHECKTYPE NORMAL END -STRING F_CMS_DESRESP 50 42 +STRING F_CMS_DESRESP 50 44 BEGIN - PROMPT 32 10 "" + PROMPT 30 10 "" USE RSP KEY 2 INPUT S0 F_CMS_DESRESP DISPLAY "Descrizione@50" S0 diff --git a/ca/ca2100.cpp b/ca/ca2100.cpp index c32200422..d9140e573 100755 --- a/ca/ca2100.cpp +++ b/ca/ca2100.cpp @@ -86,6 +86,7 @@ protected: virtual TMask* get_mask(int); virtual bool get_next_key(TToken_string& key); + bool link_ci(const TMask& m); void write_rows(const TMask& m); void read_rows(const TMask& m); @@ -1055,8 +1056,8 @@ void TMovanal_msk::create_sheet() if (!main_app().has_module(CIAUT)) { - hide(S_CODART); - hide(S_DESCART); + sm.hide(S_CODART); + sm.hide(S_DESCART); sf.delete_column(S_CODART); sf.delete_column(S_DESCART); } @@ -1108,17 +1109,24 @@ void TMovanal_app::write_rows(const TMask& m) TRectype& rec = mov.new_row(); // Crea una riga nuova _msk->row2rec(i, rec); } //FOR_EACH_SHEET... +} - if (has_module(CIAUT)) +bool TMovanal_app::link_ci(const TMask& m) +{ + bool done = has_module(CIAUT); + if (done) { - const TRectype& caus = cache().get(LF_CAUSALI, m.get(F_CODCAUS)); - if (caus.get_bool(CAU_MOVCGIND)) + const TRectype& mov = _rel->curr(); + const TRectype& caus = cache().get(LF_CAUSALI, mov.get(MOVANA_CODCAUS)); + done = caus.get_bool(CAU_MOVCGIND); + if (done) { TFilename n; n.tempdir(); n.add("mov_caci.ini"); n.fremove(); if (n.full()) // dummy test { - TConfig cini(n, "105"); + m.field(F_NUMREG).set(mov.get(MOVANA_NUMREG)); + TConfig cini(n, "107"); mask2ini(m, cini); } TString cmd; cmd << "ci0 -6 -i" << n; @@ -1126,6 +1134,7 @@ void TMovanal_app::write_rows(const TMask& m) ci0.run(); } } + return done; } void TMovanal_app::read_rows(const TMask& m) @@ -1156,14 +1165,20 @@ int TMovanal_app::write(const TMask& m) { m.autosave(*_rel); write_rows(m); - return _rel->write(); + const int err = _rel->write(); + if (err == NOERR) + link_ci(m); + return err; } int TMovanal_app::rewrite(const TMask& m) { m.autosave(*_rel); write_rows(m); - return _rel->rewrite(); + const int err = _rel->rewrite(); + if (err == NOERR) + link_ci(m); + return err; } int TMovanal_app::read(TMask& m) diff --git a/ca/ca2100a.uml b/ca/ca2100a.uml index 22a4011d1..ef295c124 100755 --- a/ca/ca2100a.uml +++ b/ca/ca2100a.uml @@ -111,6 +111,7 @@ BEGIN FLAGS "UG" FIELD CODCAUS GROUP 5 + ADD RUN cg0 -4 END STRINGA F_DESCAUS 50 40 @@ -124,6 +125,7 @@ BEGIN COPY OUTPUT F_CODCAUS CHECKTYPE REQUIRED GROUP 5 + ADD RUN cg0 -4 END STRING F_TIPODOC 2 diff --git a/ca/cacmmenu.men b/ca/cacmmenu.men index f3f34ec4b..27723c9a2 100755 --- a/ca/cacmmenu.men +++ b/ca/cacmmenu.men @@ -1,5 +1,5 @@ [CMMENU_001] -Caption = "Contabilita' analitica" +Caption = "Contabilitą analitica" Picture = Module = 15 Flags = "F" diff --git a/ca/calib01.cpp b/ca/calib01.cpp index 6b8baf5bc..351ea7f1f 100755 --- a/ca/calib01.cpp +++ b/ca/calib01.cpp @@ -655,6 +655,16 @@ void ca_create_browse1(TEdit_field& kfld, int level, int logic, short key_id, sh ca_append_select_clause(out, level, logic, add_select); ca_append_run_clause(out, logic); + bool req = false; + if ((logic == LF_COMMESSE || logic == LF_CDC) && kfld.mask().get_sheet()) // Sono in una maschera di riga? + { + TConfig& ini = ca_config(); + if (logic == LF_COMMESSE) + req = ini.get_bool("CmsRequired"); + else + req = ini.get_bool("CdcRequired"); + } + for (int i = 0; i <= level; i++) { const TString& picture = mci.picture(i); @@ -681,7 +691,7 @@ void ca_create_browse1(TEdit_field& kfld, int level, int logic, short key_id, sh out << "DI \"" << TR("Chiusa") << "\" CHIUSA" << '\n'; } out << "OU " << (des_id+level) << ' ' << field << '\n'; - out << "CH NO" << '\n'; + out << "CH " << (req ? "RE" : "NO") << '\n'; out << "FI " << main_info.fieldref(level) << '\n'; out << "EN" << '\n'; out.close(); @@ -745,9 +755,9 @@ void ca_create_browse2(TEdit_field& kfld, int level, int logic, short key_id) } if (logic == LF_COMMESSE) { - out << "DI \"" << TR("Proroga") << "\" PROROGA" << '\n'; - out << "DI \"" << TR("Data") << "@10" << "\" DATAPROR" << '\n'; - out << "DI \"" << TR("Chiusa") << "\" CHIUSA" << '\n'; + out << "DI \"" << HR("Proroga") << "\" PROROGA" << '\n'; + out << "DI \"" << HR("Data") << "@10" << "\" DATAPROR" << '\n'; + out << "DI \"" << HR("Chiusa") << "\" CHIUSA" << '\n'; } out << "CH NO" << '\n'; @@ -934,7 +944,8 @@ int ca_create_fields_compact(TMask& msk, int page, int logicnum, int x, int y, str.format("%s[%d,%d]", fieldname, fr.from()+from+1, fr.to()+from); kfld->set_field(str); } - kfld->set_warning(mci.prompt(i)); + TString war; war << mci.prompt(i) << ' ' << TR("assente"); + kfld->set_warning(war); offset += prompt.len() + picture.len() + 4; if (desc_offset < offset) desc_offset = offset; @@ -943,6 +954,11 @@ int ca_create_fields_compact(TMask& msk, int page, int logicnum, int x, int y, row_offset++; offset = 0; } + + // Copio il checktype nel campo fantasma per colorare correttamente la colonna + if (msk.get_sheet() != NULL && kfld->required()) + msk.efield(kid-100).check_type(kfld->check_type()); + } } row_offset = 0; @@ -1051,11 +1067,18 @@ int ca_create_fields_ext(TMask& m, int page, int x, int y, short first_id, { TMask_field& f = m.fld(pos); const int size = f.size(); - const TString prompt = ((TEditable_field &)f).get_warning(); + + TString80 prompt = f.prompt(); prompt.trim(); + if (prompt.blank()) + { + TToken_string ts(((TEditable_field &)f).get_warning(), ' '); + prompt = ts.get(0); + } s.set_column_header(id, prompt); s.set_column_justify(id, f.is_kind_of(CLASS_REAL_FIELD)); s.set_column_width(id, (max(3+size, prompt.len()+1)) * CHARX); s.enable_column(id); + m.efield(id-100).check_type(f.check_type()); // Copio il checktype nel campo fantasma per colorare correttamente la colonna } else s.delete_column(id); @@ -1492,7 +1515,7 @@ void TSimple_anal_msk::read(const char* name) read_mask(outname, 0, 0); xvt_fsys_remove_file(outname); - set_source_file(name); + set_source_file(inpname); } else read_mask(name, 0, 0); diff --git a/ca/camenu.men b/ca/camenu.men index a570c9dc3..00d100e56 100755 --- a/ca/camenu.men +++ b/ca/camenu.men @@ -1,5 +1,5 @@ [CAMENU_001] -Caption = "Contabilita' analitica" +Caption = "Contabilitą analitica" Picture = Module = 22 Flags = "F" @@ -16,7 +16,7 @@ Caption = "Configurazione" Picture = Module = 22 Flags = "" -Item_01 = "Parametri Contabilita' Analitica", "ca0 -2", "F" +Item_01 = "Parametri Contabilitą Analitica", "ca0 -2", "F" Item_02 = "Tabelle di ripartizione", "ca0 -7", "F" [CAMENU_020]