From af76bbf8554b0db5fd2ab862d7a55a63309b4a34 Mon Sep 17 00:00:00 2001 From: luca Date: Thu, 28 Aug 2008 13:28:46 +0000 Subject: [PATCH] Patch level :10.0 Files correlati : Ricompilazione Demo : [ ] Commento :sistemati casini da riporto 3.2 git-svn-id: svn://10.65.10.50/trunk@17124 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/velib06.cpp | 230 +------------------------------------------------ ve/velib07.cpp | 2 +- 2 files changed, 3 insertions(+), 229 deletions(-) diff --git a/ve/velib06.cpp b/ve/velib06.cpp index f10b854e5..fc7e57da6 100755 --- a/ve/velib06.cpp +++ b/ve/velib06.cpp @@ -1370,26 +1370,10 @@ bool TDocumento_mask::ss_notify( TSheet_field& ss, int r, KEY key ) const TTipo_riga_documento & t = riga.tipo(); if (s.full()) - { - if (r < doc.rows()) - { - TRiga_documento & riga = doc[r + 1]; - if (riga.is_omaggio() && riga.is_generata()) - { - const bool enabled = ss.cell_enabled(r, 0); - - if (!enabled) ss.enable_row(r); - ss.force_update(r); - ss.select(r); - m.send_key(K_CTRL + '+', 0); - if (!enabled) ss.disable_row(r); - ss.force_update(r); - return false; - } - + { s.left_just(3); s << ven_rec.get(CFV_CODDEP); - } + } else { s = m.get(F_CAUSMAG); @@ -3480,8 +3464,6 @@ bool TDocumento_mask::confirm_handler( TMask_field& f, KEY key ) qmask.set(F_ANNO, dest.get_int(DOC_ANNO)); qmask.set(F_NDOC, dest.get_long(DOC_NDOC)); qmask.field(F_NDOC).update_flags("RP"); - -// qmask.send_key(K_ENTER, 0); } else return error_box("Errore %d nella generazione del documento definitivo", err); @@ -3489,211 +3471,3 @@ bool TDocumento_mask::confirm_handler( TMask_field& f, KEY key ) } return ok; } - -void TDocumento_mask::update_father_rows(bool add) -{ - if (_auto_reopen_nums.empty()) - return; - const int rows = doc().physical_rows(); - - for (int i = 1; i <= rows; i++) - { - const TRiga_documento & r = doc()[i]; - - if (r.is_merce() || r.is_omaggio()|| r.is_prestazione()) - { - TRiga_documento * original_row = (TRiga_documento *) r.find_original_rdoc(); - - if (original_row != NULL && _auto_reopen_nums.objptr(original_row->get(RDOC_CODNUM)) != NULL) - { - TToken_string key; - - key.add(original_row->get(RDOC_PROVV)); - key.add(original_row->get(RDOC_ANNO)); - key.add(original_row->get(RDOC_CODNUM)); - key.add(original_row->get(RDOC_NDOC)); - key.add(original_row->get(RDOC_IDRIGA)); - - real * qta = (real *) _father_rows.objptr(key); - - if (qta == NULL) - { - qta = new real; - _father_rows.add(key, qta); - } - - real value = r.quantita(); - - if (r.is_articolo()) - { - TArticolo art(r.get(RDOC_CODARTMAG)); - - value = art.convert_to_um(value, original_row->get(RDOC_UMQTA), r.get(RDOC_UMQTA)); - } - if(add) - *qta += value; - else - *qta -= value; - if (*qta == ZERO) - _father_rows.remove(key); - } - } - } -} - -TAssoc_array TDocumento_mask::_father_rows; -TAssoc_array TDocumento_mask::_auto_reopen_nums; -TAssoc_array TDocumento_mask::_tipidoc_rels; - -void TDocumento_mask::save_father_rows() -{ - if (_auto_reopen_nums.empty()) - return; - TLocalisamfile rdoc(LF_RIGHEDOC); - TString_array rows; - TToken_string last_doc; - TToken_string curr_doc; - int nrows = 0; - - FOR_EACH_ASSOC_OBJECT(_father_rows, h, k, o) - { - rows.add(k); - } - rows.sort(); - rows.add(""); - - FOR_EACH_ARRAY_ROW(rows, i, r) - { - curr_doc = r->get(0); - curr_doc.add(r->get()); - curr_doc.add(r->get()); - curr_doc.add(r->get()); - - if (last_doc != curr_doc && nrows > 0) - { - TDocumento d; - - d.read(last_doc.get_char(0), last_doc.get_int(1), last_doc.get(2), last_doc.get_long(3), _isequal, _lock); - for (int j = i - nrows; j < i; j++) - { - TToken_string & key = rows.row(j); - const long idriga = key.get_long(4); - const int nrows = d.physical_rows(); - - for (int k = 1; k <= nrows; k++) - { - TRiga_documento & rdoc_row = d[k]; - - if (idriga == rdoc_row.get_long(RDOC_IDRIGA)) - { - const real * qta = (const real *) _father_rows.objptr(key); - const TString16 name = rdoc_row.field_qtaevasa(); - real qtaevasa = rdoc_row.get_real(name) + * qta; - - if (qtaevasa < ZERO) - qtaevasa = ZERO; - rdoc_row.put(name, qtaevasa); - if (qtaevasa < rdoc_row.quantita()) - rdoc_row.zero(RDOC_RIGAEVASA); - else - rdoc_row.put(RDOC_RIGAEVASA, "X"); - break; - } - } - } - TToken_string key(d.tipo().codice()); - - key.add(doc().tipo().codice()); - - TStati * stati = (TStati *) _tipidoc_rels.objptr(key); - - if (stati != NULL) - { - const int nrows = d.physical_rows(); - bool evaso = true; - - for (int k = 1; evaso && k <= nrows; k++) - evaso &= d[k].is_evasa(); - d.stato(evaso ? stati->finale() : stati->iniziale()); - } - d.rewrite(); - nrows = 0; - } - last_doc = curr_doc; - nrows++; - } - -} - -bool TDocumento_mask::confirm_handler( TMask_field& f, KEY key ) -{ - if (key == K_SPACE) - { - TMask m("ve0100d"); - TDocumento_mask & mask = (TDocumento_mask &) f.mask(); - const TDocumento& src = mask.doc(); - TCodice_numerazione num(src.numerazione()); - TString4 codnum(num.codnumdef()); - TString4 tipodoc(num.tipodocdef()); - if (!num.newnumdef()) - { - codnum = src.get(DOC_CODNUM); - tipodoc = src.get(DOC_TIPODOC); - } - else - { - codnum = num.get("S8"); - tipodoc = num.get("S9"); - } - bool ok = codnum.full() && tipodoc.full(); - - if (!ok) - { - m.set(F_CODNUM, codnum); - m.enable(F_CODNUM, codnum.blank()); - m.enable(F_DESNUM, codnum.blank()); - m.set(F_TIPODOC, tipodoc); - m.enable(F_TIPODOC, tipodoc.blank()); - m.enable(F_DESTIPODOC, tipodoc.blank()); - ok = m.run() == K_ENTER; - if (ok) - { - codnum = m.get(F_CODNUM); - tipodoc = m.get(F_TIPODOC); - } - } - - ok = codnum.full() && tipodoc.full(); - if (ok) - { - TDocumento dest(src); - - dest.put(DOC_CODNUM, codnum); - dest.put(DOC_TIPODOC, tipodoc); - dest.put(DOC_PROVV, "D"); - dest.zero(DOC_NDOC); - - int err = dest.write(); - - if (err == NOERR) - { - err = src.remove(); - if (err != NOERR) - warning_box("Errore %d nell'eliminazione del documento provvisorio", err); - mask.stop_run(K_ESC); - TMask & qmask = app().query_mask(); - qmask.set(F_CODNUM, codnum); - qmask.set(F_PROVV, dest.get_char(DOC_PROVV)); - qmask.set(F_ANNO, dest.get_int(DOC_ANNO)); - qmask.set(F_NDOC, dest.get_long(DOC_NDOC)); - qmask.field(F_NDOC).update_flags("RP"); - -// qmask.send_key(K_ENTER, 0); - } - else - return error_box("Errore %d nella generazione del documento definitivo", err); - } - } - return ok; -} - diff --git a/ve/velib07.cpp b/ve/velib07.cpp index 22a688812..c3568272a 100755 --- a/ve/velib07.cpp +++ b/ve/velib07.cpp @@ -218,7 +218,7 @@ void TScalare_recordset::requery() filter << query_text()[pos1++]; distinta.explode(boom(), false, RAGGR_EXP_NONE, level, filter); } - pos = query().find("FILTER", pos); + pos = query_text().find("FILTER", pos); if (pos > 0) { pos = query_text().find("==", pos);