Задача
Когда для F5IT разрабатывали B2B-портал, стало понятно: стандартного обмена между сайтом и 1С мало.
Нужно было решить три конкретные проблемы:
-
Заказы с портала. Заказ, который контрагент оформляет в личном кабинете, должен в 1С превращаться в понятную задачу: что нужно зарезервировать, на какой срок и по какому контрагенту.
-
Резервы в 1С. Решение о резервировании принимается в 1С — там живут остатки и бизнес-правила. Значит, портал должен получать следующие данные: резерв или конечный заказ создан, сколько, до какой даты и что с ним произошло дальше.
-
Редактирование заказа на стороне контрагента. Контрагенту важно иметь возможность исправить заказ после оформления (количество, позиции, условия) — но так, чтобы: не появлялись дубли и «разорванные» заказы; 1С могла корректно пересчитать резервы и вернуть обновленный результат на портал.
Под эти задачи и был разработан модуль «Сотбит: Резервирование» — связка между 1С и B2B-порталом, которая занимается только резервами и оффлайн-заказами.
Что делает модуль в целом
Если говорить простыми словами, модуль отвечает за три потока данных:
-
Передает заказы с портала в 1С как задачи на резервирование или как реальный заказ;
-
Возвращает фактические резервы из 1С на портал;
-
Обрабатывает изменения заказов: передаёт правки со стороны контрагента в 1С и возвращает результат пересчёта резервов обратно в личный кабинет.
При этом 1С остается единственным источником правды: именно там хранится, что в итоге зарезервировано, какие заказы оформлены и какие документы по ним проведены.
Настройки обмена: куда, что и как часто передавать
В 1С для модуля добавляется отдельный блок настроек. Через него можно:
-
Указать, куда отправлять данные: сразу на сайт по защищённому HTTP-запросу или, при необходимости, выгружать их в файлы (например, для промежуточной интеграции).
-
Выбрать, в каком объеме выгружать информацию: полная выгрузка (когда настраиваемся или проверяем все сразу) или, только изменения с момента последней успешной синхронизации;
-
Задать, как запускать обмен: вручную — для тестов и разовых операций или, по расписанию — для регулярной фоновой работы;
-
Включить расширенное логирование, чтобы при проблеме можно было посмотреть, какие данные ушли, что вернулось и на каком шаге возникла ошибка.
Для конечного бизнеса это означает предсказуемое поведение: понятно, когда и какие данные обмениваются между 1С и порталом.

Заказы с портала → в 1С как задачи на резерв
Когда контрагент оформляет заказ в B2B-портале, модуль делает следующее:
-
Собирает по заказу полный набор данных: кто заказал, какая организация, какие товары, в каком количестве, по какой цене, какие условия оплаты и пр.
-
Передает эти данные в 1С в структурированном виде.
-
В 1С это попадает в специально настроенный регистр задач резервирования.
Дальше уже вступают в игру правила F5IT в 1С:
-
Система решает, можно ли оформить резерв в полном объеме;
-
Вносит изменения по остаткам;
-
Фиксирует результаты обработки (успешно, частично, отказ и т.п.).
Главная мысль: портал не «придумывает» резерв, он только запускает процесс в 1С. Все, что связано с учетом, по-прежнему живет в учетной системе.

Редактирование заказа контрагентом: как модуль поддерживает изменения
Чтобы редактирование работало корректно, важно было обеспечить две вещи: единый жизненный цикл заказа и корректную пересборку резервов в 1С без дублей и ручных “разборов”.
Что именно может менять контрагент
-
Изменить количество по позициям;
-
Добавить или удалить позиции;
-
Заменить номенклатуру (по согласованным правилам);
-
Скорректировать параметры заказа (например, комментарий/условия, которые учитываются в 1С);
-
Отменить заказ, если он больше не актуален.
Что происходит при сохранении изменений
После сохранения правок модуль запускает управляемый сценарий синхронизации:
-
Портал формирует новую версию заказа (ревизию), сохраняя связь с исходным заказом/задачей резервирования.
-
В 1С изменения попадают как обновление задачи (или как новая задача, связанная с исходной — в зависимости от правил проекта).
-
1С пересчитывает резервирование по каждой строке: если количество уменьшили — излишек резерва снимается; если количество увеличили — 1С пытается дозарезервировать доступный остаток; если позицию удалили — резерв по ней снимается;если позицию добавили — 1С обрабатывает её как новую строку на резерв.
-
Результаты пересчёта возвращаются на портал: что подтверждено, что частично, что невозможно зарезервировать, до какой даты действует резерв.

Резервы из 1С → обратно в личный кабинет
После того как 1С обработала задачи, модулю нужно вернуть результат контрагенту в понятном виде.
Для этого:
-
Модуль выбирает в 1С актуальные записи по резервированию — последние завершенные состояния по каждой позиции заказа.
-
Формирует из них компактный пакет данных (без лишнего «шума»).
-
Отправляет его на сайт.
На стороне портала это превращается в нормальный интерфейс:
-
В карточке заказа видно, по каким позициям оформлен резерв;
-
В каком объеме он подтвержден;
-
На какой срок действует;
-
Был ли резерв впоследствии снят автоматически, если контрагент не перешел к следующему шагу.
То есть контрагент видит не просто статус «в работе», а конкретный результат, рассчитанный в 1С.
Как это выглядит для контрагента и для F5IT
Для контрагента все довольно прозрачно:
-
Он оформляет заказ в кабинете;
-
При необходимости редактирует его;
-
Через некоторое время видит, что по позициям появились резервы с понятным статусом и сроком;
Для F5IT модуль дает несколько важных вещей:
-
Единая логика в 1С. Все, что связано с резервами и заказами, по-прежнему живет в 1С. Модуль лишь помогает аккуратно передать данные туда и обратно.
-
Гибкие настройки обмена. Можно регулировать, как часто и в каком объеме идти на сайт, где писать логи, как действовать при ошибках.
-
Полная картина по контрагенту. В личном кабинете и в 1С видна одна и та же история заказов, без разрывов.
Результат
Разработка и интеграция модуля позволили:
-
Превратить заказы с B2B-портала в управляемые задачи в 1С, а не в разрозненные записи обмена;
-
Дать контрагенту возможность редактировать заказ после оформления, при этом сохранив корректный учёт и пересчёт резервов в 1С;
-
Показывать в личном кабинете реальное состояние резервов, рассчитанное в учетной системе;
-
Навести порядок в обмене: понятно, что, куда и когда уходит, и как это диагностировать при проблеме.
За счет этого B2B-портал F5IT стал не отдельной системой, а полноценной частью контура 1С — с нормальными резервами, понятной историей заказов и предсказуемым поведением для контрагентов.
Нужны управляемые резервы и единая логика в 1С? Напишите нам — проведём бесплатный аудит вашей 1С и предложим вариант разработки под текущую конфигурацию.