Интеграция 1С с сайтом личных кабинетов: учёт товаров и заказов без ошибок

У вас есть 1С — склад, бухгалтерия, учёт товаров. И у вас есть сайт с личными кабинетами, где клиенты оформляют заказы. Только вот живут они отдельно. Менеджеры вручную переносят заказы из сайта в 1С, а остатки товаров — из 1С на сайт. Ошибки, задержки, потерянные заказы — классика.

Мы решили эту проблему для нескольких клиентов: фулфилмент-оператора, интернет-магазина автохимии и товарного маркетплейса. Расскажу, как настроить обмен данными между сайтом на Falcon Space и 1С, чтобы всё работало автоматически и без ошибок.

Зачем вообще связывать сайт с 1С

Если у вас небольшой бизнес и 10 заказов в день, можно и руками переносить. Но как только заказов становится 50-100, а номенклатура — тысячи позиций, ручной ввод превращается в ад. Вот типичные проблемы, которые решает интеграция:

Интеграция убирает ручной труд. Данные текут сами — из 1С на сайт (остатки, цены, статусы) и с сайта в 1С (новые заказы, изменения).

Способы интеграции: какой выбрать

Мы используем два основных подхода. Выбирайте в зависимости от ваших ресурсов.

Способ 1. API (рекомендуемый)

На сайте реализуется универсальный API — набор методов, которые принимают и отдают данные в формате JSON или XML. 1С периодически (например, раз в 5 минут) отправляет запросы к API: «дай остатки», «дай цены», «прими новый заказ». Или наоборот — сайт отправляет запрос в 1С, если 1С умеет принимать HTTP-запросы.

Плюсы: гибко, можно настроить любую логику, не требует доступа к БД 1С напрямую.

Минусы: нужно писать обработчики в 1С (или нанимать 1С-программиста).

Способ 2. Linked Server (MS SQL)

Если ваша 1С использует MS SQL Server в качестве базы (а это часто бывает), то можно настроить Linked Server на SQL Server, где стоит БД сайта. Тогда из SQL-процедур сайта можно обращаться напрямую к таблицам 1С. UPDATE, INSERT, SELECT — как будто это одна база.

Плюсы: очень просто, не нужно писать API и обработчики. Всё на чистом SQL.

Минусы: требует прямого доступа к БД 1С, что не всегда разрешено (безопасность). И структура таблиц 1С может быть сложной.

Для малого бизнеса чаще используем Linked Server — быстрее и дешевле. Для крупных проектов с высокими требованиями безопасности — API.

Реальный кейс: фулфилмент-оператор Fulfillyou

Компания Fulfillyou предоставляет услуги склада для интернет-магазинов. У каждого магазина (клиента) есть свои товары, хранящиеся на складе оператора. Задача: сделать личный кабинет, где клиент видит остатки своих товаров в реальном времени и может создавать заявки на отгрузку.

Как решили:

  1. Данные об остатках товаров клиентов находятся в 1С склада.
  2. Настроили Linked Server между SQL Server сайта (Falcon Space) и SQL Server 1С.
  3. В хранимой процедуре на сайте сделали запрос к таблицам 1С:
SELECT product_code, product_name, quantity 
FROM [linked_server_1c].[database_1c].[dbo].[remainders]
WHERE client_id = @username
  1. Когда клиент создаёт заявку, сайт вставляет её в свою БД, а через триггер или отдельный процесс отправляет данные в 1С (через вызов API 1С или прямое обновление таблиц).

Результат: клиент видит остатки с точностью до минуты (частоту обновления можно настроить), а заявки моментально уходят на склад. Ручной перенос заказов исчез. Время обработки заявки сократилось с 2 часов до 10 минут. Полный кейс фулфилмента.

Второй кейс: магазин автохимии на Falcon Service

Компания ЛВЕ Синтез производит автохимию и продаёт через интернет-магазин. Им нужно было:

Взяли за основу готовое решение Falcon Service (личные кабинеты для клиентов) и сделали двустороннюю интеграцию через API. 1С раз в 10 минут «спрашивает» сайт: «Есть ли новые заказы?» — и забирает их в формате JSON. Затем, после обработки на складе, 1С отправляет на сайт обновлённые статусы.

Сайт написан на Falcon Space, и создание API-методов — это просто написание хранимых процедур, которые возвращают данные в формате JSON. Вот пример:

CREATE PROCEDURE [api].[get_new_orders]
AS
BEGIN
    SELECT order_id, order_date, customer_name, total_sum,
           (SELECT product_id, quantity, price 
            FROM order_items 
            WHERE order_id = o.order_id FOR JSON PATH) AS items
    FROM orders o
    WHERE exported_to_1c = 0;
END

1С вызывает `https://вашсайт.ru/api/get_new_orders`, получает JSON и импортирует. Процесс полностью автоматизирован, менеджеры больше не занимаются перепечатыванием заказов. Кейс ЛВЕ Синтез.

Технические детали для тех, кто внедряет сам

Вот минимальный набор действий, чтобы связать Falcon Space и 1С:

  1. Определите сущности для обмена: товары, заказы, клиенты, остатки, статусы. Что и в какую сторону передаётся.
  2. Настройте протокол: какой формат (JSON или XML), как часто будет синхронизация (по запросу, по расписанию, в реальном времени). Для начала достаточно запроса из 1С раз в 5-10 минут — это снижает нагрузку.
  3. Создайте API-процедуры на Falcon Space. В документации есть раздел про создание API-сервисов. Процедура должна возвращать SELECT с нужными данными, обёрнутыми в JSON.
  4. Напишите обработчик в 1С (это отдельная задача для 1С-программиста, но он справится за пару дней). Обработчик должен вызывать API сайта по HTTP и парсить ответ.
  5. Настройте авторизацию. Чтобы API не был доступен всем подряд, добавьте проверку ключа в процедуре (например, `WHERE api_key = @key`).
  6. Протестируйте на малых данных. Возьмите один товар, один заказ. Потом масштабируйте.

Сложность реализации обычно не в Falcon Space, а в 1С. Но если у вас есть 1С-программист, он быстро разберётся. Мы также можем помочь — предоставим консультации по API и Linked Server в рамках техподдержки.

На что обратить внимание, чтобы не было сюрпризов

У нас в документации есть подробные примеры API-методов для обмена с 1С. Раздел про создание API.

Когда интеграция не нужна (и чем её заменить)

Если у вас нет 1С, или вы только начинаете — не спешите. На первых порах можно:

Но как только бизнес переваливает за 30-50 заказов в день — автоматизация обмена с 1С окупится за 3-4 месяца за счёт сэкономленного времени менеджеров и сокращения ошибок.

Итог: связать сайт на Falcon Space с 1С — это реально за 1-2 недели с помощью API или Linked Server. Вы получаете актуальные остатки, автоматическую передачу заказов, счастливых клиентов и свободных менеджеров. Напишите нам, если нужна помощь в проектировании интеграции — пришлём пример ТЗ для 1С-разработчика.

Страница-источник на сайте falconspace.ru