Atributo (Attribute)
O Attribute representa a menor unidade configurável de informação do sistema.
Ele define o que pode ser preenchido, como deve ser validado, onde se aplica e como se comporta dentro de formulários, regras de negócio e integrações.
Todo atributo pertence a um Grupo de Atributos e pode ser reutilizado em múltiplos contextos de forma controlada.
Identidade do Modelo
Configurações estruturais que definem o comportamento do objeto.
| Recurso | Identificador | Finalidade |
|---|---|---|
| Módulo | Atributo | Localização funcional no sistema |
| Grupo | Attribute | Agrupamento técnico do schema |
| Ícone | mdi-alpha-r-circle | Identidade visual |
| Principal | Sim | Disponível como ponto de entrada no menu |
Contrato do Modelo
Este schema opera sob as seguintes garantias:
- Todo
Attributepertence a uma empresa - O campo
codeé imutável e único - A
descriptioné o identificador humano - Atributos podem ser obrigatórios ou opcionais
- O comportamento de edição é controlado por configuração
Essas regras são aplicadas automaticamente pelo sistema.
Interface & Comportamento (UI)
Como o sistema expõe este objeto ao usuário final.
Inteligência de Busca
Campos estratégicos são indexados para navegação rápida:
- Campos indexados:
description,code - Descriptor:
description
Em qualquer listagem, vínculo ou referência, o valor exibido será sempre a Descrição.
Fluxos de Navegação
| Ação | Rota |
|---|---|
| Listagem | /attribute |
| Cadastro | /attribute/cadastrar |
| Visualização | /attribute/{id} |
| Edição | /attribute/{id} |
Regras do Formulário
A ordem, validações e valores padrão são aplicados automaticamente pelo motor de formulários.
1. Código (code)
- Auto-gerado
- Único
- Não editável
- Obrigatório
2. Descrição (description)
- Texto (máx. 100 caracteres)
- Obrigatório
3. Empresa (companySiteId)
- Relacionamento com
CompanySite - Somente leitura
- Definido pelo contexto
4. Unidade de Medida (unit_measure)
- Relacionamento com
DwUnitMeasure - Obrigatório
5. Template (template_attribute)
- Relacionamento com
TemplateAttribute - Obrigatório
5. Grupo de Atributo (attribute_group)
- Relacionamento com
AttributeGroup - Opcional
6. Editável (editable)
- Controla se o valor pode ser alterado
- Valor padrão:
true
7. Obrigatório (required)
- Define se o atributo deve ser preenchido
- Valor padrão:
false
8. Ativo (active)
- Controla disponibilidade do atributo
- Valor padrão:
true
9. Classe (classe)
- Relacionamento com
Classe - Obrigatório
10. Propriedades Adicionais (properties)
- Lista vinculada ao schema
Properties - Obrigatório
Conectividade e Regras Especiais
| Campo | Relation Schema | Valor Default | Valor Fixo |
|---|---|---|---|
companySiteId | CompanySite | Contexto atual | - |
attribute_group | AttributeGroup | - | - |
unit_measure | DwUnitMeasure | - | - |
template_attribute | TemplateAttribute | - | - |
classe | Classe | - | - |
properties | Properties | - | - |
sync | - | - | false |
Relacionamentos garantem integridade referencial e consistência entre módulos.
Segurança e Integridade
Multitenancy (Múltiplas Empresas)
Com multi_company: true, o sistema aplica:
- Isolamento total por empresa
- Filtro automático em todas as consultas
- Bloqueio de acesso cruzado, inclusive via API
Proteção de Integridade
- Exclusão bloqueada por relacionamento
- Regra:
preventDeleteDueToRelations
Um
AttributeGroupnão pode ser removido caso esteja vinculado a qualquer entidade do sistema.
Sincronização de Dados
dataSync: marca temporal da última sincronizaçãosync: flag de controle interno- Valor fixo inicial:
false
Exemplo de Registro
{
"code": "ATR-001",
"description": "Peso Máximo",
"active": true,
"editable": true,
"required": false,
"unit_measure": "64fa9c2e8b1c2a001f3e9a77",
"template_attribute": "64fa9c2e8b1c2a001f3e9a77",
"attribute_group": "64fa9c2e8b1c2a001f3e9a77",
"classe": "64fa9c2e8b1c2a001f3e9a77",
"companySiteId": "64fa9c2e8b1c2a001f3e9a77"
}