Skip to content

$readonly - Campos de Só Leitura

Esta keyword marca um campo como sendo de só leitura para todos os utilizadores. Isto significa que, embora o valor do campo seja apresentado a qualquer pessoa que aceda aos detalhes de uma instância, esse valor não pode ser editado — ou seja, não pode ser actualizado. A caixa de introdução de dados de um campo com a keyword $readonly aparece cinzenta ao nível da instância e o valor guardado não pode ser alterado.

É possível utilizar $readonly de forma incondicional (sempre só leitura) ou com uma condição, tornando o campo só leitura apenas quando essa condição é verdadeira.


Utilização

$readonly
$readonly(<Nome do Campo> [=, !=] [valor])

Descrição dos modos

FormaComportamento
$readonlyO campo é sempre só de leitura, para todos os utilizadores e em qualquer estado do registo.
$readonly(Campo=valor)O campo é só de leitura quando o campo Campo tiver o valor valor.
$readonly(Campo!=valor)O campo é só de leitura quando o campo Campo não tiver o valor valor.
$readonly(Campo=)O campo é só de leitura quando o campo Campo está vazio.
$readonly(Campo!=)O campo é só de leitura quando o campo Campo não está vazio (ou seja, tem algum valor).

Nota: Nome do Campo refere-se ao nome de outro campo da mesma definição. A condição é avaliada dinamicamente com base no valor actual desse campo.


Exemplos

Campo sempre só leitura

$readonly

Útil para campos cujo valor é definido automaticamente (por exemplo, por integrações ou scripts) e que nunca devem ser alterados manualmente.


Campo só leitura quando outro campo tem um valor específico

$readonly(Estado=Fechado)

O campo fica só leitura quando o campo Estado tiver o valor Fechado. Enquanto Estado tiver outro valor, o campo permanece editável.


screenshot 2026-06-19 at 15.25.12.pngscreenshot 2026-06-19 at 15.26.22.pngscreenshot 2026-06-19 at 15.26.57.png


💡 Special case

Campo editável apenas na criação do registo

$readonly(id!=-1)

O campo id de um registo tem o valor -1 enquanto o registo ainda não foi guardado (ou seja, durante a criação). Assim que o registo é criado e recebe um id definitivo, o campo passa a ser só leitura.

Este padrão é útil para campos que só devem ser preenchidos uma vez, no momento da criação — como um código de referência ou um tipo de registo.