Lotus Script: comparar valores numéricos de Form en un Agente

Lotus Notes

Note algo curioso en Lotus Script que hasta el momento no entiendo por que pasa así y es que al tratar de hacer una comparación en un Agent que corre en el evento WebQuerySave de un Form no tuve problemas con los valores String:

If doc.stringVal(0) <> doc.stringValPrev(0) Then
 MsgBox "Valor Cambio"
' Cambiar Prev por actual
End If

Pero si con unos valores numéricos:

If doc.intVal(0) <> doc.intValPrev(0) Then
 MsgBox "Valor Cambio"
' Cambiar Prev por actual
End If

En este ultimo If regresa en la aplicación un “Form processed” y en la consola un “Type mistmatch”, lo que significa que se esta usando valores de tipos diferentes. Ni siquiera entra a la condición. Pero doc.intVal(0) y doc.intValPrev(0) ambos son Integer, así que lo que hice fue:

  • Cambie a String value el doc.intValPrev(0)
  • Y en la comparación del If hice esto:

  • If Str$(doc.intVal(0)) <> doc.intValPrev(0) Then

Para obtener si el valor cambio o no, con eso es mas que suficiente. Espero les ayude mientras entiendo exactamente el por que sucede así.

Documentación | IBM

Un comentario para “Lotus Script: comparar valores numéricos de Form en un Agente”

Gracias por compartir tu opinión en esta nota

Para que tu avatar aparezca en los comentarios de este y otros blogs debes ser usuario registrado en Gravatar, puedes registrarte en el siguiente enlace: http://en.gravatar.com/site/signup
Stay Geek!

Deja un comentario

Sitios Amigos
Únete en Facebook
Síguenos en Twitter
Publicaciones Favoritas