Skip to main content
Полный перечень полей — в глоссарии раздела.

Что это за раздел

Админ-раздел настроек компаний — это инструмент платформы, а не самой компании. Через него сотрудник платформы видит, какие параметры компания переопределила, и может править любой параметр реестра настроек — в том числе те, которых нет в наборе, который отдаётся компании через её собственный интерфейс. В боковом меню панели раздел подписан «Конфигурация»; заголовки и хлебные крошки внутри самих экранов при этом показывают техническое английское название модели. Раздел состоит из двух экранов:
Значение настройки компании хранится только тогда, когда оно отличается от общего. Параметр без сохранённой строки работает на значении по умолчанию из реестра настроек компании. Поэтому список сохранённых значений — это список отклонений, а не список параметров.

Кто имеет доступ

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

Список сохранённых значений

Колонки списка: компания, ключ настройки, сохранённое значение и ссылка «Редактировать», ведущая на страницу всех настроек этой компании.
  • Фильтры — по компании (через поиск-автодополнение, чтобы не разворачивать список всех компаний) и по ключу параметра.
  • Поиск — по названию компании и по ключу.
  • Только для чтения — компания и ключ. В карточке отдельной записи меняется исключительно значение: перевесить сохранённое значение на другую компанию или переименовать ключ нельзя.
Компания, которая ни разу ничего не переопределяла, в списке не появится вовсе — у неё нет ни одной строки. Попасть на её страницу настроек можно только по прямому адресу с номером компании; ссылки «Редактировать» без строки в списке не существует.

Карточка отдельного значения

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

Страница настроек компании

Это отдельная страница внутри раздела, адресуемая номером компании. Заголовок и хлебные крошки показывают название компании (а если названия нет — техническое имя её схемы либо её номер), из крошек можно вернуться в список.

Как собирается таблица

При каждом открытии страница строится заново, ничего промежуточного в базе не сохраняется:
  1. Одним запросом читаются все сохранённые значения этой компании.
  2. Для каждого параметра реестра разбирается его описание: значение по умолчанию, технический код и тип. Если тип в описании не указан, он определяется по типу значения по умолчанию.
  3. Ищется сохранённая строка компании (с учётом префикса хранения, который в текущей конфигурации пустой). Если строка есть — в поле показывается значение компании и параметр помечается как изменённый; если нет — показывается значение по умолчанию.
  4. Значение приводится к виду, пригодному для поля ввода, и выбирается вид элемента управления.
Строка таблицы состоит из пяти колонок: Название, Значение (само поле ввода), По умолчанию (значение из реестра отдельной меткой, а при пустом значении — прочерк), Код (технический код параметра) и кнопка сброса.
Колонки «Название» и «Код» практически всегда показывают одно и то же: подпись параметра берётся из его технического кода, и только при пустом коде подставляется сам ключ. Человеческие названия по-русски заданы в реестре ровно у двух параметров — названия и адреса организации.

Секции

Параметры можно разложить по именованным блокам — состав секций задаётся конфигурацией проекта. Ключи, перечисленные в секции, но отсутствующие в реестре, молча пропускаются; всё, что не попало ни в одну секцию, собирается в отдельный блок.
Сейчас секции не заданы, поэтому все 116 параметров реестра выводятся одним блоком с техническим английским заголовком. Порядок строк — порядок реестра: реквизиты компании, продукты, возможности и доставки, транзакции, цвета статусов, параметры аренды, штрафы, проценты менеджеров, метрики, бонусы, налог, формат телефона, дополнительные поля, параметры клиента, раскладка карточки аренды.

Виды полей ввода

Вид элемента управления выбирается по типу параметра, а цвет — дополнительно по внешнему виду значения по умолчанию. Сейчас в реестре 64 флага, 17 строк, 11 дробных чисел, 8 структур, 7 цветов, 5 целых чисел и 4 длительности.
Цвет распознаётся не по типу, а по значению по умолчанию: строковый параметр получает палитру, только если его значение по умолчанию выглядит как код цвета — решётка и три или шесть символов после неё. Так палитру получают семь цветов статусов аренды.

Как значение показывается в поле

Обратное преобразование хранимого значения в текст поля работает так:
  • «не задано» — пустое поле;
  • флаг — слово-обозначение истинности латиницей (в самой таблице он всё равно рисуется переключателем);
  • длительность — часы:минуты:секунды с ведущими нулями, без перевода в дни: сутки показываются как 24:00:00, а трёхчасовой буфер — как 03:00:00;
  • структура и список — JSON без экранирования кириллицы; значения, которые в JSON не укладываются (например, длительности внутри вариантов штрафов), превращаются в текст;
  • всё остальное — обычное текстовое представление.

Сохранение

Страница отправляется одной кнопкой «Сохранить» в закреплённой нижней панели — форма общая для всех секций. Обработка идёт по каждому параметру реестра:
  1. Флаг: отмеченный переключатель означает «включено», отсутствие поля в отправке — «выключено». Это единственный вид параметра, который обрабатывается даже тогда, когда браузер ничего не прислал (невыставленный флажок не отправляется вовсе).
  2. Все остальные типы: если поля нет в отправке, параметр пропускается — так страница не затирает значения, которых на ней не было.
  3. Присланный текст сравнивается с текстовым представлением текущего значения (сохранённого, а при его отсутствии — значения по умолчанию). Совпало — параметр пропускается, строка в базу не пишется.
  4. Иначе текст приводится к нужному типу и записывается: существующая строка компании обновляется, отсутствующая — создаётся.
  5. В конце выводится сообщение с количеством сохранённых параметров и происходит возврат на ту же страницу — уже с обновлёнными отметками «изменено» и видимыми кнопками сброса.
Сравнение «изменилось / не изменилось» для флагов не работает: переключатель присылает «включено» или пустоту, а текущее значение превращается в текстовое обозначение истинности, и эти строки никогда не совпадают. Практический итог: любое сохранение страницы записывает собственные строки для всех 64 флагов реестра, даже если вы не трогали ни один переключатель. Значения при этом остаются правильными, но компания перестаёт наследовать общие значения по умолчанию по всем флагам, счётчик в сообщении оказывается завышенным (и никогда не бывает нулевым), а кнопки сброса появляются у каждой строки-флага.

Приведение введённого текста к типу

Если текст не удалось разобрать — некорректный JSON, нечисловая строка в числовом поле, неразбираемая длительность — значение сохраняется как введённый текст, без ошибки и без предупреждения. Внешне сохранение выглядит успешным, а в параметре, от которого система ждёт число или структуру, оказывается строка. Проверяйте такие параметры после сохранения.
Очистить текстовый параметр «в пустоту» через эту страницу не получится: пустое поле сохраняется как «не задано», а при первом же обращении система подставит значение по умолчанию и запишет его обратно в базу. Параметр останется помеченным как изменённый, но со значением, равным значению по умолчанию. Чтобы вернуть параметр к общему поведению, пользуйтесь кнопкой сброса, а не очисткой поля.

Сброс к значению по умолчанию

Кнопка сброса стоит в конце строки и видна только у изменённых параметров — тех, у которых есть сохранённая строка. У остальных она скрыта и недоступна с клавиатуры, но остаётся в разметке страницы. Нажатие отправляет ту же общую форму, но с действием «сбросить» и ключом сбрасываемого параметра; проверки полей браузером при этом пропускаются, так что незаполненное числовое поле в другой строке сбросу не помешает. Обработка простая: сохранённая строка этой компании по этому ключу удаляется, выводится сообщение об успехе, страница перезагружается — параметр снова показывает значение по умолчанию и теряет кнопку сброса.
Кнопки сброса — первые кнопки отправки внутри формы, поэтому отправка формы клавишей ввода из поля ввода в большинстве браузеров сработает как сброс самого первого параметра таблицы, а не как сохранение. Нажимайте «Сохранить» мышью и проверяйте текст появившегося сообщения.
Ключ сбрасываемого параметра подставляется в скрытое поле скриптом страницы в момент нажатия. Если скрипт не отработал, ключ остаётся пустым, и нажатие кнопки сброса выполняется как обычное сохранение всей страницы — со всеми последствиями массовой записи флагов. Убедитесь, что после нажатия появилось сообщение именно о сбросе.
Отметка «изменено» означает лишь наличие сохранённой строки, а не отличие от значения по умолчанию. Строка, в которой лежит ровно то же значение, что и по умолчанию, считается изменённой и показывает кнопку сброса — это корректно, потому что сброс убирает саму привязку, а не значение.

Побочные эффекты и кэш

Значения настроек агрессивно кэшируются: при первом обращении компании все её сохранённые значения разом загружаются в кэш на сутки, а значения, прочитанные поштучно мимо этой предзагрузки, живут в кэше считаные секунды. Админ-раздел с этим кэшем взаимодействует плохо.
Практический итог: изменение существующего значения и сброс параметра компания может увидеть не сразу — старое значение живёт в её кэше, пока не истечёт срок суточной предзагрузки. Совпасть пространства ключей могут только в одном случае: если админ-панель открыта на домене той же компании. Параметр, у которого сохранённой строки раньше вообще не было, обычно подхватывается почти сразу — кэшировать было нечего. Сама админ-страница читает значения напрямую из базы, поэтому расхождения на ней не видно.
Если изменение критично и должно примениться немедленно, надёжнее внести его из интерфейса самой компании — там сброс кэша выполняется в её собственном пространстве ключей. После правки из админки стоит проверить результат на стороне компании.

Типовые сценарии

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

Подводные камни

Сохранение страницы всегда пишет все флаги
  • Любое сохранение страницы настроек компании записывает собственные значения для всех флагов реестра — сейчас это 64 параметра из 116 — даже если ни один переключатель не трогали. Проверка «не изменилось — пропустить» для флагов не срабатывает: то, что присылает форма, никогда не совпадает с текстовым представлением текущего значения.
  • После первого же сохранения компания перестаёт наследовать общие значения по умолчанию по всем флагам, счётчик в сообщении завышен, а кнопка сброса появляется у каждой строки-флага.
  • Сообщение о числе сохранённых параметров нулевым не бывает: счётчик начинается от количества флагов.
Изменения из админки могут долго не доходить до компании
  • Сброс параметра удаляет сохранённую строку напрямую, минуя обработчик сохранения, поэтому кэш компании не очищается: старое значение читается, пока не истечёт суточный срок жизни массовой предзагрузки настроек.
  • Автоматическая очистка кэша при сохранении выполняется в пространстве ключей той компании, в контексте которой идёт запрос, а админ-панель обычно работает не в контексте редактируемой компании. Поэтому правка существующего значения из админки, как правило, не вытесняет закэшированное значение.
  • Вторая автоматическая реакция на сохранение кладёт новое значение в кэш компании под ключ без номера компании, тогда как чтение ищет ключ с номером, — на чтение эта запись не влияет и устаревшее значение не заменяет.
  • Полная очистка кэша выполняется только при изменении уже существующей строки; при создании новой строки она пропускается. Обычно это незаметно, но если строка раньше существовала и была удалена сбросом, старое значение может ещё жить в кэше.
Ошибочный ввод сохраняется молча
  • Если введённый текст не разбирается — некорректная структура, нечисловая строка в числовом поле, неразбираемая длительность, — значение сохраняется как введённый текст без ошибки и без предупреждения. В параметре, от которого система ждёт число или структуру, окажется строка.
Карточка отдельного значения и проверка доступа
  • Карточка отдельного сохранённого значения не открывается для параметров, описанных в реестре двумя частями (сейчас их четыре), для параметров со списочным типом (сейчас их два) и для строки, ключа которой в реестре уже нет. Длительности, объявленной строковым обозначением типа, она подставляет обычную текстовую область. Страница настроек компании все эти описания обрабатывает корректно.
  • Страница настроек компании проверяет только признак суперпользователя. Если режим «только суперпользователь» выключить, страница станет доступна любому сотруднику со входом в админ-панель — прав на модель она не спрашивает.
Мелкие особенности:
  • Кнопки сброса строк стоят в форме раньше кнопки сохранения, поэтому отправка формы клавишей ввода из поля ввода в большинстве браузеров сработает как сброс самого первого параметра таблицы.
  • Кнопка сброса подставляет ключ параметра скриптом страницы; если скрипт не отработал, ключ уходит пустым и нажатие выполняется как обычное сохранение всей страницы.
  • Попытка сбросить ключ, которого нет в реестре настроек, молча игнорируется: строка не удаляется, сообщение не выводится, происходит обычный возврат на страницу.
  • Компания без единого сохранённого значения не появляется в списке раздела, поэтому ссылки «Редактировать» на неё нет — попасть на её страницу настроек можно только по прямому адресу с номером компании.
  • Отметка «изменено» означает наличие сохранённой строки, а не отличие от значения по умолчанию: строка со значением, равным значению по умолчанию, всё равно считается изменённой и показывает кнопку сброса.
  • Очистка текстового поля не возвращает параметр к значению по умолчанию: сохраняется «не задано», а при первом чтении система подставит значение по умолчанию и запишет его обратно в базу, так что параметр останется помеченным как изменённый.
  • Адрес раздела с номером перехвачен страницей настроек компании и перекрывает стандартный переход панели к записи с таким номером: номер здесь означает компанию, а не строку сохранённого значения.
  • Поле даты-времени показывает сохранённое значение в формате, который браузерное поле не принимает: оно отобразится пустым и при следующем сохранении может быть стёрто в «не задано». У поля даты такой проблемы нет; в текущем реестре параметров обоих типов всё равно нет.
  • Режимом «только суперпользователь» ограничены изменение, удаление и страница настроек компании; просмотр списка сохранённых значений им не ограничен и открывается по обычному праву на просмотр.
Справочные детали
  • Секции параметров не настроены, поэтому все 116 параметров выводятся одним блоком с техническим английским заголовком, в порядке реестра.
  • Колонки «Название» и «Код» почти всегда совпадают: подпись берётся из технического кода параметра, и только при пустом коде подставляется сам ключ. По-русски в реестре подписаны ровно два параметра — название и адрес организации, и значения по умолчанию у них — служебные заглушки латиницей, а не пустые строки.
  • Длительность показывается в часах и не переводится в дни: сутки отображаются как 24:00:00, трёхчасовой буфер — как 03:00:00; при вводе целое число без разделителей трактуется как количество секунд. Всего длительностей в реестре четыре.
  • Палитра цвета выдаётся не по типу параметра, а по внешнему виду значения по умолчанию (решётка и три или шесть символов после неё): так палитру получают семь цветов статусов аренды, а строковый параметр с другим значением по умолчанию получит обычное текстовое поле.
  • Значения, попавшие в кэш через массовую предзагрузку, живут сутки; значения, прочитанные поштучно мимо неё, кэшируются лишь на несколько секунд.
  • Девять параметров реестра не входят в набор, который отдаётся компании через её собственный интерфейс настроек, — поменять их можно только из админ-панели.
  • В боковом меню панели раздел подписан «Конфигурация», а заголовок и хлебные крошки страницы настроек компании используют техническое английское название модели.
  • Сквозные счётчики автонумерации фактически не зарегистрированы в админ-панели: строка их регистрации оформлена так, что ничего не регистрирует, и отдельного раздела для них нет.

Связанные страницы

Глоссарий: Настройки в админ-панели

Полный перечень полей и элементов админ-раздела настроек.

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

Обзорная страница модуля настроек и всех его разделов.

Реестр настроек компании

Полный перечень параметров компании: что можно включить или выключить, какие значения стоят по умолчанию и как настройки читаются и сохраняются.

Хранение и кэш настроек

Как значение настройки попадает в базу, как оно кэшируется по компаниям и почему изменение настройки сбрасывает кэш целиком.

Дополнительные поля

Собственные поля компании для клиентов, инвентаря, аренд и других справочников: типы, обязательность, отображение в таблице и фильтрах.

Переименование сущностей

Как компания меняет названия разделов и статусов под свою нишу, включая формы слова по падежам и числам.

Настройки таблиц

Сохранённый состав, порядок и ширина колонок для таблиц интерфейса — отдельно по каждой таблице компании.

Промо-баннеры

Показ рекламных и информационных баннеров платформы внутри системы: частота показа, отметка о просмотре и исключение компаний.

Сквозная автонумерация

Общий счётчик компании, из которого берутся номера клиентов, артикулы создаваемых единиц инвентаря и номера документов.