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

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

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

Этапы разработки

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1321
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    914
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    663
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    810
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    709
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1043

В 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 рабочих дней) и поддержку после запуска.