Как выгрузить остатки из 1С автоматически: 4 рабочих способа
Автоматическая выгрузка остатков из 1С сводится к двум вопросам: как забрать данные из базы без участия человека и куда их доставить — в таблицу, на сайт или в чат. Ниже разбираем рабочие способы, их ограничения и то, что обычно ломается уже после запуска.
С чего начать: где хранятся остатки и кому они нужны
В типовых конфигурациях 1С остатки хранятся не в справочнике товаров, а в регистрах накопления. В «Управлении торговлей» это, например, регистр «Товары на складах». Отчёт «Остатки товаров», который менеджер открывает вручную, строится как раз по этим регистрам. Поэтому автоматическая выгрузка — это регулярный запрос к тому же регистру, только без человека у экрана.
Прежде чем выбирать способ, ответьте на три вопроса:
- Куда уходят данные. В Google-таблицу для отдела продаж, на сайт или маркетплейс, в CRM или просто сообщением в Телеграм.
- Как часто обновлять. Раз в сутки, раз в час или почти мгновенно — от этого зависит нагрузка на базу и выбор способа.
- Где стоит 1С. Своя серверная база, файловая база на компьютере бухгалтера или облако. От этого зависит, можно ли вообще подключиться к базе снаружи.
Способы выгрузки: от простого к надёжному
1. Регламентное задание с выгрузкой в файл. В 1С настраивается задание, которое по расписанию формирует файл (CSV, XLSX или XML) и кладёт его в папку или на FTP. Дальше его подхватывает другая система. Способ простой и понятный, но файл устаревает сразу после создания, а если задание тихо упало, об этом никто не узнает, пока кто-нибудь не заметит старые цифры.
2. Стандартный интерфейс OData. Платформа 1С:Предприятие 8.3 умеет отдавать данные по REST-протоколу OData. Базу публикуют на веб-сервере (Apache или IIS) и включают нужные объекты, в том числе регистр остатков, в состав интерфейса. После этого внешняя программа сама запрашивает остатки, когда ей нужно. Конфигурацию дорабатывать не требуется, но нужны доступ к серверу и аккуратная настройка прав.
3. HTTP-сервис в конфигурации. Разработчик 1С пишет свой метод, который отдаёт остатки в удобном формате: например, только по нужным складам и сразу с ценами. Это гибче OData и меньше нагружает базу, но это доработка конфигурации, и её придётся учитывать при обновлениях.
4. Готовые модули обмена. Для связки с сайтом на 1С-Битрикс или с маркетплейсами есть типовые и коммерческие модули. Когда задача ровно под них, это самый быстрый путь. Когда нужно что-то нестандартное, например сводить остатки нескольких баз в одну таблицу, возможностей модуля часто не хватает.
Что обычно ломается и как это предусмотреть
Настроить выгрузку — полдела. Настоящие проблемы появляются через месяц, когда на неё уже опираются:
- Тихие сбои. Перезагрузили сервер, сменили пароль, обновили конфигурацию — и выгрузка остановилась. Выход — сторож, который проверяет свежесть данных и сам пишет в Телеграм, если обновления не было дольше положенного.
- Несовпадение справочников. Артикул в 1С, на сайте и в таблице поставщика записан по-разному. Нужна таблица соответствий, иначе часть товаров просто выпадет.
- Резервы и свободный остаток. Физический остаток на складе и то, что реально можно продать, — разные числа. Заранее договоритесь, что именно выгружается.
- Нагрузка на базу. Тяжёлый запрос раз в минуту в рабочее время тормозит всем пользователям. Обычно хватает выгрузки раз в 15–60 минут или только изменений.
Как такую задачу решаем мы
Мы делаем интеграции, которые работают на своём сервере без присмотра: забирают данные из 1С, CRM или с сайтов и складывают их в таблицу или базу по расписанию. Каждая служба работает под сторожем: если выгрузка не прошла, приходит уведомление, а не сюрприз через неделю.
К остаткам часто добавляем то, чего в самой 1С нет:
- Телеграм-бот и монитор. Сообщение, когда товар опускается ниже порога, и ответ на вопрос «сколько осталось» прямо в чате, без входа в 1С.
- Цены конкурентов рядом с остатками. Собираем данные с сайтов и маркетплейсов настоящим браузером с российского адреса, поэтому антибот-защита не мешает сбору. Своя база истории цен объёмом около 3,8 ГБ позволяет смотреть не только текущую цену, но и её движение.
- Единая таблица из нескольких источников. Остатки из 1С, цены с сайта и статусы из CRM на одном листе.
Если у вас одна база и нужен только ежедневный файл, часто хватает регламентного задания, которое настроит ваш программист 1С. Внешняя автоматизация имеет смысл, когда источников несколько, данные нужны в Телеграме или сбой выгрузки стоит реальных денег.
Соберём под ваш случай и покажем на ваших данных.
Сбор данных →