# SQL-консоль

Только для **platform admin**. Произвольный SQL к базе *текущей* открытой фирмы. Ctrl+Space — автодополнение в редакторе.

## Где открыть

- **Настройка → SQL-консоль** (кнопка видна администратору платформы).
- **«?»** в углу вкладки → эта страница.

## Устройство экрана

- **Заголовок** «SQL-консоль» + мета про firm-базу, Ctrl+Space и тайминги connect/prepare/execute/fetch.
- **Слева** — схема таблиц; **разделитель** тянется по ширине; **справа** — редактор и результат.

## Левая панель «Таблицы»

- Заголовок **Таблицы**.
- **Схема → CSV** — скачать описание всех таблиц и колонок в CSV.
- **Фильтр** (search) — «Фильтр: Товары, контрагент, название…» по списку таблиц.
- **Список таблиц** — клик выбирает таблицу.
- **Деталь схемы** — колонки выбранной таблицы (или текст «Выберите таблицу»).
- **Разделитель** — изменить ширину списка таблиц.

## Блок «Запрос»

- Заголовок виджета **Запрос**.
- **Скрипт** — select встроенных и сохранённых на сервере SQL-шаблонов.
- **Подставить** — вставить выбранный шаблон в редактор.
- **Сохранить** — сохранить текущий SQL на сервере.
- **Удалить** — удалить сохранённый скрипт.
- **Открыть XML/JSON** — выбрать файл и показать данные таблицей (без SQL).
- Скрытый **file input** — принимает `.xml`, `.json`.
- **Выполнить** — отправить SQL на сервер.
- **Редактор** (textarea) — текст запроса; placeholder `SELECT FIRST 10 * FROM TOVARS`; список автодополнения (Ctrl+Space).
- Строка **ошибки** запроса.
- Строка **статуса** (muted).
- Блок **таймингов и плана** (после выполнения): connect / prepare / execute / fetch и текст плана.

## Результат и пагинация

Появляются после успешного SELECT (или загрузки файла):

- **Сохранить результат** — select формата: CSV / JSON.
- **В файл** — выгрузка; перед сохранением подтягивает все строки запроса до лимита.
- **Поиск по результатам…** — фильтр уже загруженных строк результата.
- Мета по числу строк.
- Пейджер: **←** / подпись страницы / **→**.
- **На стр.** — размер страницы: 50 / 100 / 200 / 500.
- Таблица результата: динамические колонки; tfoot при необходимости.

## Безопасность

**UPDATE** и **DELETE** меняют живые данные клиента. Перед разрушительными запросами — резервная копия. Для повседневной работы используйте формы ERP, не SQL.

Статус миграций схемы — состояние скриптов базы.
