# ТСД — складской интерфейс

**Раздел:** Справка

Складской UI на телефоне или ТСД (`portable/warehouse/`): черновые приходы и расходы, пересчёт ревизий, фото накладных в OCR. Вход по выносной ссылке. Ниже — **назначение каждого экрана и поля** для редактуры.

## Окно выносных ссылок (склад)
1. В разделе **Остатки** — кнопка **ТСД** (scope `warehouse`) — окно только для складского интерфейса.
2. Или **Интеграции → Выносные ссылки** — select **Интерфейс** (склад и другие типы).

Модалка `#modal-portable-link`:

- **Интерфейс** — select (для кнопки из Остатков — склад).
- **Рабочий центр** / **Разрешить чат** / **Номер кассы** — для других типов; на складе обычно скрыты.
- **Комментарий** — кому выдана, до 128 символов.
- После создания: **Ссылка** (readonly) + **Копировать**; мета (срок по умолчанию **90 дней**; текущий склад подставляется как склад по умолчанию).
- Таблица активных: Интерфейс, Комментарий, Создана, Активность, Действует до, **Отозвать**.
- **Создать ссылку** / **Закрыть**.

Ссылка показывается **один раз**. На ТСД склад можно сменить.

## Главный экран
- Шапка: кнопка **←** (назад, на внутренних экранах), заголовок базы, подзаголовок «ТСД — …», ссылка **?** на эту справку.
- Карточка **Текущий склад** / действие **Сменить**.
- Меню: **Журнал приходов**, **Журнал расходов**, **Журнал ревизий**, **Фото накладных**.

## Смена склада
- Экран «Выберите склад» — список доступных складов; выбор возвращает на главный.

## Приходы

### Журнал
- Подсказка: непроведённые приходы; проведение — в основной программе.
- Список черновиков; пустое состояние.
- **Новая накладная**.

### Документ
- Вкладки **Шапка** / **Товары**.
- Шапка: **Дата накладной** (date), **№ накладной** (text), **Поставщик** (кнопка-пикер).
- Товары: **Из справочника**, кнопка **камеры** (штрихкод); таблица Наименование / Кол-во / Сумма; пустое состояние.
- Подвал: **Отмена**, **Сохранить**.

### Подбор товара
- Превью: наименование, «В накладной».
- Таблица Товар / Кол-во; поиск «Название или штрихкод…»; пагинация ‹ ›; **Готово**.

### Строка
- Наименование (readonly), **Кол-во**, **Цена**, при посерийном учёте — **Серийные номера** (textarea), **Сумма** (readonly).
- **Отменить** / **Сохранить**.

Подробнее о приходах в ERP: **Приходы** (prihody.md).

## Расходы
- Журнал непроведённых; **Новая накладная**.
- Шапка: дата, №, **Покупатель** (пикер).
- Товары: из справочника / камера; таблица Наименование / Кол-во / Сумма; Отмена / Сохранить.
- Подбор: превью наименование / **Остаток** / «В расходе»; таблица Товар / Остаток / Кол-во; галочка **Весь справочник** (по умолчанию только с остатком); поиск; Готово.
- Строка: наименование, остаток (readonly), кол-во, цена, серийные номера (если нужно), сумма; Отменить / Сохранить. Превышение остатка подсвечивается, сохранение не блокируется.

Подробнее: **Расходы** (rashody.md).

## Ревизии
- Журнал непроведённых текущего склада; подсказка про одновременный подсчёт и блокировку ERP.
- Документ: мета; **Поиск** и камера; таблица Наименование / **Докум.** / **Факт**; **К списку**.
- Подбор: превью наименование / документально / уже введено; таблица; поиск; Готово.
- Строка: наименование; документально (readonly); подсказка уже введённого; **Фактически**; Отменить / Сохранить (сразу в базу).

Пока идёт подсчёт на ТСД, ревизию нельзя править и провести в ERP. Блокировка снимается после 10 минут без активности на всех ТСД. Проведение: **Ревизии** (revizii.md).

## Фото накладных (OCR)
- Подсказка: камера в любом положении или фото из галереи; затем «В очередь OCR».
- Скрытые file input: камера (`capture=environment`), галерея (multiple).
- Мета очереди; список страниц текущей накладной; пустое состояние.
- **Новая накладная**, **Сфотографировать**, **Из галереи**, **В очередь OCR** (когда есть фото).

## Сканирование штрихкода
В формах поиска и добавления — кнопка камеры. На Android в Chrome — встроенное распознавание. Иначе — ручной ввод / поиск по названию. Логика штрихкода как в ERP: свой каталог, затем облачная база наименований.
