O que são as propriedades?
Propriedades no PlantScanner#
As propriedades são elementos amplamente utilizados no sistema PlantScanner para customizar, enriquecer e dinamizar a experiência do operador e dos processos de produção.Estrutura de uma propriedade#
Uma propriedade é composta pelos seguintes campos:key: Identificador único da propriedade (ex: TXT:Texto-Auxiliar, BTN:Botao-Alerta).
value: Valor da propriedade. Pode ser texto simples, HTML ou até mesmo JavaScript.
name: Nome amigável da propriedade. Quando preenchido, a propriedade é exibida ao operador.
{
"key": "BTN:Botao-Alerta",
"value": "<button onclick=\"alert('Javascript executado.')\">Botão</button>",
"name": "Botão customizado de ação"
}
Como as propriedades são usadas#
1. Exibição para o operador#
Toda propriedade com o campo name preenchido é exibida ao operador na interface. Isso permite mostrar informações relevantes, instruções ou controles customizados para cada ordem de produção.2. Construção dinâmica de instruções#
Propriedades podem ser referenciadas em instruções ou checklists usando a sintaxe {{KEY}}#[Valor Padrão]. Por exemplo:Clique no botão em necessidade de ajuda: {{TXT:Texto-Auxiliar}}#[Valor Padrão]
O valor será substituído dinamicamente pelo valor da propriedade correspondente da ordem de produção. Caso a ordem não possua a propriedade, você pode usar a sintaxe #[Valor], nesse caso o valor exibido na instrução será "Valor"3. Construção de etiquetas#
Propriedades podem ser referenciadas em etiquetas usando a sintaxe [TXT:Texto-Auxiliar]. Por exemplo:O valor será substituído dinamicamente pelo valor da propriedade correspondente da ordem de produção. Caso a ordem não possua a propriedade, você pode usar a sintaxe #[Valor], nesse caso o valor exibido na instrução será "Valor"O campo value pode conter HTML ou JavaScript, permitindo criar botões, inputs, alertas e outras interações customizadas. Exemplo:{
"key": "BTN:Botao-Alerta",
"value": "<button onclick=\"alert('Javascript executado.')\">Botão</button>",
"name": "Botão customizado de ação"
}
Ao renderizar, o operador verá um botão que executa um alerta ao ser clicado.Exemplo de payload#
{
"workOrdersDetails": [
{
"materialCode": "35",
"code": "000001",
"workOrders": [
{
"status": "ReadyToExecute",
"note": "Ordem de produção para apresentação",
"requestedQuantity": 43,
"producedGoodQuantity": 2,
"properties": [
{
"key": "BTN:Botao-Alerta",
"value": "<button onclick=\"alert('Javascript executado.')\">Botão</button>",
"name": "Botão customizado de ação"
},
{
"key": "TXT:Texto-Auxiliar",
"value": "Clique no botão em necessidade de ajuda",
"name": "Ajuda"
}
]
}
]
}
]
}
Propriedades Reservadas de Ordem de Serviço#
| Propriedade | Descrição | Tipo | Exemplo | Payload |
|---|
PS:WORK-ORDER-COLOR | Define a cor da ordem de serviço na interface | String | "#FF0000" | Veja abaixo |
PS:PRINTER | Define uma impressora padrão, geralmente utilizada com nosso módulo de impressão | String | "Elgin L42 PRO" | Veja abaixo |
PS:INSPECTION-GROUPER | Em casos em que a ordem de produção for uma inspeção de qualidade, essa propriedade define qual o agrupador ela estará disponível, é possível ver pela imagem que ordens sem agrupadores estão disponíveis no grupo "Sem Agrupador" | String | "Qualidade" | Veja abaixo |
{
"workOrdersDetails": [
{
"materialCode": "MT.00001",
"code": "00000002",
"workOrders": [
{
"status": "ReadyToExecute",
"requestedQuantity": 10,
"properties": [
{
"key": "PS:WORK-ORDER-COLOR",
"value": "#ff5722"
},
{
"key": "PS:PRINTER",
"value": "Elgin L42 PRO"
},
{
"key": "PS:INSPECTION-GROUPER",
"value": "Qualidade"
}
]
}
],
"serialNumber": "LT.000001",
"customer": "PlantScanner",
"promiseDate": "2025-08-24T14:15:22Z"
}
]
}
Boas práticas#
Sempre preencha o campo name para propriedades que devem ser exibidas ao operador.
Utilize HTML e JavaScript com responsabilidade, garantindo a segurança e a usabilidade da interface.
Use a sintaxe {{KEY}} para criar instruções dinâmicas e reutilizáveis.
Propriedades sem name podem ser usadas para lógica interna ou processamento, mas não serão exibidas ao operador.
Modificado em 2025-12-01 14:27:30