From d0696d8126f0b246cade56b4029f2ed274b465bc Mon Sep 17 00:00:00 2001 From: bonazzi Date: Sat, 29 Jul 2017 14:18:40 +0000 Subject: [PATCH] Patch level : 12.0 426 Files correlati : ve0.exe ve0300a.ini ve0100a.msk ve0200g.msk ve1300.alx ve1.exe ve17001.rep ve17002.rep ve1700a.msk ve1700a.msk ve2.exe ve6.exe ve61000a.msk ve17001.rep ve17002.rep ve17002.rep ve17001.rep ve1700a.msk ve6b00a.msk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MODIFICHE CRPA Se si mette il flag P sulla data documento della maschera di un tipo documento viene proposta l’ultima data inserita. Possibilità di impostare il numero di copie nell’inserimento/modifica di un documento. Righe documento massime 10000 Aggiunta ricerca per riferimento cliente (ricerca alternativa). Aggiunto indirizzo cliente/fornitore sulla ricerca documenti. Lista documenti avanzata (report). Aggiunte le regolarizzazioni nella contabilizzazione documenti Sistema abilitazione della data registrazione in contabilizzazione documenti Aggiunta la possibilità di usare campi del documento nella dicitura del riferimento. Gestiti i movimenti di sola iva in contabilizzazione. Riferimento per mese nelle partite. Ordinamento per documento nell’evasione ordini con un flag in configurazione Impostato il tipo CF in base al tipo documento Aggiunto il messaggio cliente alla stampa report delle vendite git-svn-id: svn://10.65.10.50/branches/R_10_00@24025 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/include/msksheet.cpp | 62 +++++++++++++++++++++++++--------------- src/include/recset.cpp | 8 ++++-- 2 files changed, 45 insertions(+), 25 deletions(-) diff --git a/src/include/msksheet.cpp b/src/include/msksheet.cpp index be4bcdb40..128dcc74f 100755 --- a/src/include/msksheet.cpp +++ b/src/include/msksheet.cpp @@ -2785,8 +2785,8 @@ void TSpreadsheet::clear_range_selection() void TSpreadsheet::select_range(int row) { - int from = _from; - int to = _to; + //int from = _from; + // int to = _to; if (row < 0) row = selected(); @@ -2797,20 +2797,12 @@ void TSpreadsheet::select_range(int row) _from = _to = row; else { - if (row < _from) - from = _from = row; - else - from = _to = row; + if (_from > row) + _from = row; + if (_to < row) + _to = row; } - if (from < 0) - from = 0; - if (from >_from) - from = _from; - if (to < 0) - to = items(); - if (to < _to) - to = _to; - for (int r = from; r <= to; r++) + for (int r = _from; r <= _to; r++) { TRow_property* prop = (TRow_property*)_saved_properties->objptr(r); COLOR back = NORMAL_BACK_COLOR; @@ -2818,9 +2810,10 @@ void TSpreadsheet::select_range(int row) if (prop != NULL) prop->get(-1, back, fore); - if (r >= _from && r <= _to) - back = blend_colors(back, FOCUS_BACK_COLOR, 0.75); - set_back_and_fore_color(back, fore, r, -1); +// if (r >= _from && r <= _to) +// back = blend_colors(back, fore, 0.01); + fore = blend_colors(back, fore, 0.6); + set_back_and_fore_color(fore, back, r, -1); } } @@ -2838,15 +2831,38 @@ void TSpreadsheet::paste_rows() { int row = selected(); int nrows = _copied_rows.items(); - - if (row >= _str.items() - 1) + + if (row > _str.items() - 1) + row = _str.items() - 1; + +/* if (row > _str.items() - 1) { row = _str.items() - 1; _str.add(_copied_rows.row(--nrows)); - } - for (int i = nrows - 1; i >= 0; i--) - _str.insert(_copied_rows.row(i), row + 1); + TRow_property* prop = (TRow_property*)_saved_properties->objptr(row); + COLOR back = NORMAL_BACK_COLOR; + COLOR fore = NORMAL_COLOR; + + if (prop != NULL) + prop->get(-1, back, fore); + set_back_and_fore_color(back, fore, row, -1); + + } */ + + for (int i = nrows; i > 0; i--) + { + _str.insert(_copied_rows.row(i - 1), row + 1); + + TRow_property* prop = (TRow_property*)_saved_properties->objptr(row + 1); + COLOR back = NORMAL_BACK_COLOR; + COLOR fore = NORMAL_COLOR; + + if (prop != NULL) + prop->get(-1, back, fore); + set_back_and_fore_color(back, fore, row + 1, -1); + } + } diff --git a/src/include/recset.cpp b/src/include/recset.cpp index 57fa76771..48fa2db82 100755 --- a/src/include/recset.cpp +++ b/src/include/recset.cpp @@ -253,7 +253,7 @@ bool TRecordset::save_as_text(const char* path) for (unsigned int c = 0; ; c++) { const TVariant& var = get(c); - if (var.is_null() && c >= cols) + if (/* var.is_null() && */ c >= cols) break; if (c > 0 && !as400) @@ -1562,8 +1562,12 @@ TCursor* TISAM_recordset::cursor() const TParagraph_string msg(use, 64); TPerformance_profiler prof(msg.get(0)); TISAM_recordset* my = (TISAM_recordset*)this; - +#ifdef LINUX + string s(use.get_buffer()); + istringstream instr(s); +#else istrstream instr(use.get_buffer(), use.len()+1); //"barata" x aggiungere il carattere finale +#endif TCursor_parser parser(instr, my->_column); my->_relation = parser.get_relation();