0Как читать документ
У каждого требования есть уровень:
Без этого систему нельзя ввести в эксплуатацию или она не покрывается SLA.
Система работает, но медленнее или менее надёжно. Риск на стороне заказчика.
Нужно только в определённом сценарии: холодный склад, облачная 1С, печать через FTP.
Конфигурации даны тремя типоразмерами. Выберите свой вверху страницы: нужные цифры подсветятся во всех таблицах.
| Типоразмер | ТСД одновременно | АРМ | Строк документов в сутки | Ячеек хранения |
|---|---|---|---|---|
| S — малый склад | до 10 | до 10 | до 1 000 | до 5 000 |
| M — средний склад | до 30 | до 25 | до 10 000 | до 30 000 |
| L — крупный склад, 3PL | 30+ | 25+ | 10 000+ | 30 000+ |
1Как устроена WMS 2.0
Схема ниже — всё, что стоит у вас на площадке. Точки показывают, кто к кому обращается.
Четыре факта, из которых следует всё остальное:
- Сервер — источник истины, ТСД умеет ждать. Логика и остатки живут на сервере. С модулем «Работа без связи» сканы приёмки, входного контроля, контроля отгрузки и пересчёта ТСД копит без связи и досылает без дублей. Размещению и подбору связь нужна: следующую ячейку называет сервер.
- Скан — один запрос и один ответ. Сервер обрабатывает скан за 9 мс в 95% случаев и делает не больше трёх SQL-запросов. Цель для всего пути «скан → экран» — 400 мс при задержке сети 60 мс.
- Поставка — один Docker-образ. Образ одинаковый для всех заказчиков, особенности задаются настройками. Java, библиотеки и веб-сервер уже внутри. Серверу не нужны ни интернет, ни реестр образов.
- Склад не зависит от интернета. Все складские операции и печать работают при оборванном внешнем канале, если живы локальная сеть и Wi-Fi.
2Чего мы не требуем
Это тоже часть требований: они снимают лишние строки из бюджета проекта.
- Лицензий на ОС и СУБД. Linux и PostgreSQL свободные.
- Установки Java и библиотек. Всё нужное уже в Docker-образе.
- Терминального сервера и RDS. АРМ работает в браузере.
- Интернета на сервере WMS. Поставка приезжает архивом через туннель.
- Публикации базы 1С наружу. Обмен начинает сама 1С.
- Оборудования конкретного вендора. Подойдёт любое, отвечающее параметрам ниже.
- Новых ТСД при переходе с легаси. Приложение работает на Android 7 и новее.
- Своего ЦОДа. Хватит закрытого помещения с питанием и охлаждением.
3Серверное оборудование
3.1 Два контура: PROD и TEST Обязательно
Заказчик выделяет две среды и даёт Intekey доступ к обеим. В каждой — хост приложения и хост базы, их можно совместить (3.4). TEST — не «копия для пользователей», а часть процесса поставки: каждую новую версию Intekey Deployer ставит сначала на TEST, вы её принимаете, и только эта же версия уходит на PROD.
Сюда версия приезжает первой. Проверяем работу, обмен с 1С, воспроизводим инциденты. Здесь же учатся сотрудники и принимаются доработки.
Рабочий контур склада. Сюда уходит только версия, принятая на TEST, в согласованное окно и с точкой отката.
- TEST изолирован от PROD: отдельные хосты или ВМ, отдельная база, отдельные учётные записи обмена.
- TEST подключён к тестовой базе 1С, а не к рабочей.
- На TEST периодически разворачивается обезличенная копия рабочей базы, иначе проверка обновления не показательна.
- Печать с TEST идёт на выделенный принтер или в файл.
- Ресурсы TEST — около 50% от PROD, но не меньше 4 потоков CPU, 16 ГБ RAM и 100 ГБ SSD на роль.
Без TEST обновления и разбор инцидентов идут прямо на рабочей базе. Это риск для учёта и основание увеличить сроки по SLA.
3.2 Хост приложения Обязательно
На нём работают Docker-контейнеры бэкенда и веб-сервера. WMS 2.0 ставится на те же серверы, что и легаси, поэтому типоразмеры совпадают; значения для L уточняются нагрузочным тестом на пилоте.
| Параметр | S | M | L | Зачем |
|---|---|---|---|---|
| CPU, потоков | 8 | 8–12 | 16+ | параллельные запросы ТСД и АРМ, фоновые операции склада |
| Частота ядра | от 2,4 ГГц | от 2,6 ГГц | от 3,0 ГГц | расчёт планов подбора и размещения — время ожидания кладовщика |
| RAM | 32 ГБ | 64 ГБ | 96–128 ГБ | справочники и настройки читаются из памяти процесса |
| Диск | 200 ГБ SSD | 250 ГБ NVMe | 500 ГБ NVMe | образы версий для отката, журналы, файлы печати |
3.3 Сервер базы данных Обязательно
| Параметр | S | M | L | Зачем |
|---|---|---|---|---|
| CPU, потоков | 8 | 8–16 | 16–32 | конкурентные транзакции остатков и резервов |
| RAM | 32 ГБ | 64 ГБ | 128 ГБ | кэш PostgreSQL: меньше обращений к диску |
| Диск | 500 ГБ NVMe | 1 ТБ NVMe | 2 ТБ NVMe | база, журналы, рост истории |
| Отказоустойчивость | RAID1 | RAID1 / RAID10 | RAID10, WAL на отдельном томе | отказ диска не останавливает склад |
| Производительность | от 50 000 IOPS | от 100 000 IOPS | от 200 000 IOPS | random 8K при задержке до 2 мс — главный параметр отзывчивости |
Как мерить диск. IOPS без задержки — не критерий. Замер на целевом Linux, на томе, который уйдёт под базу, файлом от 64 ГБ, в обход кэша ОС, не меньше 5 минут. Пришлите нам вывод трёх команд:
# основной замер: random 8K, 70/30, 5 минут fio --name=rnd8k --filename=/var/lib/postgresql/fiotest --size=64G \ --bs=8k --rw=randrw --rwmixread=70 --ioengine=libaio --direct=1 \ --iodepth=32 --numjobs=4 --group_reporting --runtime=300 --time_based \ --percentile_list=50:95:99:99.9 # задержка одиночной операции fio --name=lat --filename=/var/lib/postgresql/fiotest --size=64G \ --bs=8k --rw=randread --ioengine=libaio --direct=1 \ --iodepth=1 --numjobs=1 --runtime=60 --time_based # фиксация коммита WAL — самый показательный тест для PostgreSQL /usr/lib/postgresql/18/bin/pg_test_fsync
HDD под базу недопустим, как и «тонкие» тома СХД без гарантированных IOPS: расчёт плана размещения вместо секунд займёт минуты.
3.4 Совмещение и виртуализация Рекомендуется
- Для S и M приложение и базу можно поставить на один хост, сложив требования. Например, M: 16 потоков, 128 ГБ RAM, 1 ТБ NVMe. Пропадает сетевая задержка между ними.
- Виртуализация (VMware, Proxmox, Hyper-V, KVM) подходит, если CPU и RAM зарезервированы без overcommit, диск не thin-provisioned без гарантии IOPS, а ВМ не мигрирует в рабочую смену.
- Снапшот ВМ не заменяет резервную копию базы (раздел 14).
3.5 Сеть между приложением и базой Обязательно
Полоса от 1 Гбит/с, задержка меньше 1 мс: один L2-сегмент или один гипервизор. Разносить приложение и базу по разным площадкам, через VPN или WAN нельзя: каждый лишний миллисекундный круг умножается на число запросов к базе.
4Системное ПО
| Компонент | Требование | Комментарий |
|---|---|---|
| ОС серверов | Обязательно Ubuntu Server 22.04 / 24.04 LTS, Debian 12, Rocky или AlmaLinux 9 | только актуальные LTS-дистрибутивы с обновлениями безопасности |
| Контейнеры | Обязательно Docker 24 и новее, Docker Compose v2, автозапуск Docker | бэкенд и веб-сервер поставляются образами; после перезагрузки хоста всё поднимается само |
| СУБД | Обязательно PostgreSQL 18 | на этой версии идут все интеграционные тесты; схемой владеет приложение, миграции применяются сами при старте |
| Java | не требуется | Java 25 уже внутри образа |
| Время | Обязательно NTP на серверах WMS и 1С, единый часовой пояс | операции штампуются временем сервера; без синхронизации расходятся журналы и сверка с 1С |
5Рабочие места (АРМ) Обязательно
| Параметр | Значение | Зачем |
|---|---|---|
| CPU / RAM | 4 ядра / 8 ГБ, SSD | широкие формы, отчёты, 3D-топология |
| Экран | от 1920×1080 | диспетчер, комплектация и 3D-топология не помещаются на 1366×768; рабочие места открываются от ширины около 900 px |
| Браузер | актуальный Chrome, Chromium или Яндекс Браузер | АРМ — веб-приложение, ставить ничего не нужно |
| Сеть | проводной Ethernet от 100 Мбит/с | провод стабильнее Wi-Fi; гигабит к рабочему месту не нужен |
Рекомендуется на АРМ приёмки и контроля отгрузки — USB-сканер штрихкодов в режиме эмуляции клавиатуры.
6Терминалы сбора данных
Приложение кладовщика одно: Android-APK для ТСД, телефонов и планшетов или PWA в браузере без установки. Один APK подходит всем заказчикам: адрес сервера вводится при первом запуске или считывается QR-кодом.
| Параметр | Значение | Зачем |
|---|---|---|
| ОС | Обязательно Android 7 и новее | подходит и парк, который сейчас работает с легаси |
| Сканер | Обязательно аппаратный, 1D/2D под задачу | камера в разы медленнее и не читает потёртые этикетки; для марок «Честного знака» нужен 2D |
| Клавиатура | Рекомендуется физическая | поле скана не вызывает экранную клавиатуру; работа в перчатках |
| Wi-Fi | 802.11ac (5 ГГц), 802.11r/k/v | бесшовный роуминг между точками доступа |
| Питание | АКБ на смену, запасные АКБ или кредлы | |
| Телефоны и планшеты | Опционально | в APK телефон работает в портретной ориентации, планшет — с поворотом |
- Рекомендуется резервный фонд ТСД 10–15% от рабочего парка.
- Рекомендуется MDM или киоск-режим: терминал открывается сразу в приложении WMS.
- Опционально для холодных зон — модели до −20 °C с подогревом окна сканера.
- APK подписан ключом Intekey. Обновление — установка новой версии; очередь неотправленных сканов обновление переживает.
- Вход по бейджу сотрудника включается настройкой.
Модели, проверенные на внедрениях: Point Mobile PM352 и PM452, CipherLab RK95/RK96 и RK25/RK26, M3 Mobile US20/US30 и UL20. Другие Android-терминалы допустимы, но их поведение в эксплуатации мы не подтверждаем практикой.
7Wi-Fi на складе Обязательно
С модулем «Работа без связи» обрыв связи не теряет сканы, но Wi-Fi по-прежнему главный риск запуска: без связи не выдаются задания на размещение и подбор. Попробуйте сами:
Сервер WMS
0фактов приёмки
0повторов погашено по Idempotency-Key, дублей нет
Так работают приёмка, входной контроль, контроль отгрузки и пересчёт. Повтор отправки идёт с тем же ключом, и сервер выполняет операцию один раз.
| Параметр | Требование | Почему |
|---|---|---|
| Уровень сигнала | от −67 dBm во всей рабочей зоне | ниже — потери пакетов и долгие ответы |
| Сигнал/шум | от 25 дБ | |
| Где мерить | на высоте 1,0–1,5 м, в проходах между стеллажами | замер у потолка ничего не доказывает |
| Покрытие | все проходы, приёмка, отгрузка, мезонины, холодные камеры, зона зарядки | мёртвая зона — участок, где нет заданий на подбор |
| Роуминг | 802.11r/k/v, один SSID и одна подсеть на весь склад | смена подсети рвёт сессию |
| Перекрытие точек | 15–20% | иначе разрыв при переходе |
| Потери / задержка | потери до 1%, RTT ТСД → сервер до 50 мс | укладываемся в 400 мс от скана до экрана |
| Питание точек | PoE от коммутатора на ИБП | при моргании света склад не «слепнет» |
Обязательно: радиообследование на заполненном складе до запуска и после перестановки стеллажей. Пустой склад результата не даёт.
8Локальная сеть, порты и адреса
| Параметр | Значение |
|---|---|
| Магистраль и порты серверов | 1 Гбит/с, для L — 10 Гбит/с |
| Сегментация | отдельные VLAN для серверов WMS и для ТСД |
| Адреса | статические IP или резерв DHCP для серверов и принтеров |
| DNS-имена | Обязательно два имени на контур: вход ТСД и вход АРМ (например, tsd.wms.ваш-домен и arm.wms.ваш-домен) |
| Сертификат | Рекомендуется HTTPS с сертификатом заказчика. Если сертификат самоподписанный, его УЦ встраивается в APK при сборке или ставится на устройства |
Порты внутри контура заказчика:
| Порт | Откуда → куда | Назначение |
|---|---|---|
443 / 80 | ТСД, АРМ → nginx | входы ТСД и АРМ, API |
443 / 80 | сервер 1С → WMS | обмен WMS.INconnect, инициатор — 1С |
5432 | бэкенд → PostgreSQL | база; наружу закрыт |
| по способу печати | бэкенд → принтеры | сетевой принтер или FTP-принт-сервер |
443 / 80 исходящий | WMS → Yard, MobileSMARTS | смежные системы, если подключены |
22 | туннель Intekey → хосты PROD и TEST | выкладка через Intekey Deployer и поддержка |
| по технологии туннеля | концентратор заказчика ↔ концентратор Intekey | OpenVPN (UDP 1194), GRE, L2TP/IPsec (UDP 500, 4500, 1701) |
9Пропускная способность
Оценка с запасом по профилю складских операций. ТСД 2.0 отправляет на скан один запрос, так что реальная нагрузка обычно ниже. Подвигайте ползунки:
60 Мбит/с
полоса внутри склада с двукратным запасомТипоразмер: M
Полоса ≈ (ТСД × 0,06 + АРМ × 0,4 + 20 на печать и интеграции) × 2
Главный вывод: гигабитной сети хватает с многократным запасом даже крупному складу. Узкое место — не полоса, а качество радиопокрытия и задержки. Деньги в Wi-Fi окупаются, деньги в 10 Гбит/с до рабочих мест — нет.
10Интернет-канал
Весь склад: приёмка, размещение, подбор, контроль, отгрузка, перемещения, инвентаризация, печать. Работа с марками «Честного знака» на складе тоже: проверку кодов делает учётная система.
Удалённая поддержка и разбор инцидентов, обмен с облачной 1С, поставка обновлений, если туннель идёт через интернет.
| Параметр | S | M | L | Уровень |
|---|---|---|---|---|
| Основной канал | от 25/25 Мбит/с | от 50/50 Мбит/с | от 50/50 Мбит/с | Обязательно |
| Резервный канал | рекомендуется | обязателен, с автопереключением | обязателен, с автопереключением | для M и L |
| Белый IP или VPN-концентратор | да | да | да | Обязательно |
Если 1С работает в облаке, резервный канал обязателен для любого типоразмера: обрыв внешнего канала остановит поступление документов на склад.
11Интеграции и 1С
11.1 Обмен с 1С через WMS.INconnect
INconnect — наше расширение конфигурации 1С:Предприятие 8.3. Оно ставится без правки типовой конфигурации, само отправляет в WMS справочники и документы и забирает статусы, факт, остатки, серии и коды маркировки. Есть версии для 1С:ERP, 1С:Управление торговлей и «Аптечный склад 3.1».
товары, упаковки, штрихкоды, партии, контрагенты, сотрудники; приёмки, заказы, отгрузки, перемещения, комплектация, инвентаризация
статусы документов, факт по строкам, остатки, серии, коды маркировки
- Инициатор — всегда 1С. Доступ нужен в направлении «1С → WMS», публиковать базу 1С не нужно.
- Документ записывается одной транзакцией: либо целиком, либо отказ с понятным текстом.
- Все пакеты пишутся в журнал обмена, по умолчанию он хранится 30 дней.
Что нужно от заказчика Обязательно
- Согласие на установку расширения INconnect и окно для установки.
- Сетевая доступность WMS с сервера 1С по HTTPS.
- Отдельная учётная запись обмена с правами только на нужные объекты.
- Тестовая копия базы 1С, подключённая к контуру TEST.
- Ответственный специалист по 1С у заказчика или его подрядчика.
- Согласованный регламент: документы, поля, частота обмена.
11.2 Другие системы Опционально
| Система | Направление | Что нужно |
|---|---|---|
| Intekey Yard | в обе стороны | сетевая связность, ключи API с обеих сторон |
| MobileSMARTS | от WMS | доступность сервера MobileSMARTS по HTTP |
| ERP не на 1С | к WMS | HTTPS, учётная запись обмена |
12Печать Обязательно
Печатает сервер: этикетки ячеек, тары, товара, упаковочные листы, документы приёмки и отгрузки. ТСД только отправляет команду, локальной печати на терминале нет. Шаблоны документов переносятся из легаси.
- Принтеры этикеток — сетевые, со статическим IP. Минимум по одному в зоне приёмки и в зоне отгрузки.
- Принтер документов — сетевой лазерный A4.
- Поддерживаются физические принтеры, виртуальные и печать через FTP-принт-сервер.
- Не рекомендуется принтер этикеток по USB к рабочей станции: с него не работают автоматическая и пакетная печать.
- Ширина этикетки (обычно 58 или 100 мм) фиксируется при сборе требований.
13Питание и помещение Обязательно
- ИБП на серверы, коммутаторы ядра и PoE-коммутаторы точек доступа, от 20 минут автономии.
- Корректное автоотключение серверов по сигналу ИБП (USB или SNMP).
- Закрываемое помещение, 18–24 °C, контроль влажности и пыли. Сервер в открытом шкафу на складе выходит из строя от пыли и перегрева.
14Резервное копирование Обязательно
- Полная копия ежедневно и непрерывное архивирование WAL.
- Копии хранятся вне сервера базы: NAS, второй хост, защищённое хранилище. Объём — 2–3 размера базы.
- Перед каждым обновлением Deployer дополнительно снимает дамп. Миграции схемы пишутся обратно совместимыми, поэтому прежняя версия стартует на обновлённой базе при откате.
- Снапшот ВМ — не резервная копия: снапшот работающей СУБД может восстановиться несогласованным.
15Мониторинг и журналы Рекомендуется
Журналы WMS 2.0 — структурированный JSON в формате ECS, готовый к сбору в ELK или Loki. Быстрые операции отдают заголовок Server-Timing и пишут в журнал число SQL-запросов, поэтому «тормозит» сразу раскладывается на сеть, сервер и базу.
| Что контролировать | Порог оповещения |
|---|---|
| Доступность контейнеров и СУБД | недоступность дольше минуты |
| Загрузка CPU | больше 85% дольше 10 минут |
| Свободное место | меньше 20% |
| Резервное копирование | любая неуспешная задача |
| Ошибки в журналах | появление критических записей |
Журналы храните не меньше 30 суток: без них разбор инцидента превращается в пересказ.
16Безопасность и доступ поддержки
16.1 Защищённый туннель между инфраструктурами Обязательно
Поддержка Intekey работает не через набор персональных подключений, а через один туннель между инфраструктурами: OpenVPN по умолчанию, GRE или L2TP в связке с IPsec, IPsec или WireGuard.
- Ни один сервис WMS не публикуется в интернет: ни SSH, ни веб, ни порт базы.
- Трафик шифруется на всём пути, включая выкладку версий.
- Туннель маршрутизируется только в подсети WMS (PROD и TEST), а не во всю сеть.
- Отключение туннеля одним действием прекращает весь доступ Intekey.
- Весь доступ журналируется на концентраторе и доступен службе ИБ.
16.2 Доступ для Intekey Deployer Обязательно
Deployer собирает поставку у нас — образы, настройки, APK — и раскатывает её по SSH: проверка сервера → загрузка с контрольными суммами → образы и настройки → дамп → запуск → проверка здоровья. Если проверка не прошла, возвращается прежняя версия, а при необходимости и дамп.
- SSH внутри туннеля к обоим контурам, PROD и TEST.
- Сервисная учётная запись с правами на Docker и каталог стека, не root и не учётка ваших администраторов.
- Согласованное окно обновления PROD; остановка на время выкладки — минуты.
16.3 Секреты и учётные записи Обязательно
- Пароли и ключи задаются только переменными развёртывания: не в профиле контура и не в репозитории. Секреты генерируются на сервере один раз.
- Ключ подписи токенов — свой для каждого контура, не короче 32 байт. Отладочные токены в продуктиве выключены.
- Пароли по умолчанию заменены везде: СУБД, ОС, точки доступа, принтеры. Администраторы — персональные учётные записи.
- Порт СУБД недоступен из офисной сети и из интернета.
- Опционально вход через внешний поставщик удостоверений вашей компании.
17Переход с легаси WMS
Если склад сейчас работает на легаси WMS Intekey, переходим без остановки склада, по шагам:
- Новый ТСД поверх легаси. Ставим стек «ТСД поверх легаси»: кладовщики получают приложение 2.0, а данные пока остаются в старой системе. Стек обращается к легаси только через прокси, который пропускает разрешённые вызовы.
- Сервер переключается на 2.0. Те же устройства, то же обучение, меняется профиль сервера.
- Контур легаси архивируется, а не удаляется. Откат возможен.
Для стека поверх легаси служебная база поставляется контейнером PostgreSQL 16, отдельный сервер СУБД под неё не нужен.
18Цена невыполнения
| Если не выполнено | Что увидит заказчик |
|---|---|
| Провалы Wi-Fi в проходах | сканы копятся в очереди, задания на подбор и размещение не выдаются, выработка падает |
| HDD или СХД без гарантии IOPS | расчёт заданий занимает минуты, очередь на выдачу заданий |
| Мало RAM | своп и «замирания» у всех пользователей сразу |
| Разные подсети или SSID на складе | обрывы сессии при переходе между зонами |
| Нет ИБП | аварийная остановка СУБД, риск повреждения базы |
| Нет проверенного бэкапа | восстановить остатки невозможно, нужна инвентаризация всего склада |
| Нет туннеля и удалённого доступа | инцидент разбирается по переписке, обновления не ставятся штатно |
| Нет TEST | штатная поставка через Deployer невозможна, сроки по SLA не гарантируются |
| Нет тестовой базы 1С | обмен отлаживается на рабочей базе |
| Нет DNS-имён для входов | ТСД и АРМ не разделены, APK не настроить по адресу |
19Чек-лист готовности площадки
Отмечайте пункты прямо здесь: отметки сохраняются в этом браузере. Когда всё готово, сохраните страницу в PDF и пришлите нам.
20Кто за что отвечает
| Зона | Заказчик | Intekey |
|---|---|---|
| Закупка серверов, ТСД, принтеров, сети | ✔ | консультирует по спецификации |
| Монтаж Wi-Fi и радиообследование | ✔ | формулирует требования, проверяет результат |
| Каналы связи, белый IP, VPN-концентратор | ✔ | — |
| Контуры PROD и TEST, доступ к ним | ✔ | формулирует требования, принимает |
| Защищённый туннель | ✔ на своей стороне | ✔ на своей стороне, согласует параметры |
| ОС, Docker, PostgreSQL | ✔ или по отдельному соглашению | ✔ методически |
| Установка и настройка WMS 2.0, выкладка версий | даёт доступ и окно | ✔ |
| Проверка версии на TEST | принимает | ✔ выполняет |
| Бэкапы, мониторинг, ИБП | ✔ | ✔ задаёт регламент |
| INconnect в базе 1С | даёт доступ и окно | ✔ поставляет и настраивает |
| Доработки 1С сверх INconnect | ✔ силами своего подрядчика | ✔ описывает контракт обмена |
| Иллюстрированная инструкция, обучение, запуск | участвует | ✔ |
Документ передаётся заказчику как приложение к договору. Конкретные значения по типоразмеру фиксируются по итогам выезда инженера.
Симонов Михаил Сергеевич, CTO Intekey · 10 ноября 2026 г.