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

Por Sagara el 17 de abril del 2011

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


Publicado en Programación
Sitios Amigos
Únete en Facebook
Síguenos en Twitter
Publicaciones Favoritas