# Regras e checagens

As regras do catálogo registradas no Systems Central e até onde cada coluna de checagem as garante.

O Systems Central registra seis System Rules para Products & Services. Offer Check, List Check e Component Check checam parte delas. Product Check, Brand Check e Category Check também conferem os campos obrigatórios de identidade antes da ativação. Uma checagem mostra um fragmento ⚠ por problema encontrado; em branco significa que nada do que ela procura está errado.

## Regras e suas checagens

| System Rule | Garantida por | O que a checagem pega | O que ela deixa passar |
| --- | --- | --- | --- |
| Goods and services are one Product table | Revisão manual | Não se aplica; Kind é derivado de Product Type* | Colunas de estoque, custo de compra ou receita adicionadas a Product |
| An offer sells one product through one seller | Offer Check e revisão manual | Product* vazio, Seller* vazio | Dois produtos ou dois vendedores vinculados a uma oferta |
| A price list has one seller and one currency | List Check | Ofertas de mais de um vendedor, ofertas em mais de uma moeda, lista sem ofertas | Uma oferta cuja moeda difere da moeda pretendida da lista quando é a única oferta |
| A product never includes itself | Component Check | Uma linha cujo todo e parte são o mesmo produto único | Sobreposições parciais quando vários produtos estão vinculados; laços indiretos (A inclui B, B inclui A) |
| A deal proposes exactly one offer | Fórmulas do Deal no CRM e revisão manual | Checado no CRM | Não checado nesta base |
| Core and Products & Services never name their readers | Revisão manual | Não se aplica | Uma coluna, view ou vínculo com o nome de um domínio leitor |

A regra "a deal proposes exactly one offer" vive no Deal do CRM; veja [Deal](/pt-br/systems/crm/entity-deal). O documento de origem da primeira regra, as regras de construção, ainda está marcado como proposta aguardando aprovação.

## Leia uma checagem

| Fragmento | Coluna | Correção |
| --- | --- | --- |
| ⚠ No product name. / ⚠ No product type. | Product Check | Preencha Name* e selecione Product Type* |
| ⚠ No brand name. | Brand Check | Preencha Name* |
| ⚠ No category name. | Category Check | Preencha Name* |
| ⚠ No product. | Offer Check | Vincule Product* |
| ⚠ No price. | Offer Check | Preencha Price* |
| ⚠ No currency. | Offer Check | Selecione Price Currency* |
| ⚠ No unit. | Offer Check | Selecione Unit* |
| ⚠ No seller. | Offer Check | Vincule Seller* |
| ⚠ Valid From is after Valid Through. | Offer Check | Corrija as datas |
| ⚠ Offers from more than one seller. | List Check | Corrija Seller* na oferta que difere, ou mova-a para outra lista |
| ⚠ Offers in more than one currency. | List Check | Corrija Price Currency* na oferta que difere, ou mova-a |
| ⚠ No offers on the list. | List Check | Vincule Price List° a partir de uma oferta |
| ⚠ No product. / ⚠ Nothing included. | Component Check | Vincule Product* ou Includes* |
| ⚠ A product cannot include itself. | Component Check | Vincule outra parte |
| ⚠ No quantity. / ⚠ No unit. | Component Check | Preencha Quantity* ou selecione Unit* |

Grid de consulta capturada em 2026-10-28, antes dos intakes e dos ajustes de nomes. Use os nomes atuais das views indicados neste guia.

[![Offer Check cita o que falta; amostras arquivadas ainda mostram ⚠ No seller.](/systems/products/screens/products-offer-check-warning.png)](/systems/products/screens/products-offer-check-warning.png)

## Limites das checagens

As checagens rodam em todas as linhas, inclusive Draft e Archived: as duas ofertas de amostra arquivadas mostram ⚠ No seller. As descrições dos campos pedem checagem em branco só nas linhas Active. Nenhuma checagem impede salvar, muda Lifecycle Status* ou avisa alguém. List Check lê os dois rollups Seller (from Offers) e Currency (from Offers) e procura o separador " | "; confirme a fórmula de agregação dos rollups nas configurações dos campos.