Lotus Notes - Problemas de vistas

 
Vista:

Problemas de vistas

Publicado por Miguel (9 intervenciones) el 29/10/2001 15:03:09
Quiero crear en un formulario un número de referencia secuencial, y he pensdado hacerlo por medio de una vista ordenada por número de referencia de mayor a menor, localizar el primer documento, extraer el valkor de la referencia y añadirle uno, PERO.....
no soy capaz de localizar el primer documento sin tener algo con lo que igualar....
Podríais alguna/o darme una pista o mejor todavía la solución.

Gracias anticipadas

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Viejo Problema

Publicado por Juan Francisco (2 intervenciones) el 30/10/2001 17:45:35
Ya tube ese problema, y francamente es muy complicado, localizar el numero no es tan dificil, pero te va a surgir el problema de que si se están creando 2 documentos al mismo tiempo, te va a duplicar el numero secuencial. nosotros optamos por un archivo externo, el cual bloqueamos cuando un documento se está leyendo, reducimos la catidad de duplicaciones, pero existe la posibilidad de que 2 documentos se creen en la misma fraccion de segundo, y documento A lea el archivo y antes de bloquearlo lo lea B... en realidad no estoy muy seguro de lo que pasa, pero al suceder esto el archivo externo se borra.
todavia no solucionamos el problema, pero utilizando una vista no pudimos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas de vistas

Publicado por Noctus Occisor (16 intervenciones) el 31/10/2001 09:58:25
No se si he entendido bien tu consulta: tu idea es obtener el primer documento de una vista ordenada para mantener un indice, ¿no?. Eso es muy facil. Utilizando LotusScript, crea una instancia de un objeto NotesView y con la propiedad GetfirstDocument obten el documento que te interesa. El codigo es algo asi:

dim bd as Notesdatabase
dim vista as Notesview
dim sesion as new notessession
dim doc as notesdocument
dim ultimo_codigo as integer
dim nuevo_codigo as integer

set bd = sesion.currentdatabase
set vista = bd.getview ("Nombre_de_tu_vista")
set doc = vista.getfirstdocument
ultimo_codigo = doc.codigo(0).
nuevo_codigo = ultimo_codigo + 1

Con respecto a la creacion de documentos al mismo tiempo, eso tiene peor solucion. Podrias bloquear los documentos con un campo donde, si se ha utilizado un determinado documento para crear un nuevo identificador de documento, este campo se rellenase al principio de todo el codigo. Teoricamente, el acceso a un determinado documento por parte de dos usuarios distintos no se da, pues notes devuelve el documento primero a uno y despues al otro, pero he dicho que esto es en teoria. Siempre puedes utilizar el "fusionar conflictos de replicacion" para evitar estos problemas.

Espero que te haya solucionado algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar