From d5fa377b905416525172a8b167a2921eb3cf592b Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 5 Jun 2003 13:17:23 +0000 Subject: [PATCH] Patch level : 2.0 490 Files correlati : ve0.exe ve5.exe ve5400.msk Ricompilazione Demo : [ ] Commento : AO20045 Se specifico una Numerazione diversa dallo standard (quindi inserita nuova) una volta lanciata l'estrazione/archiviazione non fa nulla. ATTENZIONE: fatte varie prove con numerazioni nuove e vecchie ed il problema non sussiste. E' possibile archiviare, cancellare e ripristinare i documenti. Eliminata comunque la possibilita' di premere "Nuovo" per la numerazione. AO20053 Se lancio una fatturazione con ordinamento per Zona, se alcune bolle non hanno specificata nessuna Zona vengono fatturate anche loro; idem per l'Agente. ATTENZIONE: Espresso in questi termini il problema non sussiste. Trattasi di ORDINAMENTO per Zona, non di FILTRO/SELEZIONE per Zona. Ordinare per zona non significa escludere i documenti senza Zona. Verificare il comportamento anche a 16 bit ed eventualemte richiedere nuova implementazione. git-svn-id: svn://10.65.10.50/trunk@11212 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/ve0100.cpp | 21 ++++++++++++--------- ve/ve5400.uml | 1 + ve/velib02.cpp | 2 +- ve/velib06a.cpp | 22 ++++++++-------------- 4 files changed, 22 insertions(+), 24 deletions(-) diff --git a/ve/ve0100.cpp b/ve/ve0100.cpp index b90b9590f..196dc3edf 100755 --- a/ve/ve0100.cpp +++ b/ve/ve0100.cpp @@ -349,14 +349,17 @@ void TMotore_application::sheet2ini(TSheet_field &sheet,TConfig& ini) { defpar.format("%d,%d",LF_RIGHEDOC,r); const TMask * sm = m.riga_mask(r-1); - + const TToken_string rigar = sheet.row(r-1); for (int sf = 0; sf < sm->fields(); sf++) { TMask_field& campo = sm->fld(sf); if (campo.shown() && campo.field()) { - str = sheet.row(r-1).get(sheet.cid2index(campo.dlg())); - if (str.empty()) str = " "; + // str = sheet.row(r-1).get(sheet.cid2index(campo.dlg())); + const short id = campo.dlg(); + rigar.get(sheet.cid2index(id), str); + if (str.empty()) + str = " "; const word field_class = campo.class_id(); if (field_class == CLASS_MEMO_FIELD || field_class == CLASS_ZOOM_FIELD) @@ -449,15 +452,15 @@ void TMotore_application::ini2mask(TConfig& ini, TMask& msk, bool query) split_pos = descr_len; if (split_pos > 0) { - rec.put( "DESCR", s.left(split_pos)); - rec.put("DESCLUNGA", "X"); - rec.put("DESCEST", s.mid(split_pos)); + rec.put(RDOC_DESCR, s.left(split_pos)); + rec.put(RDOC_DESCLUNGA, "X"); + rec.put(RDOC_DESCEST, s.mid(split_pos)); } else { - rec.put("DESCR", s); - rec.put("DESCLUNGA", ""); - rec.zero("DESCEST"); + rec.put(RDOC_DESCR, s); + rec.put(RDOC_DESCLUNGA, ""); + rec.zero(RDOC_DESCEST); } } diff --git a/ve/ve5400.uml b/ve/ve5400.uml index a6fc21225..dfa59d569 100755 --- a/ve/ve5400.uml +++ b/ve/ve5400.uml @@ -55,6 +55,7 @@ BEGIN OUTPUT F_FROM_NUM CODTAB OUTPUT F_FROM_DES S0 CHECKTYPE REQUIRED + ADD NONE FIELD CODNUM END diff --git a/ve/velib02.cpp b/ve/velib02.cpp index fb196f289..d85b42f10 100755 --- a/ve/velib02.cpp +++ b/ve/velib02.cpp @@ -730,7 +730,7 @@ void TRiga_documento::put_str(const char* fieldname, const char* val) bool TRiga_documento::is_articolo() const { const char t = tipo().tipo(); - return (t == RIGA_MERCE || t == RIGA_OMAGGI) && get("CODARTMAG").not_empty(); + return (t == RIGA_MERCE || t == RIGA_OMAGGI) && get(RDOC_CODARTMAG).not_empty(); } void TRiga_documento::zero(const char * fieldname) diff --git a/ve/velib06a.cpp b/ve/velib06a.cpp index 474d0d94e..66dbd1880 100755 --- a/ve/velib06a.cpp +++ b/ve/velib06a.cpp @@ -838,29 +838,23 @@ void set_curr_um(const TMask & m) bool umart_handler( TMask_field& f, KEY key ) { + TMask& row_mask = f.mask( ); + TDocumento_mask & mask = (TDocumento_mask &) row_mask.get_sheet()->mask(); // Se qualcuno cerca di modificare la maschera - if ( key == K_TAB && f.focusdirty()) + if ( key == K_TAB && f.focusdirty() && mask.is_running()) { - TMask& row_mask = f.mask( ); - TDocumento_mask & mask = (TDocumento_mask &) row_mask.get_sheet()->mask(); TSheet_field& sh = (TSheet_field &)mask.field(F_SHEET); const int current_doc_row = sh.selected() + 1; -// TLocalisamfile & anamag = ((TEdit_field &) row_mask.field(FR_CODART)).browse()->cursor()->file(); -// TLocalisamfile & umart = ((TEdit_field &) f).browse()->cursor()->file(); - TLocalisamfile anamag(LF_ANAMAG); - TLocalisamfile umart(LF_UMART); - TCond_vendita & condv = mask.condv(); - -// condv.set_testa(&mask); - condv.set_riga(&row_mask); -// condv.set_anamag(anamag); -// condv.set_umart(umart); - const TString16 um(f.get()); + TCond_vendita & condv = mask.condv(); + condv.set_riga(&row_mask); + + const TString& um = f.get(); real fc(1.0); if (um.not_empty() && curr_um.not_empty() && um != curr_um) { + TLocalisamfile umart(LF_UMART); umart.setkey(2); umart.put(UMART_CODART, row_mask.get(FR_CODARTMAG)); umart.put(UMART_UM, um);