Обмен 1С со складской системой в логистической компании
Склад и учёт сверяются по числу документов и остаткам каждый день, а расхождение попадает в журнал с владельцем
Проверяется: ежедневная сверка и журнал расхождений
Средний бизнесРаботаем по NDA
Складская система ведёт ячейки, приёмку и отгрузку, 1С ведёт заказы, цены и бухгалтерию. Документ существует в обеих, и в какой-то момент они расходятся: отгрузка прошла на складе, а в учёте её нет, или наоборот. Менеджеры сверяют вручную, а замечают проблему, когда клиент получает не то.
Что съедает срок и бюджет на самом деле
Обмен технически несложен, ошибки живут в согласовании данных. Ниже, где такие проекты встают.
У данных два владельца
остаток считают и склад, и учёт, по разным правилам. Нужно записать, кто главный по каждому полю, иначе обмен перетирает правильное неправильным.
Склад быстрее обмена
за время между отправкой и подтверждением на складе проходят новые операции. Без очереди и номеров версий документ либо дублируется, либо теряется.
Справочники не совпадают
артикулы, единицы измерения, партии и серии называются по-разному. Любой обмен начинается со сопоставления, и его поддерживает человек.
Ошибку видят позже, чем она случилась
без ежедневной сверки расхождение накапливается до конца месяца, когда его уже нельзя разобрать по документам.
Ограничение, которое определяет решение
Склад не должен останавливаться из-за недоступности 1С, поэтому обмен идёт через очередь, а складская система работает на собственных данных и догоняет учёт. Обновление конфигурации 1С может сломать формат обмена, значит нужен контрольный стенд и проверка после каждого обновления. Если складская система закрытая и не имеет программного интерфейса, скажем это до договора.
Как проверить, что работа сделана
Приёмка держится на сверке, а не на словах «обмен работает». Сверка количеств: раз в сутки по каждому складу сравниваются число документов, суммы и выборка остатков, расхождения заносятся в журнал.
Сверка поведения при сбое: складская система отключается от 1С на согласованное время, работа склада продолжается, после включения очередь разбирается без дублей.
Журнал: у каждого расхождения есть владелец, срок и результат, а регламент записан до запуска.
О чём спросить любого подрядчика
- Кто главный по остатку, цене и статусу и где это записано.
- Что происходит с отгрузкой, если 1С недоступна, и как устраняется дубль после восстановления.
- Есть ли ежедневная сверка и кто читает журнал расхождений.
- Как поддерживается сопоставление справочников и кто вносит новые позиции.
- Как проверяется обмен после обновления конфигурации 1С.
Как мы идём по этапам
На каждом этапе назван результат, который остаётся у заказчика. Остановиться можно после любого.
- Таблица «поле, источник, владелец»Записываем, кто главный по каждому полю заказа, остатка и накладной. Результат: документ, который подписывают обе стороны.
- Сопоставление справочниковСводим номенклатуру, единицы и склады, находим дубли. Результат: таблица соответствий и правила для новых позиций.
- Обмен через очередьЗаказы идут на склад, фактическая отгрузка возвращается. Повтор безопасен, ошибка видна. Результат: рабочий обмен на тестовом стенде.
- Сверка и журналНастраиваем ежедневную сверку и порядок разбора. Результат: журнал с владельцами и сроками.
- Пробный запуск на одном складеВключаем обмен на одном складе, смотрим журнал, потом расширяем. Передаём инструкцию и регламент сопровождения.
Как это обычно устроено внутри
Типовая схема: в центре очередь сообщений с номерами версий документов, 1С и складская система пишут и читают через неё, у каждого сообщения есть ключ идемпотентности, поэтому повторная отправка не создаёт дубль. Отдельная служба раз в сутки сравнивает число документов, суммы и выборку остатков и записывает расхождения в журнал. Журнал обмена и оповещения о сбое доступны вашему администратору.
- 1С
- HTTP-сервисы 1С
- Очередь сообщений
- PostgreSQL
- REST API
- Журнал обмена
Похожая задача у вас?
Разберём её на созвоне за 40 минут: назовём объём работ, ограничения контура и по каким числам вы будете принимать результат. Если задача не наша — скажем прямо.