> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yume.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Настройки компании

> Единый реестр параметров компании: включение и выключение возможностей, реквизиты и валюта, дополнительные поля, переименования сущностей, настройки таблиц, промо-баннеры и сквозная автонумерация.

Модуль «Настройки» — это единый реестр параметров компании: набор ключей с типами и значениями по умолчанию, который
включает и выключает возможности системы (аренда, штрафы, залоги, бонусы, налог, инвентаризация, доставки), задаёт
реквизиты и валюту, цвета статусов, проценты менеджеров и раскладку карточки аренды. Помимо самих настроек здесь живут
дополнительные (кастомные) поля справочников, переименования сущностей со склонениями, персональные настройки колонок
таблиц, промо-баннеры и сквозные счётчики автонумерации.

Ключевая идея: **значения хранятся отдельно для каждой компании и агрессивно кэшируются**. Компания хранит в базе только
то, что отличается от общего значения по умолчанию, а всё остальное берётся из реестра — поэтому «настройки компании»
всегда являются наложением одного слоя на другой. Из-за кэша изменение настройки сопровождается сбросом кэша, и именно
здесь возникает большинство вопросов вида «поменяли, а не применилось».

## Разделы

<CardGroup cols={2}>
  <Card title="Реестр настроек компании" icon="sliders" href="/ru/logic/settings/config">
    Полный перечень параметров компании: что можно включить или выключить, какие значения стоят по умолчанию и как
    настройки читаются и сохраняются.
  </Card>

  <Card title="Хранение и кэш настроек" icon="database" href="/ru/logic/settings/storage-cache">
    Как значение настройки попадает в базу, как оно кэшируется по компаниям и почему изменение настройки сбрасывает кэш
    целиком.
  </Card>

  <Card title="Дополнительные поля" icon="list-check" href="/ru/logic/settings/custom-fields">
    Собственные поля компании для клиентов, инвентаря, аренд и других справочников: типы, обязательность, отображение в
    таблице и фильтрах.
  </Card>

  <Card title="Переименование сущностей" icon="language" href="/ru/logic/settings/labels">
    Как компания меняет названия разделов и статусов под свою нишу, включая формы слова по падежам и числам.
  </Card>

  <Card title="Настройки таблиц" icon="table-columns" href="/ru/logic/settings/tables">
    Сохранённый состав, порядок и ширина колонок для таблиц интерфейса — отдельно по каждой таблице компании.
  </Card>

  <Card title="Промо-баннеры" icon="bullhorn" href="/ru/logic/settings/promo">
    Показ рекламных и информационных баннеров платформы внутри системы: частота показа, отметка о просмотре и исключение
    компаний.
  </Card>

  <Card title="Сквозная автонумерация" icon="hashtag" href="/ru/logic/settings/counters">
    Общий счётчик компании, из которого берутся номера клиентов, артикулы создаваемых единиц инвентаря и номера
    документов.
  </Card>

  <Card title="Настройки в админ-панели" icon="screwdriver-wrench" href="/ru/logic/settings/admin">
    Служебный экран платформы для просмотра и правки настроек конкретной компании со сбросом значений к умолчанию.
  </Card>
</CardGroup>

## Как всё устроено

Основание модуля — [реестр настроек](/ru/logic/settings/config): заданный в коде список параметров, где у каждого ключа
есть значение по умолчанию, служебная подпись и тип значения. Компания заводит собственную строку только там, где её
решение отличается от общего, поэтому отсутствие строки — нормальное состояние, а не пробел в данных. Поверх этих двух
слоёв стоит [хранилище с кэшем](/ru/logic/settings/storage-cache): оно решает, откуда взять значение, держит горячую
копию всех значений компании и сбрасывает её при изменениях. Именно от этой пары зависит, что́ увидит бизнес-логика —
подбор инвентаря, проверка занятости, расчёт штрафа, начисление бонусов, отбор аренд для метрик.

Остальные разделы примыкают к этому основанию по-разному. [Дополнительные поля](/ru/logic/settings/custom-fields) живут
в двух поколениях сразу: старый набор целиком лежит внутри одной настройки компании и подчиняется общей механике
хранения, а новый справочник — это отдельные записи со своим суточным кэшем; связи между поколениями нет, и все
внутренние потребители (документы, смены, отчёт по скидкам) читают пока старый набор.
[Переименования сущностей](/ru/logic/settings/labels), [настройки таблиц](/ru/logic/settings/tables) и
[промо-баннеры](/ru/logic/settings/promo) хранятся отдельными записями и в общий кэш настроек не попадают: изменение
видно сразу. [Сквозные счётчики](/ru/logic/settings/counters) вообще не настраиваются — это служебные записи, значение
которых меняется только как побочный эффект выдачи номера клиенту, единице инвентаря или документу.

[Админ-панель платформы](/ru/logic/settings/admin) работает поверх тех же самых строк, но с двумя отличиями: она видит
все параметры реестра, включая служебные, которых нет в интерфейсе компании, и умеет удалять строку целиком — это и есть
возврат параметра к общему поведению.

<Note>
  Все разделы модуля читаются в контексте конкретной компании, и это самое частое место ошибок. Если контекст не
  установлен, чтение настройки молча возвращает значение по умолчанию, а запись так же молча ничего не делает — выключенными
  окажутся штрафы, бонусы и налог, а валюта и цвета статусов станут стандартными, причём без единой ошибки. Тот же корень
  у расхождений после правки из админ-панели: сброс кэша адресуется не тому набору данных, и компания продолжает читать
  старое значение. Механика подробно разобрана в [«Хранение и кэш настроек»](/ru/logic/settings/storage-cache), а поведение
  конкретных параметров — в [«Реестре настроек компании»](/ru/logic/settings/config).
</Note>

Полный перечень моделей и полей — в глоссариях соответствующих разделов.
