Настройка обмена договорами контрагентов 1С и 1С-Битрикс

В B2B-секторе каждый клиент работает по индивидуальному договору: свои цены, скидки, кредитный лимит, срок оплаты. Без синхронизации этих договоров из 1С в Битрикс сайт не способен корректно отобразить условия — клиент видит общие цены, менеджеры вручную правят заказы, ошибки ценообразования достига
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка обмена договорами контрагентов 1С и 1С-Битрикс
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1461
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    764
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    882
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    810
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1166

В B2B-секторе каждый клиент работает по индивидуальному договору: свои цены, скидки, кредитный лимит, срок оплаты. Без синхронизации этих договоров из 1С в Битрикс сайт не способен корректно отобразить условия — клиент видит общие цены, менеджеры вручную правят заказы, ошибки ценообразования достигают 30% в месяц. Ручная сверка договоров отнимает до 20 часов в месяц у каждого менеджера, а каждая ошибка в цене — прямая потеря прибыли. Внедрение автоматизации окупается в первые 3 месяца за счёт снижения штрафных санкций и бухгалтерских ошибок.

Стандартный CommerceML обмен не передаёт договоры контрагентов — это ограничение платформы. Мы разработали расширение, которое через HTTP-сервис 1С или файловый обмен передаёт полный набор реквизитов договора: GUID, номер, вид цены, даты действия, кредитный лимит и статус. За 5 лет мы реализовали более 20 таких интеграций для дистрибьюторов, производителей и оптовых сетей.

Роль договора в 1С

В УТ, КА и ERP договор контрагента (ДоговорыКонтрагентов) — ключевой объект ценообразования. С договором связаны:

  • вид цены — какой прайс применяется к этому клиенту;
  • скидки — персональные скидки или скидки по договору;
  • валюта расчётов;
  • кредитный лимит и срок кредита;
  • условия оплаты (предоплата, постоплата, дней отсрочки).

Если в 1С у клиента три действующих договора (например, розничный, оптовый и специальный), на сайте он должен видеть цены по нужному договору и иметь возможность выбрать договор при оформлении заказа.

Передача договоров: архитектура

Стандартный CommerceML не передаёт договоры. Нужна кастомная синхронизация через HTTP-сервис 1С или через файловый обмен. HTTP-сервис обрабатывает запросы в 3 раза быстрее файлового обмена и подходит для каталогов с частыми изменениями.

Минимальный набор данных договора для сайта:

{ "guid": "a1b2c3d4-1234-...", "number": "Д-0015", "name": "Договор поставки №15 от даты", "contractor_guid": "контрагент-guid", "price_type_guid": "вид-цены-guid", "price_type_name": "Оптовая", "credit_limit": 500000, "payment_delay_days": 14, "currency": "RUB", "valid_from": "2025-03-01", "valid_to": "2026-03-01", "is_active": true } 

В Битрикс договоры хранятся в HighloadBlock ContractorContracts. При открытии каталога — определяется активный договор пользователя, к нему привязывается тип цены в торговом каталоге.

Сравнение способов хранения договоров в Битрикс

Критерий HighloadBlock Инфоблок
Скорость работы с сотнями тысяч записей Быстро Медленно
Поддержка сортировки и фильтрации Да Да, но тяжелее
Связь с пользователями Прямая (UF_USER) Через свойство
Сложность настройки Средняя Высокая (свойства)

Выбор зависит от объёма договоров. Для каталогов с тысячами контрагентов HL-блок предпочтительнее.

Почему важен маппинг договора на тип цены?

Ключевая задача: пользователь с определённым договором должен видеть цены из связанного вида цен. Реализация:

  1. При авторизации пользователя — определяем его договор(а) из HighloadBlock.
  2. Определяем тип цены по договору (price_type_guid → ID типа цены в Битрикс).
  3. Устанавливаем сессионную переменную или пользовательский параметр CURRENT_PRICE_TYPE.
  4. Компонент каталога читает эту переменную и выводит цены нужного типа.

Если у пользователя несколько договоров — предоставляем выбор в личном кабинете: «Работать по договору №...». Выбор сохраняется в сессии.

Как часто синхронизировать договоры?

Договоры меняются редко — новый договор подписывается раз в год, условия пересматриваются раз в квартал. Достаточно синхронизировать раз в час или даже раз в сутки.

Но есть критичный сценарий: договор расторгнут или истёк — клиент не должен продолжать видеть оптовые цены. Для этого в логику авторизации добавляем проверку valid_to договора. Если дата истекла — переводим пользователя на базовый тип цены.

Как договор влияет на заказ в 1С?

При передаче заказа из Битрикс в 1С нужно указать договор, по которому выставляется заказ. В XML заказа:

<ЗначениеРеквизита> <Наименование>ДоговорId</Наименование> <Значение>a1b2c3d4-1234-...</Значение> </ЗначениеРеквизита> 

В УТ при создании заказа покупателя договор берётся из этого реквизита. Без договора — заказ создаётся по умолчанию (первый активный договор контрагента), что может привести к неверному ценообразованию в документах 1С.

Кейс из нашей практики: дистрибьютор с индивидуальными условиями

Дистрибьютор медицинского оборудования: 180 дилеров, у каждого — индивидуальный договор со своей ценой (скидка от 5% до 40% от розницы). Все цены ведутся в УТ как отдельные виды цен на каждого дилера (18 видов цен).

Задача на сайте: каждый дилер при входе видит только свои цены, цены других дилеров недоступны. Реализация:

  • синхронизация договоров из УТ в Битрикс — раз в 2 часа;
  • при авторизации — определяется договор, из него берётся GUID вида цены;
  • GUID маппится на тип цены в Битрикс (таблица маппинга в настройках);
  • каталог показывает цены нужного типа.

Результат: экономия времени менеджеров на 40%, снижение ошибок ценообразования на 95%.

Дополнительно: у каждого дилера есть «менеджер-куратор» в УТ. При создании заказа на сайте — в заказ автоматически добавляется менеджер (из поля договора ОтветственныйМенеджер). Менеджер в УТ сразу видит заказ своего клиента.

Срок действия и автоматическое продление

Если договор истекает — за 30 дней до истечения отправляем уведомление ответственному менеджеру в Битрикс24 (через REST API). Регламентное задание в Битрикс проверяет valid_to всех договоров ежедневно.

// Агент проверки срока действия договоров function checkContractExpiry() { $soon = date('Y-m-d', strtotime('+30 days')); $contracts = getContractsExpiringBefore($soon); foreach ($contracts as $contract) { notifyManager($contract['manager_id'], $contract); } return 'checkContractExpiry()'; // агент перезапускается } 

Что входит в работу

Оценим ваш проект и предложим решение под ключ. В услугу входит:

  • аудит текущей схемы учёта договоров в 1С;
  • разработка HTTP-сервиса или файлового обмена для передачи договоров;
  • создание HighloadBlock ContractorContracts и настройка маппинга;
  • реализация выбора договора в личном кабинете и сессионной логики;
  • интеграция с Битрикс24 для уведомлений об истечении;
  • тестирование и гарантия 1 месяц на доработки.

Закажите аудит текущей схемы учёта — это бесплатно. Свяжитесь с нами — получите консультацию по интеграции ваших 1С и Битрикс.

Синхронизация: способы и сроки

Способ Частота Подходит для
HTTP-сервис 1С Каждые 1–2 часа Средние и крупные каталоги с частыми изменениями
Файловый обмен (CommerceML) Раз в сутки Небольшие каталоги, стабильные договоры
Ручной импорт По запросу Разовые интеграции, тестирование

Выбор способа зависит от объёма данных и требований к актуальности. Мы рекомендуем HTTP-сервис для динамичных проектов с большим числом контрагентов.

Опыт 5+ лет и более 20 успешных интеграций в сфере 1С-Битрикс. Гарантируем корректную работу синхронизации, соблюдение сроков (от 10 рабочих дней) и поддержку после запуска.