{{ title }}

{{ subtitle }}

{{ headerMeta }}
{{ f.label }}
Кликните товар — Golden-карточка с происхождением значений
Товар
Тип товара
Вид
Классификация
Готовность
golden_v
{{ p.name }}
{{ p.code }}
{{ p.type }}
{{ p.kind }}
{{ p.cat }}
{{ p.completeness }}
{{ p.gv }}

{{ cur.name }}

{{ cur.code }}·{{ cur.type }}·{{ cur.schema }} {{ cur.kind }} {{ cur.lifecycle }}
golden_version
{{ cur.gv }}
Готовность
{{ cur.readiness }}
{{ g.title }}
{{ r.name }}
{{ r.code }}
{{ r.disp }}
{{ r.stateLabel }}
{{ r.srcLabel }}
Variant axes · product_variant_axes
position {{ a.pos }}
{{ a.name }}
{{ a.code }}
Вариант
variant_signature
Собственные
golden_v
{{ v.name }}
{{ v.code }}
{{ v.sig }}
{{ v.own }}
{{ v.gv }}
Проверка инварианта 17
UNIQUE(parent_product_id, variant_signature) — попытка создать дубликат комбинации осей
Создать дубликат варианта
Компонент
Роль
Кол-во
position
{{ c.name }}
{{ c.code }}
{{ c.role }}
{{ c.qty }}
{{ c.pos }}
Состав хранится в product_components и не участвует в наследовании атрибутов (инвариант 18).
Тип
Значение
normalized_value
Источник
primary
{{ i.type }}
{{ i.value }}
{{ i.norm }}
{{ i.source }}
{{ i.primary }}
UNIQUE(catalog_id, normalized_value) WHERE identifier_type='GTIN' AND status='ACTIVE'
Происхождение значения
{{ panel.name }}
{{ panel.code }}
{{ m }}
Current Golden Value
{{ panel.stateLabel }}
{{ panel.disp }}
{{ panel.norm }}
{{ d.k }}{{ d.v }}
Claims · {{ panel.claimCount }}
{{ panel.pathLabel }}
{{ c.src }}
{{ c.tag }}
raw{{ c.raw }}
parsed{{ c.parsed }}
normalized{{ c.norm }}
authority {{ c.auth }}{{ c.conf }}{{ c.obs }}×{{ c.n }}
{{ c.note }}
Ручной ввод создаёт MANUAL Claim и ставит lock_mode = MANUAL в одной транзакции.
{{ panel.unit }}
Подтвердить Отмена
Задать вручную Вернуть автоматическое разрешение Пересчитать
{{ k.k }}
{{ k.v }}
{{ k.s }}
Товар
Тип
required
critical
completeness
readiness
{{ r.name }}
{{ r.code }}
{{ r.type }}
{{ r.req }}
{{ r.crit }}
{{ r.pctLabel }}
{{ r.status }}
product_issues
кликните строку — откроется панель происхождения значения
{{ i.sev }} {{ i.type }}
{{ i.product }}
{{ i.attr }}
{{ i.code }}
{{ i.d }}
Атрибут
value_type
cardinality
owner
quantity / ref
canonical
scope
inherit
{{ a.name }}
{{ a.code }}
{{ a.vt }}
{{ a.card }}
{{ a.own }}
{{ a.qk }}
{{ a.unit }}
{{ a.scope }}
{{ a.inh }}
После активации semantic core атрибута практически immutable: смена value_type или QuantityKind требует нового AttributeDefinition (§26).
QuantityKind
Units · {{ qkCur }}
{{ qkNote }}
code
symbol
type
scale
offset
unit_aliases
{{ u.code }}{{ u.base }}
{{ u.ru }}
{{ u.type }}
{{ u.scale }}
{{ u.offset }}
{{ u.aliases }}
MeasurementParser
Pure Ruby компонент: строка источника → amount + unit_id → канонизация. Значение считается в BigDecimal, Float запрещён.
{{ s.label }}
{{ p.k }} {{ p.v }}
ProductType отвечает «что это за сущность и какие данные её описывают». Category — «где товар классифицирован».
ProductTypeSchemaVersion · {{ ptCur }}
PUBLISHED-версия immutable. Публикация не запускает re-resolution.
Опубликовать v2
{{ v.v }}
{{ v.status }}
{{ v.at }}
{{ v.by }}
ProductTypeRevalidationRun
run
{{ r.id }}
запущен
{{ r.at }}
scope
{{ r.scope }}
товаров
{{ r.products }}
батчи
{{ r.batches }}
результат
{{ r.done }}
Binding
required
critical
scope
inheritance
resolution_policy
constraints
{{ b.name }}
{{ b.code }}
{{ b.req }}
{{ b.crit }}
{{ b.scope }}
{{ b.inh }}
{{ b.policy }}
{{ b.constraints }}
taxonomy · INTERNAL_MAIN
Category ≠ ProductType
Категория отвечает только за классификацию и не владеет атрибутами. Схему определяет ProductType, поэтому перенос товара между категориями не меняет ни набор атрибутов, ни Golden-значения.
product_classifications
· product_id
· category_id
· is_primary
group_code · {{ g.g }}
{{ i.name }}
{{ i.code }}
{{ o.label }}
{{ i.hidden }}
ProductCard · projection
BoltPro X900
GoldenProduct + CardLayout + locale ru
{{ g.g }}
{{ i.name }} {{ i.disp }}
Display precision меняет только проекцию: master-значение остаётся в канонической единице с полной точностью.
{{ s.name }}
{{ s.id }}
{{ s.type }}
authority
{{ s.auth }}
records
{{ s.records }}
claims
{{ s.claims }}
last
{{ s.last }}
Import runs
Дедупликация по (source_id, fingerprint): одинаковый Claim не создаётся повторно.
Повторить импорт «ТехноОпт»
run
Источник
Дата
records
new claims
dedup hits
decisions
golden++
{{ r.id }}
{{ r.src }}
{{ r.date }}
{{ r.recs }}
{{ r.nw }}
{{ r.dedup }}
{{ r.dec }}
{{ r.gv }}
{{ r.note }}
{{ toastTitle }}
{{ toastBody }}