Документация проекта

K14 Салон красоты — документация проекта

Slug: k14-beauty-salon · Project ID: 53 · Name: K14-beauty-salon-oc

Сгенерировано: 2026-09-04 (живой сбор через codedocs MCP, прогон doc-k14)

Портфель: карта K14-oc2 (~/prj/smb/cases/k14-beauty-salon.md, кейс 2.5) — записная книжка салона: каталог+остатки, POS-продажи, депозиты/сторно, напоминания, витрина отзывов.

Проект опубликован: project_settings_get.isPublished = true, baseCurrency RUB, timezone Europe/Moscow.

⚠️ Контаминация проекта (dev-report §51, 04.09.2026): в проект легли артефакты сборки К17/philibakery — правила 266/268–273, дашборды 1550–1552, форма 1555, таблицы 1540–1549, 1553–1554. Публичный namespace унаследовал старый slug (dev-report §52) — URL вида …/public/k14-beauty-salon/… живые, curl подтвердил 200.

1. Дерево объектов

Всего узлов: 60 (46 dataTable, 8 dashboard, 5 form, 1 site). Иерархии нет — все узлы верхнего уровня (parentId=null). Документов (type=document) в дереве нет (до публикации этой документации).

ID

Тип

Название

Slug

Опубл.

1496

dataTable

Каталог

catalog

✅ (k14)

1497

dataTable

Отзывы (витрина)

review

— (k14)

1498

dataTable

Счета

invoice

— (k14)

1499

dataTable

Строки счёта

invoice-line

— (k14)

1500

dataTable

Платежи

payment

— (k14)

1501

dataTable

Кредит-нота

credit-note

— (k14)

1502

dataTable

Депозит клиента

customer-credit

— (k14)

1503

dataTable

Точки

location

— (k14)

1504

dataTable

Движения склада

inventory-stock-movement

✅ (k14)

1505

dataTable

Продажи (касса)

sale

— (k14)

1506

dataTable

Строки продажи

sale-line

— (k14)

1507

dataTable

Служебный справочник

directory-aux

— (k14)

1508

dataTable

Навыки

skill

— (k14)

1509

dataTable

Навыки мастера

person-skill

— (k14)

1510

dataTable

Шаблоны смен

template

— (k14)

1511

dataTable

Смены

schedule

— (k14)

1512

dataTable

Доступность

availability

— (k14)

1513

dataTable

Отгулы

time-off

— (k14)

1514

dataTable

Покрытие смен

coverage

— (k14)

1515

dataTable

Подмена смен

swap

— (k14)

1516

dataTable

Услуги

service

✅ (k14)

1517

dataTable

Записи

appointment

— (k14)

1518

dataTable

Мастера

practitioner

✅ (k14)

1519

dataTable

Отзывы

review-2

— (k14)

1520

dataTable

Депозиты (журнал, не используется)

ledger

— (k14)

1521

dataTable

Клиенты

customer

— (k14)

1522

dashboard

Дебиторка

debitorka

— (k14)

1523

dashboard

Склад

sklad

— (k14)

1524

dashboard

Продажи

prodazhi

— (k14)

1525

site

Сайт записи

sayt-zapisi

— (k14)

1526

dataTable

Подтверждения визита

podtverzhdeniya-vizita

— (k14)

1527

dataTable

Заявки на сторно

zayavki-na-storno

— (k14)

1528

dataTable

Депозиты

depozity

— (k14)

1529

form

Запись на услугу

zapis-na-uslugu

✅ (k14)

1530

form

Подтвердить визит

podtverdit-vizit

✅ (k14)

1531

form

Оформить сторно

oformit-storno

✅ (k14)

1532

form

Отзыв о мастере

otzyv-o-mastere

✅ (k14)

1533

dashboard

Салон: KPI

salon-kpi

— (k14)

1534

dashboard

Сторно и возвраты

storno-i-vozvraty

— (k14)

1535

dataTable

Region

region

— (k14)

1536

dataTable

Customer group

customer-group

— (k14)

1537

dataTable

Прайс-лист

price-list

— (k14)

1538

dataTable

Fx rate

fx-rate

— (k14)

1539

dataTable

Налоговые ставки

tax-rate

— (k14)

1540

dataTable

Движения склада (ДУБЛЬ install — не использовать)

inventory-stock-movement-2

— (k17⚠️)

1541

dataTable

Рецептура

bom

— (k17⚠️)

1542

dataTable

Строка рецептуры

bom-line

— (k17⚠️)

1543

dataTable

Производственный заказ

production-order

— (k17⚠️)

1544

dataTable

Производственная партия

production-batch

✅ (k17⚠️)

1545

dataTable

Суточный расход материалов

daily-material-consumption

— (k17⚠️)

1546

dataTable

Строка расхода материалов

material-consumption-line

— (k17⚠️)

1547

dataTable

Поставщики

vendor

— (k17⚠️)

1548

dataTable

Заказ поставщику

purchase-order

✅ (k17⚠️)

1549

dataTable

Строка заказа

purchase-order-line

— (k17⚠️)

1550

dashboard

Склад

sklad-2

✅ (k17⚠️)

1551

dashboard

Производство

proizvodstvo

✅ (k17⚠️)

1552

dashboard

Закупки

zakupki

✅ (k17⚠️)

1553

dataTable

Очередь дозаказа

ochered-dozakaza

— (k17⚠️)

1554

dataTable

Быстрый ввод

bystryy-vvod

— (k17⚠️)

1555

form

Быстрый ввод (склад)

bystryy-vvod-sklad

— (k17⚠️)

2. Таблицы (схемы + счётчики)

Суммарно строк: 132 по 46 таблицам (посчитано выборкой datatable_get_rows limit=500, hasMore=false везде).

2.1 Ядро K14 (запись/POS/депозиты/расписание)

1496 · Каталог (catalog) — 13 колонок, 11 строк

справочник товаров/услуг с остатками (ledger-колонка on_hand)

Колонка

Тип

Название

sku

text (unique)

Артикул

name

text

Название

avg_rating

rollup

Средняя оценка

review_count

rollup

Отзывов

on_hand

balance

В наличии

reorder_point

number

Точка заказа

reorder_qty

number

Партия заказа

unit_cost

currency

Цена закупа

sale_price

currency

Цена продажи

default_vendor

reference

Поставщик по умолчанию

needs_reorder

formula

Нужен дозаказ

last_reorder_issued

date

Последний дозаказ

category

select

Категория

1497 · Отзывы (витрина) (review) — 5 колонок, 0 строк

витрина одобренных отзывов

Колонка

Тип

Название

product

reference

Товар

rating

rating

Оценка

author

text

Автор

body

multilineText

Отзыв

created_at

datetime

Отправлено

1498 · Счета (invoice) — 16 колонок, 2 строк

счета

Колонка

Тип

Название

number

sequence

Счёт №

customer

reference

Клиент

company

reference

Компания

issue_date

date

Дата выставления

due_date

date

Срок оплаты

period_start

date

Начало периода

tax_jurisdiction

text

Налоговая юрисдикция

total

rollup

Подытог

amount_paid

rollup

Платежи

amount_credited

rollup

Кредит-ноты

tax_total

rollup

Налог

total_gross

formula

Итого

outstanding

formula

К оплате

aging

formula

Просрочка

status

status

Статус

notes

multilineText

Заметки

1499 · Строки счёта (invoice-line) — 13 колонок, 0 строк

строки счетов

Колонка

Тип

Название

invoice

reference

Счёт

product

reference

Товар

description

text

Описание

qty

number

Кол-во

unit_price

currency

Цена

line_total

formula

Сумма

subscription

reference

Подписка

period_start

date

Начало периода

period_end

date

Конец периода

tax_category

text

Налоговая категория

tax_rate

formula

Ставка налога

tax_amount

formula

Налог

line_total_gross

formula

Сумма с налогом

1500 · Платежи (payment) — 7 колонок, 0 строк

платежи

Колонка

Тип

Название

invoice

reference

Счёт

amount

currency

Сумма

kind

select

Тип

effect

formula

Эффект

method

select

Способ

paid_at

date

Дата оплаты

reference

text

Ссылка / транзакция

1501 · Кредит-нота (credit-note) — 7 колонок, 0 строк

кредит-ноты

Колонка

Тип

Название

number

sequence

Кредит-нота №

invoice

reference

Счёт

amount

currency

Сумма

effect

formula

Эффект

reason

select

Причина

issued_at

date

Дата

notes

multilineText

Заметки

1502 · Депозит клиента (customer-credit) — 10 колонок, 0 строк

кредит клиентов (депозит)

Колонка

Тип

Название

customer

reference

Клиент

amount

number

Сумма

kind

select

Тип

invoice

reference

Счёт

source_credit_note

reference

Кредит-нота

effective_date

date

Дата операции

status

status

Статус

reverses

reference (unique)

Сторнирует

note

multilineText

Примечание

parent_ref

reference

Объект

1503 · Точки (location) — 8 колонок, 0 строк

точки салона

Колонка

Тип

Название

code

text (unique)

Код

name

text

Название

timezone

select

Часовой пояс

address

text

Адрес

lat

number

Широта

lng

number

Долгота

parent_location

reference

Родительская локация

geofence

geofence

Геозона

1504 · Движения склада (inventory-stock-movement) — 13 колонок, 28 строк

движения склада (живой balance)

Колонка

Тип

Название

item

reference

Товар

qty

number

Кол-во

movement_kind

select

Тип движения

location

reference

Склад

effective_date

date

Дата операции

reference

text

Документ

status

status

Статус

reverses

reference (unique)

Сторнирует

note

multilineText

Примечание

unit_cost

number

Себестоимость ед.

qty_remaining

rollup

Остаток партии

layer_ref

reference

Партия списания

consumption_line

reference

Строка расхода

1505 · Продажи (касса) (sale) — 21 колонок, 5 строк

чеки кассы

Колонка

Тип

Название

number

sequence

Чек №

customer

reference

Клиент

sold_at

datetime

Дата продажи

location

reference

Магазин

total

rollup

Итого

tax_total

rollup

НДС итого

payment_method

select

Способ оплаты

status

status

Статус

notes

multilineText

Заметки

customer_name

text

Имя покупателя

email

email

Эл. почта

phone

phone

Телефон

order_ref

text

Номер заказа

payment_status

select

Статус оплаты

payment_ref

text

Платёж (ссылка)

payment_provider

text

Платёжный провайдер

processor_fee

currency

Комиссия

net

currency

К зачислению

discount_code

text

Промокод

discount_amount

currency

Скидка

invoice_created

boolean

Счёт создан

1506 · Строки продажи (sale-line) — 8 колонок, 8 строк

строки чеков

Колонка

Тип

Название

sale

reference

Чек

product

reference

Товар

qty

number

Кол-во

unit_price

currency

Цена

line_total

formula

Сумма

tax_rate

number

Ставка НДС, %

tax_amount

formula

НДС

qty_neg

formula

Кол-во (минус)

1507 · Служебный справочник (directory-aux) — 6 колонок, 0 строк

служебный справочник

Колонка

Тип

Название

person

person

Сотрудник

first_name

text

Имя

middle_name

text

Отчество

last_name

text

Фамилия

full_name

formula

Полное имя

manager

reference

Руководитель

1508 · Навыки (skill) — 5 колонок, 0 строк

навыки

Колонка

Тип

Название

code

text (unique)

Код

name

text

Название

requires_certification

select

Требует сертификации

expiry_tracked

select

Отслеживать срок

default_break_rule

select

Перерыв по умолчанию

1509 · Навыки мастера (person-skill) — 6 колонок, 0 строк

навыки мастеров

Колонка

Тип

Название

person

person

Сотрудник

skill

reference

Навык

certified_at

date

Дата сертификации

expires_at

date

Истекает

proficiency

select

Уровень

status

status

Статус

1510 · Шаблоны смен (template) — 10 колонок, 0 строк

шаблоны смен

Колонка

Тип

Название

code

text (unique)

Код

name

text

Название

location

reference

Локация

required_skill

reference

Требуемый навык

start_time

text

Начало

end_time

text

Конец

recurrence

recurrence

Повторение

break_rule

select

Перерыв

headcount

number

Кол-во сотрудников

rate_override

currency

Ставка (переопр.)

1511 · Смены (schedule) — 10 колонок, 4 строк

смены

Колонка

Тип

Название

assigned_person

person

Сотрудник

location

reference

Локация

role_skill

reference

Роль / навык

start

datetime

Начало

end

datetime

Конец

shift_template

reference

Из шаблона

break_minutes

number

Перерыв (мин)

status

status

Статус

rate_override

currency

Ставка (переопр.)

notes

multilineText

Заметки

1512 · Доступность (availability) — 7 колонок, 0 строк

доступность

Колонка

Тип

Название

person

person

Сотрудник

effective_from

date

Действует с

effective_to

date

Действует по

weekdays

multiSelect

Дни недели

start_time

text

Начало окна

end_time

text

Конец окна

preference

select

Предпочтение

1513 · Отгулы (time-off) — 7 колонок, 1 строк

отгулы

Колонка

Тип

Название

person

person

Сотрудник

type

select

Тип

start

date

Начало

end

date

Конец

partial_day_hours

number

Часы (неполный день)

reason

multilineText

Причина

status

status

Статус

1514 · Покрытие смен (coverage) — 8 колонок, 0 строк

покрытие смен

Колонка

Тип

Название

location

reference

Локация

required_skill

reference

Требуемый навык

start

datetime

Начало

end

datetime

Конец

recurrence

recurrence

Повторение

min_headcount

number

Мин. кол-во

target_headcount

number

Целевое кол-во

status

status

Статус

1515 · Подмена смен (swap) — 6 колонок, 1 строк

подмены

Колонка

Тип

Название

original_shift

reference

Исходная смена

mode

select

Тип

giver

person

Передаёт

taker_candidate

person

Принимает

counter_shift

reference

Встречная смена

status

status

Статус

1516 · Услуги (service) — 12 колонок, 6 строк

услуги (публичная)

Колонка

Тип

Название

code

text (unique)

Код

name

text

Название

category

text

Категория

description

multilineText

Описание

duration_min

number

Длительность (мин)

buffer_before_min

number

Буфер до (мин)

buffer_after_min

number

Буфер после (мин)

default_price

currency

Цена по умолч.

featured

boolean

Популярное

required_skill

reference

Требуемый навык

bookable_online

select

Онлайн-запись

default_confirmation_mode

select

Подтверждение

1517 · Записи (appointment) — 18 колонок, 14 строк

записи клиентов — центральный объект

Колонка

Тип

Название

customer

person

Клиент

customer_phone

text

Телефон клиента

service

reference

Услуга

resource

person

Исполнитель

location

reference

Локация

start

datetime

Начало

end

datetime

Конец

price_charged

currency

Цена

confirmation_mode

select

Подтверждение

source

select

Источник

status

status

Статус

notes

multilineText

Заметки

customer_name

text

Имя клиента

customer_email

email

Email клиента

deposit_issued

boolean

Депозит зафиксирован

slot_key

text

Ключ слота

appointment_number

sequence

Номер записи

deposit_amount

formula

Сумма депозита

1518 · Мастера (practitioner) — 8 колонок, 4 строк

мастера

Колонка

Тип

Название

name

text

Имя

email

text

Email

title

text

Должность

photo

text

Фото

bio

multilineText

О себе

avg_rating

rollup

Средняя оценка

review_count

rollup

Отзывов

phone

text

Телефон

1519 · Отзывы (review-2) — 8 колонок, 4 строк

отзывы (модерация)

Колонка

Тип

Название

resource

reference

Мастер

rating

rating

Оценка

author

text

Автор

body

multilineText

Отзыв

service

reference

Услуга

booking

text

Запись

created_at

datetime

Отправлен

customer_email

email

Email клиента

1520 · Депозиты (журнал, не используется) (ledger) — 6 колонок, 0 строк

ДУБЛЬ core_ledger от install — any-edit deadlock (dev-report §44), не использовать

Колонка

Тип

Название

parent_ref

reference

Объект

delta

number

Сумма

effective_date

date

Дата операции

status

status

Статус

reverses

reference (unique)

Сторнирует

note

multilineText

Примечание

1521 · Клиенты (customer) — 12 колонок, 5 строк

клиенты

Колонка

Тип

Название

name

text

Имя

email

email

Email

phone

phone

Телефон

address

multilineText

Адрес

externalUser

externalPerson

Личный кабинет

source

select

Источник

loyalty_points

number

Бонусные баллы

marketing_opt_in

boolean

Согласие на рассылки

owner

person

Ответственный

notes

multilineText

Заметки

ar_balance

rollup

Дебиторка

available_credit

balance

Доступный кредит

1526 · Подтверждения визита (podtverzhdeniya-vizita) — 5 колонок, 3 строк

подтверждения визита (мишень формы)

Колонка

Тип

Название

appointment_ref

text (unique)

Номер записи

customer_name

text

Имя клиента

customer_email

email

Email клиента

confirmed_at

datetime

Дата подтверждения

dedup_key

formula (unique)

Ключ (запись+email)

1527 · Заявки на сторно (zayavki-na-storno) — 8 колонок, 3 строк

заявки на сторно (мишень формы)

Колонка

Тип

Название

sale_ref

text (unique)

Номер чека

customer_name

text

Имя клиента

customer_email

email

Email клиента

amount

number

Сумма возврата, ₽

reason

multilineText

Причина

assignee

person

Ответственный

status

status

Статус

dedup_key

formula (unique)

Ключ (чек+email)

1528 · Депозиты (depozity) — 7 колонок, 11 строк

журнал депозитов/списаний — обход any-edit deadlock core_ledger 1520 (dev-report §44)

Колонка

Тип

Название

customer_email

email

Email клиента

appointment_ref

text

Номер записи

amount

number

Сумма, ₽

direction

select

Направление

effective_date

date

Дата

status

status

Статус

note

multilineText

Примечание

1535 · Region (region) — 2 колонок, 0 строк

foundation: регионы

Колонка

Тип

Название

code

text (unique)

Код

label

text

Название

1536 · Customer group (customer-group) — 2 колонок, 0 строк

foundation: группы клиентов

Колонка

Тип

Название

code

text (unique)

Код

label

text

Название

1537 · Прайс-лист (price-list) — 10 колонок, 0 строк

foundation: прайс-листы

Колонка

Тип

Название

product

reference

Товар

region

reference

Регион

customer_group

reference

Группа клиентов

qty_min

number

Кол-во от

qty_max

number

Кол-во до

valid_from

date

Действует с

valid_to

date

Действует по

price

currency

Цена

currency

select

Валюта

status

status

Статус

1538 · Fx rate (fx-rate) — 6 колонок, 0 строк

foundation: курсы валют

Колонка

Тип

Название

from_currency

select

Из валюты

to_currency

select

В валюту

rate

number

Курс

valid_from

date

Действует с

valid_to

date

Действует по

source

select

Источник

1539 · Налоговые ставки (tax-rate) — 4 колонок, 0 строк

foundation: налоговые ставки

Колонка

Тип

Название

jurisdiction

text

Юрисдикция

category

text

Категория

rate

number

Ставка

valid_from

date

Действует с

2.2 Артефакты К17, попавшие в проект (не использовать без ревью)

1540 · Движения склада (ДУБЛЬ install — не использовать) (inventory-stock-movement-2) — 12 колонок, 0 строк

Колонка

Тип

Название

item

reference

Товар

qty

number

Кол-во

movement_kind

select

Тип движения

location

reference

Склад

effective_date

date

Дата операции

reference

text

Документ

status

status

Статус

reverses

reference (unique)

Сторнирует

note

multilineText

Примечание

unit_cost

number

Себестоимость ед.

qty_remaining

rollup

Остаток партии

layer_ref

reference

Партия списания

1541 · Рецептура (bom) — 5 колонок, 2 строк

Колонка

Тип

Название

name

text

Название

product

reference

Изделие

yield_qty

number

Выход

active

boolean

Активна

notes

multilineText

Заметки

1542 · Строка рецептуры (bom-line) — 3 колонок, 5 строк

Колонка

Тип

Название

bom

reference

Спецификация

component

reference

Компонент

qty_per

number

Расход

1543 · Производственный заказ (production-order) — 7 колонок, 1 строк

Колонка

Тип

Название

number

sequence

Заказ №

bom

reference

Спецификация

qty_to_make

number

К выпуску

scheduled_date

date

Дата выпуска

location

reference

Склад

status

status

Статус

notes

multilineText

Заметки

1544 · Производственная партия (production-batch) — 12 колонок, 2 строк

Колонка

Тип

Название

number

sequence

Партия №

bom

reference

Спецификация

qty

number

Кол-во

location

reference

Склад

date

date

Дата производства

bom_yield

lookup

Выход

material_cost

rollup

Стоимость материалов

unit_material_cost

formula

Стоимость на единицу

status

status

Статус

notes

multilineText

Заметки

exploded

boolean

Спецификация раскрыта

costed_all

boolean

Себестоимость посчитана

1545 · Суточный расход материалов (daily-material-consumption) — 5 колонок, 0 строк

Колонка

Тип

Название

date

date

Дата

material

reference

Материал

location

reference

Склад

total_qty

number

Всего

allocated

boolean

Распределено

1546 · Строка расхода материалов (material-consumption-line) — 10 колонок, 4 строк

Колонка

Тип

Название

batch

reference

Партия

component

reference

Компонент

planned_qty

number

План

actual_qty

number

Факт

allocated

boolean

Распределено

cost

number

Стоимость

costed

boolean

Списано

location

reference

Склад

daily_consumption

reference

Дневной расход

production_date

lookup

Дата производства

1547 · Поставщики (vendor) — 8 колонок, 2 строк

Колонка

Тип

Название

name

text

Название

email

email

Email

phone

phone

Телефон

address

multilineText

Адрес

tax_id

text

ИНН

payment_terms

select

Условия оплаты

owner

person

Ответственный

notes

multilineText

Заметки

1548 · Заказ поставщику (purchase-order) — 8 колонок, 1 строк

Колонка

Тип

Название

number

sequence

Заказ №

vendor

reference

Поставщик

order_date

date

Дата заказа

expected_date

date

Ожидается

location

reference

Склад

total

rollup

Итого

status

status

Статус

notes

multilineText

Заметки

1549 · Строка заказа (purchase-order-line) — 5 колонок, 3 строк

Колонка

Тип

Название

purchase_order

reference

Заказ

product

reference

Товар

qty

number

Кол-во

unit_cost

currency

Цена закупки

line_total

formula

Сумма

1553 · Очередь дозаказа (ochered-dozakaza) — 6 колонок, 1 строк

Колонка

Тип

Название

item

reference

Позиция

qty

number

Количество

unit_cost

currency

Цена закупа

purchase_order

reference

Заказ

is_issued

boolean

В заказе

add_to_order

button

В заказ

1554 · Быстрый ввод (bystryy-vvod) — 9 колонок, 1 строк

Колонка

Тип

Название

op_type

select

Операция

item_name

text

Позиция (текст)

qty

number

Количество, кг

vendor_name

text

Поставщик (текст)

price

currency

Цена, ₽

item_ref

reference

Позиция (связь)

vendor_ref

reference

Поставщик (связь)

confirm

boolean

Подтвердить

processed

boolean

Обработано

3. Автоматизации

13 правил на 9 таблицах, все enabled: true (проверка живьём; помнить dev-report §51: active в мета не диагностичен). Правила 266, 268–273 — из сборки К17 (contamination).

Rule

Таблица

Название

Триггер

Действия

Статус

None

1496 Каталог

Остаток ниже точки заказа → Очередь дозаказа

schedule cron 0 5 * * * (Europe/Moscow) + 2 усл.

create_row → set_fields

enabled

None

1505 Продажи (касса)

Продажа завершена → списание со склада

status_transition open→completed

create_rows_from_source

enabled

None

1517 Записи

Списание депозита при no-show

status_transition *→no_show

create_row

enabled

None

1517 Записи

Напоминание о визите за 24 часа

schedule cron 0 18 * * * (Europe/Moscow) + 2 усл.

send_email

enabled

None

1517 Записи

Фиксация депозита при записи

event create + 2 усл.

create_row → set_fields

enabled

None

1527 Заявки на сторно

Сторно: записать ответственного

event create

set_fields

enabled

None

1527 Заявки на сторно

Сторно: уведомить администратора

event update

notify_user

enabled

None

1544 Производственная партия ⚠️k17

Создать строки расхода из спецификации

event create + 1 усл.

create_rows_from_source

enabled

None

1544 Производственная партия ⚠️k17

Списать материалы (FIFO)

manual + 1 усл.

post_ledger_fifo

enabled

None

1545 Суточный расход материалов ⚠️k17

Распределить дневной расход по строкам

manual + 1 усл.

allocate_across

enabled

None

1548 Заказ поставщику ⚠️k17

Приёмка заказа → приходные движения

status_transition ordered→received

create_rows_from_source

enabled

None

1553 Очередь дозаказа ⚠️k17

Очередь → строка заказа поставщику

manual + 1 усл.

set_fields → create_row

enabled

None

1554 Быстрый ввод ⚠️k17

Быстрый ввод → черновик движения

event update + 1 усл.

create_row → set_fields

enabled

Детали:

269 (Каталог→Очередь дозаказа): schedule 05:00 MSK, условие needs_reorder=true + флаг last_reorder_issued против $today (защита от повторного огня). Действия: create_row в 1553 + set_fields DATEADD флага.

271 (Продажи→склад): status_transition open→completed, create_rows_from_source в Движения склада (1504) с qty_neg (списание), movement_kind=issue, runOnAutomation.

265 (Записи no-show→депозит): transition →no_show, create_row в Депозиты (1528) direction=списание, status=draft.

259 (Записи): напоминание за 24ч — schedule 18:00, условие start dateEquals $tomorrow и НЕ cancelled; send_email колонке customer_email. ⚠️ Доставка email не подтверждена без SMTP-коннектора (dev-report §2) — «ложный succeeded».

263 (Записи): фиксация депозита on create при deposit_amount>0 и deposit_issued≠true → create_row в 1528 (депозит 30%).

264 (Сторно): on create set_fields assignee=постоянный internal-пользователь (picked email delivered+admin@resend.dev).

261 (Сторно): on update changedColumnIds=[assignee] → notify_user.

266/268 (Партия): explode спецификации (create_rows_from_source с scale numerator/denominator) и FIFO-списание (post_ledger_fifo против balance catalog.on_hand). ⚠️ k17.

267 (Суточный расход): allocate_across по весам planned_qty в строки расхода 1546. ⚠️ k17.

270 (Заказ поставщику): transition ordered→received → приходные движения из строк заказа. ⚠️ k17.

272 (Очередь дозаказа): manual, set is_issued + create_row строки заказа 1549. ⚠️ k17.

273 (Быстрый ввод): update confirm=true → create_row движения adjustment в 1504. ⚠️ k17.

4. Формы

1529 · Запись на услугу (zapis-na-uslugu) → target datatable 1517, submitAccess=everyone, published=True, URL: https://smb.farhome.ru/public/k14-beauty-salon/zapis-na-uslugu Поля: Ваше имя, Email, Телефон, Услуга, Дата и время, Комментарий

1530 · Подтвердить визит (podtverdit-vizit) → target datatable 1526, submitAccess=everyone, published=True, URL: https://smb.farhome.ru/public/k14-beauty-salon/podtverdit-vizit Поля: Номер записи, Email, Дата подтверждения

1531 · Оформить сторно (oformit-storno) → target datatable 1527, submitAccess=everyone, published=True, URL: https://smb.farhome.ru/public/k14-beauty-salon/oformit-storno Поля: Номер чека, Имя, Email, Сумма, ₽, Причина

1532 · Отзыв о мастере (otzyv-o-mastere) → target datatable 1519, submitAccess=everyone, published=True, URL: https://smb.farhome.ru/public/k14-beauty-salon/otzyv-o-mastere Поля: Имя, Email, Мастер, Оценка, Отзыв

1555 · Быстрый ввод (склад) (bystryy-vvod-sklad) ⚠️ артефакт К17 → target datatable 1554, submitAccess=, published=None, URL: нет (не опубликована) Поля: Операция, Позиция, Количество, кг, Поставщик, Цена, ₽

5. Дашборды

1522 · Дебиторка (debitorka): 3 панелей (bind: 1498), published=False, URL: —

1523 · Склад (sklad): 3 панелей (bind: 1496), published=False, URL: —

1524 · Продажи (prodazhi): 5 панелей (bind: 1505, 1506), published=False, URL: —

1533 · Салон: KPI (salon-kpi): 4 панелей (bind: 1505, 1517, 1518; слайсеры: 1), published=False, URL: —

1534 · Сторно и возвраты (storno-i-vozvraty): 2 панелей (bind: 1527; слайсеры: 1), published=False, URL: —

1550 · Склад (sklad-2) ⚠️ К17: 2 панелей (bind: 1496, 1504; слайсеры: 1), published=True, URL: https://smb.farhome.ru/public/k14-beauty-salon/sklad-2

1551 · Производство (proizvodstvo) ⚠️ К17: 3 панелей (bind: 1544), published=True, URL: https://smb.farhome.ru/public/k14-beauty-salon/proizvodstvo

1552 · Закупки (zakupki) ⚠️ К17: 3 панелей (bind: 1548), published=True, URL: https://smb.farhome.ru/public/k14-beauty-salon/zakupki

6. Документы-шаблоны

В doc_tree узлов типа document нет — шаблонов документов в проекте 0, проверка литеральных токенов {{col.*}} не проводилась (нечего). Автоматизации используют send_email bodyHtml с токенами {{col.*}} — они подставляются рантаймом (в теле правила это ожидаемая форма, не дефект).

7. Публичный контур

Проверка анонимным GET (urllib, без куки) 2026-09-04:

Объект

Slug

Статус

dataTable 1496 Каталог

catalog

200

dataTable 1504 Движения склада

inventory-stock-movement

200

dataTable 1516 Услуги

service

200

dataTable 1518 Мастера

practitioner

200

form 1529 Запись на услугу

zapis-na-uslugu

200

form 1530 Подтвердить визит

podtverdit-vizit

200

form 1531 Оформить сторно

oformit-storno

200

form 1532 Отзыв о мастере

otzyv-o-mastere

200

dataTable 1544 Производственная партия

production-batch

200

dataTable 1548 Заказ поставщику

purchase-order

200

dashboard 1550 Склад

sklad-2

200

dashboard 1551 Производство

proizvodstvo

200

dashboard 1552 Закупки

zakupki

200

Замечания:

Сайт записи 1525 (sayt-zapisi, mode=booking, bookingDocumentId=1517): НЕ опубликован — publicUrlBlocked: document_not_published, publicUrl=null. Для работы бронирования нужно doc_upsert с isPublished (и проверить visibility колонок appointment перед публикацией, dev-report §23).

Опубликованные dataTable 1496/1504/1516/1518/1544/1548 отдают публичный API; колонки с чувствительными данными закрывались data_table_set_meta.columnVisibility (dev-report §23, для таблиц 1033–1040 прежней сборки — для текущих id статус visibility-политики не проверялся детально, открытый вопрос).

Дубли: склад-дашборд 1523 (K14, неопубликован) vs 1550 (K17-принос, опубликован); inventory-stock-movement 1504 (живой balance) vs 1540 ДУБЛЬ install.

8. Грабли проекта (из dev-report/error.md по «k14»)

§44 any-edit deadlock core_ledger 1520: parent_ref без referenceDocumentId, patch отклоняется валидатором по ПРЕДпатчному состоянию — чинить нельзя, только своя таблица без purpose (обход применён: 1528 «Депозиты»).

§45 install_modules положил в core_sale битый rollup tax_total — блок любой patch таблицы до починки.

§46 unresolved ref core_sale.customer→core_customer: патч не персистит referenceDocumentId без referenceDisplayColumnId, create_row падает post-factum.

§47 pos_sales: переход чека in completed НЕ порождает списание — закрыто правилом 271 (status_transition + create_rows_from_source qty_neg).

§48 unique:true на колонке — гейт повторной отправки формы (используются формы с id-колонками).

§51 правила из install_modules сохраняются active:null и молчат до automation_set_meta {ruleId, active:true}; automation_get_meta всегда отдаёт active:null — только живой прогон доказывает работу.

§52 публичный namespace наследует старый slug переименованного проекта — ссылки брать из живого doc_get.publicUrl.

§54 / §51-к17 сборка philibakery (id 42) писала в этот проект (id 53): 60 документов вместо 39. Артефакты К17 в дереве помечены ⚠️.

§6 публикация документа НЕ публикует проект (но здесь проект уже isPublished=true — проверено).

§9 doc_upsert на UPDATE тела — тихий no-op; путь CREATE (без documentId) пишет тело корректно.

§2 email-доставка без SMTP-коннектора даёт ложный succeeded у send_email — правило 259 (напоминания) не подтверждено приёмкой.

E59/E63 (счета) — из прежних карт; в текущем дереве таблиц счетов с дуплями нет (1498 Счета 0 строк).

§23 публикация таблицы открывает ВСЕ колонки анонимам без columnVisibility.

Нет примитива status transition из действия (§25): no-show/подтверждение — руками 👤; нет авто-чека по записи; conflict-защита booking не покрывается exclusive_scheduling (dev-report, двойная запись на один слот подтверждена живьём — обход: unique-ключ слота §48).

9. Открытые вопросы

Что делать с контминацией К17: архивировать 16 объектов (1540–1555) или переносить в philibakery? Требуется решение владельца (dev-report §51).

Сайт записи 1525 не опубликован — ключевой публичный контур кейса 2.5 не завернут.

Таблица 1520 (core_ledger ДУБЛЬ) и 1540 (движения ДУБЛЬ) — кандидаты на архив.

Правило 264 жёстко зашито на email delivered+admin@resend.dev (placeholder) — заменить на реального администратора.

Доставка email (правило 259) не верифицирована: нет SMTP-коннектора.

columnVisibility опубликованных таблиц (1496, 1516, 1518, …) детально не аудитирована на PII.

Публичный доступ

Настоящая документация опубликована на платформе как «Документация проекта» (type=document, isPublished=true, stateId=draft); актуальный documentId — в живом doc_tree (на 04.09 после чистки — 1744; при каждой перепубликации id меняется: doc_upsert с documentId тело не персистит (§9), перепубликация = archive + create; slug/URL стабильны).

publicUrl: https://smb.farhome.ru/public/k14-beauty-salon/dokumentatsiya-proekta — анонимный GET → 200.

Проверка тела после create (dev-report §9): doc_get_content.markdown содержит весь контент; расхождения только косметические (нормализация таблиц/курсива платформой).

Проект уже был isPublished=true (project_settings_get) — патч проекта не потребовался (dev-report §6 обход не понадобился).

Чистка (2026-09-04)

Указание владельца платформы: архивация всех пустых и неиспользуемых таблиц проекта (мягкое удаление doc_archive). Артефакты К17 (⚠️) проверялись на общих основаниях. Формы, правила, дашборды, сайт, документы — не тронуты.

Методика: живая проверка пустоты каждой из 46 таблиц (datatable_get_rows limit=1) + живой граф использования: цели форм (form_get_meta.targetDocumentId), панели/слайсеры дашбордов (dashboard_get_meta), правила по таблице и документId в действиях (automation_get_meta по всем таблицам), колонки reference/rollup из схем выживших таблиц, сайт (bookingDocumentId). Неиспользуемые таблицы архивировались итеративно до фиксации (каскад: таблица, на которую ссылалась только архивированная таблица, тоже архивировалась). Ни одна кандидатная таблица не была опубликована / portalExposed / accessRestricted (публичный контур не затронут). В archivedIds ответов — по одному id, каскада на подузлы не было (листья).

Архивировано — 17 таблиц

Пустые (13): 1502 Депозит клиента · 1507 Служебный справочник · 1509 Навыки мастера · 1510 Шаблоны смен · 1512 Доступность · 1514 Покрытие смен · 1520 Депозиты (журнал, ДУБЛЬ core_ledger) · 1535 Region · 1536 Customer group · 1537 Прайс-лист · 1538 Fx rate · 1539 Налоговые ставки · 1540 Движения склада (ДУБЛЬ install) ⚠️k17

Архив с данными (4, не использовались ни одним объектом): 1511 Смены (4 строки; потеряла единственного пользователя — 1515) · 1513 Отгулы (1 строка) · 1515 Подмена смен (1 строка) · 1543 Производственный заказ ⚠️k17 (1 строка)

Каскад rounds: 1-й раунд — 1502, 1507, 1509, 1512, 1513, 1514, 1515, 1520, 1535–1540, 1543; 2-й — 1510, 1511 (после архивации ссылавшихся на них 1515/1511→шаблон/смены).

Сохранено (29 таблиц), причины

Пустые, но используются: 1497 Отзывы (витрина) — rollup-источник каталога 1496 (childDocumentId); 1499 Строки счёта, 1500 Платежи, 1501 Кредит-нота — rollup/reference-источники счетов 1498; 1503 Точки — reference из 1504, 1505, 1517, 1544, 1545, 1546, 1548; 1508 Навыки — reference из 1516; 1545 Суточный расход ⚠️k17 — правило 267 по таблице + reference из 1546.

С данными и используемые: 1496, 1498, 1504–1506, 1516–1519, 1521, 1526–1528 (формы/дашборды/правила/ссылки — по графу выше); ⚠️k17: 1541 Рецептура (reference из 1542, 1544), 1542 Строка рецептуры (действие правила 266), 1544 Партия (правила 266/268, дашборд 1551), 1546 Строка расхода (правила 266/267/268), 1547 Поставщики (reference из 1496, 1548, 1554), 1548 Заказ поставщику (правило 270, дашборд 1552), 1549 Строка заказа (действия правил 270/272), 1553 Очередь дозаказа (правило 272 + действие 269), 1554 Быстрый ввод (форма 1555, правило 273).

Примечание: объекты К17, на которые ссылаются сохранённые таблицы/правила, остались живыми — полная деконтаминация К17 (вопрос §9) по-прежнему требует решения владельца.

Итог дерева

Узлы: было 61 → стало 44 живых (таблиц 46 → 29; дашбордов 8, форм 5, сайт 1, документ 1 — без изменений). Архивированные узлы сохраняются в дереве с archivedAt (восстановление — doc_restore).

Разделы 1–2 этой документации (дерево/счётчики) описывают состояние ДО чистки.