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)
- If Str$(doc.intVal(0)) <> doc.intValPrev(0) Then
Y en la comparación del If hice esto:
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