Lotus Notes - CORRELATIVO

 
Vista:

CORRELATIVO

Publicado por PEDRO RODRIGUEZ (4 intervenciones) el 24/02/2005 14:05:00
ANTEN TODO UN SALUDO Y GRACIAS POR AYUDAS, AHORA TENGO UN PROBLEMA EL ES CREAR UN CORRELATIVO A UN FORMULARIO DONDE VARIAS PERSONAS DEBEN AGREGRAR DATOS EN FORMA SIMULTAMEA
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:CORRELATIVO

Publicado por Pedro Meza (89 intervenciones) el 25/02/2005 13:09:55
bueno esta es solo una idea no la he probado, espero que te sirva:

primero crea un formulario con un campo correlativo de tipo text editable
luego una vista sobre el formulario que se llame "(correlativo)" ,
crea un documento con el correlativo en 0.

luego en el formulario que quieres agregar el correlativo, agrega el siguiente código al momento de grabar.

dim doc as notesdocument
dim thisdoc as notesdocument
dim uidoc as notesuidocument
dim ws as new notesuiworkspace
dim db as new notesdatabase
dim s as new notessession

set db=s.CurrentDatabase
set uidoc = ws.CurrentDocument
set thisdoc = uidoc.document

set view = db.GetView("(Correlativo)") ' esta vista contiene un solo documento
set doc = view.GetFirstDocument

CorrDelDocumento = Cdbl(doc.Correlativo(0) + 1)
doc.Correlativo = Cstr(Cdbl(doc.Correlativo(0)) + 1)
Call doc.save(1, 1)
Msgbox "Su documento ha sido creado con el código " & corrDelDocumento, 64, "Mensaje"

Call thisdoc.ReplaceItemValue("Correlativo",CorrDelDocumento)
Call thisdoc.save(1,1)
uidoc.close

suerte!

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:CORRELATIVO

Publicado por pedro rodriguez (89 intervenciones) el 28/02/2005 20:52:59
tengo dos dudas
1.- primero se crea un registro que tenga como unico valor 0 y ese valor se le asocia a una vista?
2.- Luego de haber creado ese registro en el caso que sea asi, la rutina que me enviaste la coloco en una opcion del formulario o del campo y donde especificamente en el querysave o otro lugar

Y de ante mano gracias por tu ayuda
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:CORRELATIVO

Publicado por Pedro Meza (89 intervenciones) el 28/02/2005 21:43:32
1) efectivamente, debes crear un registro, con el campo contador en 0 o en el número
que quieras que empieze el contador..y la vista (correlativo) debe obtener los datos desde
el formulario (correlativo)

2) puedes colocar el código donde te acomode mas,
si colocas el código en el evento querysave, toma en cuenta que cada vez que graben
el documento se se ejecutara el código, y asignara un nuevo correlativo al documento
debes evitar esto, te recomiendo que lo coloques en un boton Grabar que se esconda
bajo la siguiente condición @isNewDoc y agregas otro Boton Grabar con la siguiente
formula @command([FileSave]) ; @command([FileCloseWindow]) este botón se debe esconder con la siguiente condición !@isNewDoc

al final hice la pruba y funciono, pero el código tenia algunos errores,
aqui esta modificado:

Sub Click(Source As Button)

Dim s As New notessession
Dim doc As notesdocument
Dim thisdoc As notesdocument
Dim uidoc As notesuidocument
Dim ws As New notesuiworkspace
Dim db As notesdatabase


Set db=s.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set thisdoc = uidoc.document

Set view = db.GetView("(Correlativo)") ' esta vista contiene un solo documento
Set doc = view.GetFirstDocument

CorrDelDocumento = Cdbl(doc.Correlativo(0) + 1)
doc.Correlativo = Cstr(Cdbl(doc.Correlativo(0)) + 1)
Call doc.save(1, 1)

Msgbox "Su documento ha sido creado con el código " & corrDelDocumento, 64, "Mensaje"

Call thisdoc.ReplaceItemValue("Correlativo",CorrDelDocumento)
Call thisdoc.save(1,1)
uidoc.save
uidoc.close

End Sub

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:CORRELATIVO

Publicado por Daniel Perez (1 intervención) el 24/11/2005 20:10:06
No debes crear un correlativo si es una aplicación multiusuario, ya que va a ser defícil controlar esto, recuerda que la aplicación está en un servidor y todo el mundo accesa a el, no está en local en una maquina.

Debes crear un ticket con un formato único e irrepatible bajo cualquier condicion, por ejemplo con el día, mes, año, hora, minutos y segundos, te quedaría algo así como DD-MM-AA-HH-MM-SS, puedes llevarlo hasta milésimas de segundo, si lo quieres más prececiso, esto haría menos posible que dos usuarios tengan el mismo ticket.

Espero que te sirva, yo lo he usado mucho de esta manera y me funciona y los dueños de las aplicaciones quedan contentos.
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