Tecnolack - blog de cultura geek

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

account_circle Por Sagara access_time 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

@Mail
Recibe actualizaciones vía email.