Lotus Approach - Crear un campo calculado desde un script

   
Vista:

Crear un campo calculado desde un script

Publicado por Hernan (18 intervenciones) el 08/11/2011 21:59:01
Hola Tod@s.

Necesito crear o generar un campo calculado desde un script
Encontre esto : rval = CurrentDocument.createcalcfield("xxx", strFormula) pero no me funciona adecuadamente
Lo que yo necesito es guardar el nombre del usuario en ese campo generado, pero como campo calculado, ya que posteriormente este valor lo utilizaré para actualizar varios campos en varias tablas relacionadas dependiendo los movimientos o transacciones que realice.

En todo caso desde scripts si actualizo este valor utilizando
USER = CurrentDocument.User

Pero ahora quiero generar un campo calculado que lo pueda ver desde definición de campos o desde agregar campos.

Mil gracias la ayuda que me puedan brindar.
Hernán
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
información
Otras secciones de LWP con contenido de Lotus Approach
- Cursos de Lotus Approach
información
Cursos y Temas de Lotus Approach
- Manual de Lotus Approach

Crear un campo calculado desde un script

Publicado por Manolo manuel.cleto@gmail.com (139 intervenciones) el 09/11/2011 11:30:16
Hola:
La fórmula tiene que ser exactamente como si la escribieras en "definición de campos", por lo que si la creas en la propia definición de campos y la copias para pegarla en el script, ya tienes la sintaxis correcta.

Dim campo as Integer
Campo = CurrentDocument.CreateCalcField("NOMBREDECAMPO","FORMULA")

La fórmula también va entre comillas dobles.

Un saludo.

Manolo
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

Crear un campo calculado desde un script

Publicado por HERNAN (18 intervenciones) el 09/11/2011 14:47:07
Hola Manolo.

Mil gracias, ahora si me funcionó aun que parcial. ya que no se realmente cual es la formula para asignar el nombre del usuario actual del archivo de approach a este campo que le estoy creando, si tu lo sabes me ayudarías mucho.

Saludos.

Hernán..
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

Crear un campo calculado desde un script

Publicado por Manolo (139 intervenciones) el 10/11/2011 10:30:33
Hola:
Creo que para lo que pretendes hacer, no te sirve el campo calculado. Como su propio nombre indica, en un campo calculado no puede intervenir el usuario. Su valor cambia dependiendo de otros campos cuando éstos varien. El usuario cuya contraseña utilizas para abrir el .APR no está en ningún campo de ninguna BD.
Si lo que quieres es almacenar en cada registro que se crea, o que se modifica, el usuario que lo hizo, lo que yo hago es lo siguiente:

Creo un campo "variable":
USUARIO Variable Texto

En cada BD en la que quiero almacenar el usuario "creador" del registro y el "modificador" creo dos campos:
Nombrecampo-Tipo-Tamaño
USER_CR........Texto.....15.......... "Fórmula de creación" = USUARIO
USER_MD........Texto.....15..........."Fórmula de modificación" = USUARIO

Approach guarda el nombre del usuario (según la contraseña de apertura) en una variable accesible desde el lenguaje script que es "CurrentDocument.User".

Para cargar ese valor en el campo USUARIO que hemos creado, tienes que hacer lo siguiente:
- En la pantalla inicial del APR agregar el campo USUARIO, y ponerlo de sólo lectura (para que ningún usuario pueda modificarlo). Si no quieres que se vea, puedes ponerle los mismos colores que tenga el fondo, y aunque el campo estará ahí, no será visible. Esto también lo puedes hacer por medio del script (la linea final en el ejemplo).
- Dentro del editor de script en el objeto "Approach" en la propiedad "DocumentOpened" poner el siguiente script:
CurrentView.Body.USUARIO.ReadOnly = False ' -->Para poder modificar su valor
CurrentView.Body.USUARIO.Text = CurrentDocument.User '--> Carga del valor
CurrentView.Body.USUARIO.ReadOnly = True '---> otra vez sólo lectura
CurrentView.Body.USUARIO.Visible = False '--->No visible

Y ya está.

Ahora cada usuario que cree ó modifique un registro en las BD en las que hemos definido USER_CR y USER_MD, ya quedará registrado.

Y ya para rizar el rizo, yo también le añado a cada registro fecha y hora de creación, y fecha y hora de modificación.

Espero que te sirva de utilidad.

Un saludo.

Manolo
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

Crear un campo calculado desde un script

Publicado por Hernan heres.ec@hotmail.com (18 intervenciones) el 10/11/2011 16:28:25
Estimado Manolo.

Me funciono de película...

Realmente no había utilizado el campo Variable, es la primera vez y creo que podría tener mucho potencial, ya que anteriormente utilizaba scripts para asignar usuario que crea, que modifica, que.. pero en ocasiones no actualizaba adecuadamente, a igual que tu también utilizo fechas...

Mil gracias tu ayuda..

Hernán
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