Pregunta

No soy un programador Observa, sin embargo, por mis pecados, han estado trabajando en algunas notas características para un proyecto de la casa recientemente. Necesito para permitir la edición / desactivar de un campo dependiendo de las circunstancias. Me parece ser una característica bastante estándar, que necesito, pero no puedo encontrar ninguna información sobre cómo hacer esto en cualquier lugar.

En la configuración forma (y onchange de otro campo) de código, algo así como lo siguiente:

if some requirement = true then
    textField.enable = true
else
    textField.enable = false
end if

He visto otros lugares donde hay una solución de ocultar condicionalmente párrafos sobre la base de un código, que tiene 2 párrafos con las condiciones de ocultación opuestos, uno con un campo editable, el otro con un campo calculado. Sin embargo, no sé lo suficiente sobre Notas para ver cómo esto se implementa (puedo verlo hecho en otras formas, pero parece que hay algunos pasos 'Magic' dentro de notas que, o bien no pueden ver o no obtenemos ).

[EDIT] La respuesta de Kerr parece ser lo que estoy buscando, pero todavía no puede averiguar dónde se encuentra la propiedad InputEnabled. Debería haber dicho en la pregunta inicial, estoy usando Notes 7.0.3.

Para ser justos, no importa cuáles sean las circunstancias para cuando para activar / desactivar el campo, es sólo una condición booleana que se establece, en mi caso sólo en forma de carga de modo que ni siquiera tiene que preocuparse de este cambiar dinámicamente mientras se visualiza el formulario.

Tengo algunos problemas con Notas, mi mayor pesadilla es que está tan ligado tan estrechamente a la UI Designer, que es pura mierda. Puedo hacer este tipo de cosas mediante programación en la mayoría de los idiomas GUI (C #, Java, Delphi, incluso VB), pero necesito para abrir cajas de propiedad en las notas y establecer correctamente.

Esto estaría bien como un opcional método, pero forzando que se vaya de esta manera significa que sólo puede funcionar tan bien como el IDE que permite en este caso, y el IDE aquí parece funcionar de forma activa en su contra. No se puede abrir múltiples funciones / secuencias de comandos, no se puede cambiar de una escritura a otra sin tener que volver a los menús de la izquierda, no se puede buscar fácilmente el código base de ocurrencias de variables / campos (y créanme, esto es una falla importante para mí, ya sea porque Notas o el código base interna en mi caso parece hacer una gran cantidad de uso de variables globales!), sólo se puede trabajar con campos a través de las cajas de propiedad que va a ser visualizado, no se puede editar el código de diseñador durante la depuración a través del principal cliente Notes.

Mientras que el lado de Java de la codificación es mejor que LotusScript, sigue siendo bastante cutre (¿por qué no se puede depurar en código Java ?? ¿Por qué necesita para volver a importar los archivos JAR para cada clase de Java, lo hace cada clase tiene una ruta de clases diferentes ???). Posiblemente esto se ha mejorado en las Notas 8, escucho que está basado en Eclipse. ¿Alguien sabe si esto es verdad o no?

¿Fue útil?

Solución

Sería de gran ayuda para conocer más detalles acerca de las 'circunstancias', pero la forma más común de manejar esto es usar una fórmula de ocultación cuando en el campo que desea activar / desactivar.

Técnicamente no está habilitando o deshabilitando el campo, simplemente ocultarlo, pero por lo general que funciona igual de bien.

Dado que hay pocos eventos que trabajar en las notas, los desarrolladores suelen utilizar la actualización de documentos como el 'evento' para hacer que el campo de ocultar o mostrar.

Supongamos que tiene dos campos llamados TriggerField y Asunto. También dice que desea desactivar el sujeto en función de un valor en el TriggerField. La forma más sencilla de hacerlo es establecer la TriggerField como un tipo de lista de diálogo y comprobar los campos "Actualizar al cambio de palabras clave" opción. Esto significa que cuando el valor de la lista de diálogo cambia, todo el documento se refrescarse.

A continuación, en su ocultación cuando fórmula para el campo Asunto, especifica los criterios para cuándo mostrar u ocultar ese campo. valores de campo Anytime cambian, seguido de una actualización del documento (es decir, forma), que se esconden cuando se re-evaluado fórmula.

Hay otras maneras, dependiendo de sus circunstancias, para resolver este problema. Si desea permitir que el usuario actualice la forma a sí mismos, poner un botón en el formulario que llama al comando @Command ([ViewRefreshFields]). Usted puede agregar cualquier otro fórmulas para ese botón antes del comando de actualización si desea realizar otros cambios en la forma al mismo tiempo.

Otra opción es hacer un determinado campo de sólo lectura. A continuación, cree un botón que ejecuta LotusScript para permitir a los usuarios cambiar ese campo de sólo lectura. En la secuencia de comandos se puede propmt al usuario un valor, establecer el campo de sólo lectura, y luego llamar a una actualización del documento.

Otros consejos

En ND7 y hasta si se quiere simplemente desactivar el campo de entrada, escriba una fórmula apropiada en la sección InputEnabled del campo que desea desactivar.

Así que tengo dos campos uno llamado Trigger, una casilla de verificación con el valor "On" y otro tema que es un campo de texto. Cuando el disparador se comprueba que quiero el valor sujeto a ser activado.

I que poner la siguiente fórmula en el elemento de entrada Enabled del campo Asunto:

Trigger = "On"

También quiero que esto se volverá a calcular cada vez que el valor de desencadenar cambios así que seleccione la opción "Actualizar campos en el cambio de palabras clave" opción en el campo Trigger.

Si está atrapado en una versión más antigua que necesita para ocultar los párrafos adecuadamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top