diff --git a/ve/velib02.cpp b/ve/velib02.cpp index a3220accd..d63c9f589 100755 --- a/ve/velib02.cpp +++ b/ve/velib02.cpp @@ -954,7 +954,7 @@ void TRiga_documento::autoload(TSheet_field & f) row.cut(0); row.add( get( RDOC_TIPORIGA ), f.cid2index(FR_TIPORIGA )); - const TString16 codmag(get(RDOC_CODMAG)); + const TString8 codmag(get(RDOC_CODMAG)); row.add( codmag.left(3), f.cid2index(FR_CODMAG )); row.add( codmag.mid(3), f.cid2index(FR_CODDEP )); row.add( get( RDOC_CODART ), f.cid2index(FR_CODART )); @@ -997,6 +997,7 @@ void TRiga_documento::autoload(TSheet_field & f) row.add( get( RDOC_IMPIANTO) , f.cid2index(FR_IMPIANTO)); row.add( get( RDOC_LINEA) , f.cid2index(FR_LINEA)); + f.select(num); // Seleziona la riga in modo da selezionare la maschera di riga giusta TMask& m = f.sheet_mask(); for (short cdcid = FR_CDC1; cdcid <= FR_CDC12; cdcid++) { diff --git a/ve/vereplib.cpp b/ve/vereplib.cpp index 839373c56..b77677e12 100755 --- a/ve/vereplib.cpp +++ b/ve/vereplib.cpp @@ -88,8 +88,13 @@ const TVariant& TDocument_recordset::get(int num, const char* field) const else { const int nriga = rec.get_int(RDOC_NRIGA); - const TRiga_documento& rdoc = doc[nriga]; - var = ref.read(rdoc); + if (nriga > 0 && nriga <= doc.rows()) + { + const TRiga_documento& rdoc = doc[nriga]; + var = ref.read(rdoc); + } + else + var = NULL_VARIANT; } } return var;