$readonly - Campos de Sólo Lectura
Esta palabra clave marca un campo como sólo lectura para todos los usuarios. Esto significa que, aunque el valor del campo se muestra a cualquier persona que acceda a los detalles de una instancia, dicho valor no puede editarse — es decir, no puede actualizarse. El cuadro de entrada de datos de un campo definido con la palabra clave $readonly aparece en gris a nivel de instancia y el valor almacenado no puede modificarse.
Es posible utilizar $readonly de forma incondicional (siempre sólo lectura) o con una condición, haciendo que el campo sea de sólo lectura únicamente cuando dicha condición sea verdadera.
Uso
$readonly$readonly(<Nombre del Campo> [=, !=] [valor])Descripción de los modos
| Forma | Comportamiento |
|---|---|
$readonly | El campo es siempre de sólo lectura, para todos los usuarios y en cualquier estado del registro. |
$readonly(Campo=valor) | El campo es de sólo lectura cuando el campo Campo tiene el valor valor. |
$readonly(Campo!=valor) | El campo es de sólo lectura cuando el campo Campo no tiene el valor valor. |
$readonly(Campo=) | El campo es de solo lectura cuando el campo Campo está vacío. |
$readonly(Campo!=) | El campo es de solo lectura cuando el campo Campo no está vacío (es decir, tiene algún valor). |
Nota:
Nombre del Campohace referencia a otro campo de la misma definición. La condición se evalúa dinámicamente en función del valor actual de dicho campo.
Ejemplos
Campo siempre de sólo lectura
$readonlyÚtil para campos cuyo valor se establece automáticamente (por ejemplo, mediante integraciones o scripts) y que nunca deben modificarse manualmente.
Campo de sólo lectura cuando otro campo tiene un valor específico
$readonly(Estado=Cerrado)El campo pasa a ser de sólo lectura cuando el campo Estado tiene el valor Cerrado. Mientras Estado tenga cualquier otro valor, el campo permanece editable.



💡 Special case
Campo editable sólo durante la creación del registro
$readonly(id!=-1)El campo
idde un registro tiene el valor-1mientras el registro no ha sido guardado (es decir, durante su creación). Una vez creado el registro y asignado uniddefinitivo, el campo pasa a ser de sólo lectura.Este patrón es útil para campos que sólo deben rellenarse una vez, en el momento de la creación — como un código de referencia o un tipo de registro.
