Документы
Реестр документов, шаблоны и реквизиты: коммерческие предложения, договоры, акты и согласия, которые биллинг собирает из данных клиента и организации.
Модуль «Документы»: реестр, шаблоны, реквизиты
Раздел меню «Документы» — единый документооборот провайдера: шаблоны с плейсхолдерами, реквизиты организации, печати и подписи, реестр выпущенных PDF (договоры, счета, акты, КП, согласия 152-ФЗ, кадровые документы). Три подстраницы (реестр, шаблоны, реквизиты) работают с одной таблицей выпущенных PDF и общими шаблонами по категориям. Модуль объединяет четыре прежде разрозненных генератора (видео/ЧОП, банк, SLA, CRM) в одну точку. Интерфейс переведён на единые компоненты SmitUI — панель фильтров, бейджи и OrgBadge, массовые действия, боковые панели, подтверждения — и снабжён обучающим роликом и знакомством при первом входе.
flowchart LR
T["Шаблоны
(редактор HTML)"] -->|"движок + реквизиты
организации"| G["Генерация PDF
WeasyPrint"]
R["Реквизиты и печать
(per-org)"] --> G
G --> REG["Реестр документов
(журнал PDF)"]
REG -->|"скачать · предпросмотр
подписать · аннулировать"| U["Оператор"]
Жизненный цикл документа — статусы и переходы. Ошибочный документ аннулируют (статус «Аннулирован»), а не удаляют: PDF и номер остаются в реестре.
flowchart LR
D["Черновик"] -->|"выпуск из шаблона"| I["Выпущен"]
I -->|"подпись"| S["Подписан"]
S -->|"отправка клиенту"| SE["Отправлен"]
I -.->|"аннулирование"| V["Аннулирован"]
S -.-> V
SE -.-> V
class V void
classDef void fill:#f8d7da,stroke:#c66,color:#842029;

Реестр документов
/admin/documents/ — журнал всех выпущенных PDF (по клиенту, сделке,
сотруднику). Тулбар в одну строку: поиск по номеру/названию, единый компонент
диапазона дат (как в отчётах), кнопка «Фильтры» и переходы к шаблонам, реквизитам
и знакомству. Таблица — на компоненте SmitTable (настройка
колонок сохраняется в профиле сотрудника), категории и статусы — цветными бейджами.
Кнопка «Фильтры» открывает SmitFilterPanel с тремя группами — Статус, Категория и (в мультиорге) Организация — плюс быстрые фильтры (Черновики / Подписанные / Аннулированные) и сохранение отбора как «Мой вид». В группе «Организация» — те же OrgBadge, что и в колонке таблицы: фильтр и таблица визуально согласованы.
- Действия в строке (SmitActions): предпросмотр PDF (модалка поверх всего), скачивание, отметка «подписан», аннулирование (статус void, файл и номер сохраняются).
- Массовые операции: отметьте документы чекбоксами — снизу появляется SmitBulkBar с массовыми «Подписать» и «Аннулировать». Перед изменением SmitConfirm показывает, что именно произойдёт и на что повлияет; каждое действие пишется в аудит.
- Субъект → панель клиента: клик по имени в колонке «Субъект» открывает боковую панель клиента с блоком «Документы» (см. ниже) — не уходя из реестра.
- AI-помощник раздела видит выбранную строку и отвечает по реестру (как выпустить, найти, подписать или аннулировать документ, откуда реквизиты и нумерация), опираясь на счётчики по статусам, категориям и организациям.
- Мульти-орг: реестр показывает документы организации клиента (по выбору в навбаре и группе «Организация»); документы без организации видны всем. Колонка «Орг.» (OrgBadge) — в режиме «Все организации». Скачивание, предпросмотр и аннулирование заскоуплены по ID — оператор не видит и не трогает документы чужой компании.
- Реквизиты и печать (
/admin/documents/requisites/) — единый экран поверх реквизитов организаций (те же данные, что в карточке организации и «Брендинге»), per-org.
Панель клиента: блок «Документы»
Из реестра (и из карточки клиента) открывается боковая панель абонента с аккордеон-блоком «Документы»: последние выпущенные документы клиента с номером, категорией, датой и статусом. Клик по имени субъекта в реестре открывает панель и плавно раскрывает именно этот блок; клик по документу показывает PDF модалкой поверх всего.
Шаблоны документов
/admin/documents/templates/ — редактор шаблонов по категориям (вкладки сверху):
Видео / Интернет / МКД / IPTV / IP-тел. / Информ. услуги / Кадры / Склад / Доп.услуга.
Вкладки категорий, чьи модули выключены, скрываются автоматически. Тело шаблона (HTML с
плейсхолдерами) правится визуально; шапка с реквизитами организации, логотип и подписи
добавляются единым движком. Есть предпросмотр на демо-данных.
- Колонки: «Тип» — цветной SmitBadge по виду документа (акт, договор, КП, счёт, согласие); «Объём» — размер тела шаблона компактно, без переноса («1.7К симв.»); «Источник» (из биллинга / своя правка), «Изменён» с автором.
- Массовые действия и меню строки — SmitActions (правка, предпросмотр, сброс к дефолту) и SmitBulkBar (массовый сброс).
- Мульти-орг: индикатор в шапке карточки — «Общие шаблоны» или название организации; шаблоны заскоуплены по организации.
- AI-помощник помогает составить текст шаблона под нужный тип, используя только доступные плейсхолдеры (новых не выдумывает) — готовый HTML оператор вставляет в редактор.
Категории шаблонов
Кнопка «Категории» открывает боковую панель управления. Встроенные категории соответствуют
модулям системы (гейтинг: выключен модуль — скрыта вкладка), свои категории можно добавлять,
включать/выключать и удалять. Всё — без миграций: слой хранится в настройках
(DOC_TEMPLATE_CATEGORIES: списки скрытых и пользовательских категорий).
Важные изменения подтверждаются SmitConfirm с пояснением
последствий и пишутся в аудит.
flowchart TB
MOD["Модули системы"] -->|"гейтинг"| DT["Встроенные категории (код)
Видео · Интернет · МКД · IPTV
IP-тел. · Информ. · Кадры · Склад · Доп.услуга"]
CFG["Настройки (JSON, без миграций)
DOC_TEMPLATE_CATEGORIES:
список скрытых и своих"] -->|"скрыть/показать · добавить"| LIST
DT --> LIST["Вкладки категорий
на странице шаблонов"]
Вкладка «Склад» — акты оборудования
При включённом модуле Склад появляется вкладка «Склад» с двумя
шаблонами: Акт приёма-передачи оборудования (клиенту) и
Акт подотчёта сотрудника (материальная ответственность).
Генераторы PDF (/admin/stock/act/abonent/…,
/admin/stock/act/staff/…) собирают таблицу оборудования и рендерят её
через эти редактируемые шаблоны — правки в редакторе реально
меняют выпускаемый акт. Если шаблон не менялся, берётся дефолтное тело. Плейсхолдеры:
{{ rows_table }} — готовая таблица оборудования, {{ subject_name }} — клиент или сотрудник,
{{ contract }} — номер договора, {{ total }} — итог,
{{ executor_name }} и {{ executor_signer }} — организация и подписант,
{{ doc_title }}, {{ doc_number }}, {{ today }} и {{ ref_note }} — заголовок, номер, дата и ссылка на основание.
Модалки на мобильном
Все модальные окна (предпросмотр PDF, редактор и предпросмотр шаблонов, формы,
подтверждения) на телефоне (≤768px) разворачиваются на весь экран и выезжают
справа полноэкранной слайд-панелью со «прилипающими» шапкой и кнопками действий.
Это общесистемное поведение (единое правило SmitUI, opt-out —
класс .modal-nofull), не только в «Документах».