BDS0.1

Product Component

Uma linha do que um produto inclui: outro produto, numa quantidade, por período.

Revisado 2026-11-04Markdown

Um Product Component é uma linha do que um Product inclui: o todo, a parte, uma quantidade e uma unidade. Um programa que inclui Keyword Tracking, 30 por dia, é uma linha; um kit que inclui uma peça, 2 unidades, é outra. O todo e a parte são Products. A mesma tabela guardará os ingredientes de um item de cardápio se o Inventory migrar; não há tabela separada de receita ou pacote. Tipo BDS: schema:TypeAndQuantityNode.

Campos

Campo Armazenamento Significado
Name* Texto Digitado como todo - parte - quantidade unidade
Product* Registros vinculados Product, o todo
Includes* Registros vinculados Product, a parte
Quantity* Número Número inteiro da parte por unidade; numa faixa, o limite inferior
Unit* Escolha única each, per day, per week, per month, per quarter, per year
Notes° Texto longo O que o deck ou contrato diz que a quantidade não diz
Lifecycle Status* Escolha única Draft, Active, Archived
Component Check Fórmula Fragmentos ⚠ para entradas ausentes ou inválidas
Component (Name) Fórmula A parte com quantidade e unidade
Created At Data de criação Quando a linha foi criada
Intake Step Fórmula Encaminha linhas Draft ou sem status para o próximo passo de criação; vazio para Active e Archived
Tags° Registros vinculados Tags (mirror); opcional

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.

Grid de Product Component: uma linha por parte, com quantidade e unidade.

Regras calculadas

Component Check

IF(LEN({Product*} & "") = 0, "⚠ No product. ", "") &
IF(LEN({Includes*} & "") = 0, "⚠ Nothing included. ", "") &
IF(AND(LEN({Product*} & "") > 0, {Product*} & "" = {Includes*} & ""), "⚠ A product cannot include itself. ", "") &
IF({Quantity*} = BLANK(), "⚠ No quantity. ", "") &
IF(LEN({Unit*} & "") = 0, "⚠ No unit. ", "")

Component (Name)

IF(LEN({Includes*} & "") > 0, {Includes*} & " × " & {Quantity*} & " " & {Unit*}, "")

Cada linha deve vincular exatamente um todo e uma parte. Os dois campos aceitam vários registros; Component Check sinaliza vazios e o caso em que todo e parte vinculados têm o mesmo texto, não uma linha com duas partes, uma sobreposição parcial ou um laço indireto. Nos produtos, o todo mostra a linha em Components e a parte em Component Of.

Roteamento do intake

O intake de criação usa estas fórmulas locais. Registros Active e Archived saem dos passos roteados; as mudanças de status continuam manuais.

Intake Step

IF(OR({Lifecycle Status*} = "Draft", {Lifecycle Status*} = BLANK()), IF(OR(LEN(TRIM({Name*} & "")) = 0, LEN({Product*} & "") = 0, LEN({Includes*} & "") = 0), "Create - 1", IF(OR(LEN({Quantity*} & "") = 0, LEN({Unit*} & "") = 0), "Create - 2", "Create - 3")), "")

Ciclo de vida

Crie este registro pelo intake.

Linhas novas começam como Draft. Active significa que o produto inclui esta parte hoje. Archived significa que não inclui mais; mantenha a linha porque o histórico pode apontar para ela. Name* é digitado, então reescreva-o depois de mudar um vínculo ou a quantidade.

Exemplo

Name* = Example Program - Keyword Tracking - 30 per day; Product* = Example Program; Includes* = Keyword Tracking; Quantity* = 30; Unit* = per day; Component (Name) = Keyword Tracking × 30 per day; Component Check em branco.

Próximos passos

Compor um produto · Todas as entidades