DISEÑO DE APLICACIONES


Ejemplos de agentes que se deben ejecutar antes de que los usuarios de Web abran o guarden documentos
Para realizar la comprobación de errores, la validación de campos y otro tipo de procesos antes de que los usuarios de Web abran o guarden documentos, cree un agente compartido que se ejecute manualmente. A continuación, escriba una fórmula que utilice @Command([RunAgent]) o @Command([ToolsRunMacro]) para ejecutar el agente y asociarlo con los eventos de formulario WebQueryOpen o WebQuerySave. De esta manera, obtendrá el mismo resultado que con los eventos de formulario QueryOpen y QuerySave de LotusScript, eventos que no se pueden utilizar en Internet.

Eventos WebQueryOpen

Un evento WebQueryOpen ejecuta el agente antes de que Domino convierta un documento en HTML y lo envíe al navegador. IBM® Lotus® Domino(TM) hace caso omiso del resultado de este agente en este contexto.

Algunos ejemplos del empleo de este agente son la realización de extensos cálculos que no serían posibles con comandos de @Command o la recopilación de estadísticas sobre quién ha abierto ciertos documentos y cuándo lo ha hecho.

Nota Los agentes WebQueryOpen se ejecutan cuando el usuario abre un formulario o un documento, pero no cuando guarda un documento. Esto significa que los campos calculados establecidos por un agente WebQueryOpen no se guardan cuando el usuario envía un documento. Para asegurarse de que los campos calculados se guarden, puede recalcularlos en el agente WebQuerySave o definir el formulario con la propiedad Generar HTML para todos los campos.

Eventos WebQuerySave

Un evento WebQuerySave ejecuta el agente después de que se hayan ejecutado fórmulas de validación de los datos introducidos en un campo y antes de que el documento se guarde en el disco o se envíe por correo. El agente puede modificar el documento o utilizar los datos de éste para realizar otras operaciones. El documento se guarda automáticamente después de la ejecución del agente. No haga que el agente guarde el documento (por ejemplo, ejecutando NotesDocument.Save), dado que ello podría provocar resultados no deseados.

Un agente WebQuerySave puede producir mensajes que devolver al usuario. Por ejemplo, en un agente LotusScript se puede usar el comando Print para devolver HTML sin procesar. Si el agente produce mensajes, el formulario no debe tener un campo $$Return, porque Domino sólo mostrará el mensaje del agente, no el del campo.

Algunos ejemplos del uso de este agente son:


Nota El campo SaveOptions debe existir en el formulario para que el agente WebQuerySave cambie su valor. Si este agente crea el campo SaveOptions, el formulario se guardará independientemente del valor existente en dicho campo.



Glosario
¿Desea opinar sobre la Ayuda o sobre la utilidad del producto?