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
This commit is contained in:
guy 2003-06-05 13:17:23 +00:00
parent 967ab7b358
commit d5fa377b90
4 changed files with 22 additions and 24 deletions

View File

@ -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);
}
}

View File

@ -55,6 +55,7 @@ BEGIN
OUTPUT F_FROM_NUM CODTAB
OUTPUT F_FROM_DES S0
CHECKTYPE REQUIRED
ADD NONE
FIELD CODNUM
END

View File

@ -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)

View File

@ -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);