К статье
Практический материал

Администрирование · 13 мин

Версионность выгружаемых данных в обмене 1С и Битрикс: настройка и проверка

Что такое версионность выгружаемых данных при обмене 1С с Битрикс, зачем она нужна, как включить и проверить настройку. Практическая инструкция с типичными ошибками.

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

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

Проблемы с версионностью проявляются характерно: товары на сайте не обновляются, хотя в 1С цены изменены; заказы приходят с устаревшими статусами; после обмена часть позиций «затирается» старыми данными. Разобраться в настройке версионности — значит устранить целый класс таких сбоев.

Что такое версионность в контексте обмена 1С и Битрикс

Обмен между 1С и сайтом на Битрикс построен на передаче XML-файлов в формате CommerceML. Каждый сеанс обмена формирует один или несколько файлов: каталог товаров, предложения с ценами и остатками, документы заказов. Чтобы обе системы понимали, какая информация актуальна, пакеты снабжаются служебными признаками: датой формирования, идентификаторами объектов и признаками изменений.

Под версионностью в этой связке обычно понимают совокупность механизмов: регистрацию изменений в узле плана обмена в 1С (каждому изменённому объекту присваивается номер сообщения), передачу только зарегистрированных изменений и подтверждение приёма пакета сайтом. Пока сайт не подтвердил успешную загрузку, 1С считает изменения непереданными и отправит их повторно при следующем сеансе.

Важно отличать версионность пакетов от версионности самих объектов. В CommerceML у элементов есть поле «НомерВерсии», но Битрикс по умолчанию ориентируется прежде всего на идентификаторы (GUID) и факт получения файла. Полноценное сравнение версий объекта «что новее» в стандартном обмене ограничено — поэтому порядок сеансов обмена имеет значение.

Зачем нужна версионность и когда без неё не обойтись

Главный эффект версионности — резкое сокращение объёма передаваемых данных. Полная выгрузка каталога на десятки тысяч товаров может занимать десятки минут и создавать ощутимую нагрузку на сайт. Выгрузка только изменений передаёт несколько сотен объектов и завершается за секунды или минуты.

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

Обмен длится долго при любом запускеРаботает полная выгрузка

Проверьте, включён ли режим выгрузки только изменений в узле обмена

Изменения из 1С не попадают на сайтРегистрация изменений не срабатывает или сброшена

Проверьте состав плана обмена и журнал регистрации

Данные на сайте откатываются назадСеансы обмена идут не в том порядке или грузится старый файл

Проверьте расписание обменов и очистку временных файлов на сайте

Версионность критична, если каталог большой, обмен запускается часто (каждые 5–30 минут), а цены и остатки меняются в течение дня. Для небольшого каталога, обновляемого раз в сутки, полная выгрузка тоже допустима — но и там режим изменений снижает нагрузку и риск таймаутов.

Где настраивается режим версионности в 1С

Основная точка настройки — узел обмена с сайтом. В типовых конфигурациях (Управление торговлей, Комплексная автоматизация, ERP) он находится в разделе администрирования интеграций: «Администрирование → Синхронизация данных → Обмен с сайтами» либо через список узлов плана обмена. В карточке узла задаётся режим выгрузки: полная или только изменения.

Ключевые параметры, влияющие на версионность:

  • Режим «Выгружать только изменения» — включает передачу зарегистрированных в узле изменений с момента последнего подтверждённого сеанса.
  • Состав плана обмена — какие типы объектов (номенклатура, цены, остатки, контрагенты, заказы) регистрируются к выгрузке. Если объект не входит в состав, его изменения не версионируются и не уйдут на сайт.
  • Отборы на выгрузку — ограничивают перечень товаров и складов; объекты вне отбора не регистрируются.
  • Расписание обмена — определяет частоту сеансов, а значит, и «глубину» накапливаемых изменений.
Порядок включения выгрузки изменений
  1. 1
    Сделайте резервную копию базы 1С и убедитесь, что обмен с сайтом в целом работает в полном режиме.
  2. 2
    Откройте карточку узла обмена с сайтом в разделе синхронизации данных.
  3. 3
    Проверьте состав плана обмена: нужные типы объектов должны быть включены.
  4. 4
    Настройте отборы выгрузки (организация, склады, сегменты номенклатуры).
  5. 5
    Выполните одну полную выгрузку, чтобы стороны синхронизировались.
  6. 6
    Включите режим выгрузки только изменений и запустите контрольный сеанс.
  7. 7
    Измените тестовый товар в 1С, выполните обмен и убедитесь, что изменение появилось на сайте.

После включения режима изменений первая выгрузка обязательно должна быть полной: иначе сайт и 1С окажутся в рассинхронизированном состоянии, и часть товаров на сайте останется устаревшей без каких-либо ошибок в журнале.

Настройки на стороне Битрикс

На стороне сайта обмен обслуживает модуль интеграции с 1С (страница настроек интеграции в административном разделе). Здесь задаются параметры приёма файлов CommerceML: какие инфоблоки участвуют в обмене, что делать с элементами, отсутствующими в выгрузке, как обрабатывать деактивацию и удаление.

Для корректной работы версионности важны несколько моментов. Во-первых, действие над элементами, которых нет в файле импорта: если стоит «деактивировать» или «удалить», то при частичной выгрузке изменений сайт может ошибочно деактивировать товары, просто не вошедшие в пакет изменений. При режиме выгрузки только изменений этот параметр нужно выставлять осторожно — обычно «ничего не делать».

Во-вторых, время жизни и очистка временных файлов импорта. Если старые файлы выгрузки не удаляются и обмен запускается параллельно или с перехлёстом, возможна загрузка устаревшего пакета поверх нового — внешне это выглядит как «откат» данных. Стоит исключить одновременный запуск нескольких сеансов обмена и настроить регламентную очистку временных каталогов.

Как проверить, что версионность работает правильно

Проверка строится на контролируемом изменении. Выберите тестовый товар, измените в 1С одно поле (например, цену или остаток), выполните сеанс обмена и сверьте результат на сайте. Затем проверьте обратный сценарий: создайте заказ на сайте и убедитесь, что он загрузился в 1С, а его статус после обработки в 1С вернулся на сайт.

Полезно посмотреть внутрь самих файлов обмена. В настройках узла можно включить сохранение файлов выгрузки в каталог. Откройте XML и проверьте: в файле только изменённые объекты, у элементов заполнены идентификаторы, атрибуты «Статус» и пометки удаления соответствуют ожиданиям. Если в файле изменений оказался весь каталог — регистрация изменений не работает, и 1С фактически делает полную выгрузку.

Контрольные точки

Как проверить результат

Состав XML-файла выгрузки
Норма

В файле только изменённые объекты

Тревожный признак

Файл содержит весь каталог при включённом режиме изменений

Журнал обмена в 1С
Норма

Сеансы завершаются без ошибок, объёмы пакетов небольшие

Тревожный признак

Повторяющиеся ошибки приёма, таймауты, ретрансляции

Данные на сайте после обмена
Норма

Изменения появляются, остальные товары не затронуты

Тревожный признак

Товары деактивируются или цены откатываются

Номера сообщений узла обмена
Норма

Номер отправленного сообщения растёт, принятое подтверждение фиксируется

Тревожный признак

Номер принятого сообщения не меняется — сайт не подтверждает приём

Дополнительный контроль — журнал обмена на стороне Битрикс и логи импорта. Ошибки вида «файл не найден», «ошибка распаковки» или превышение лимита времени указывают на инфраструктурные проблемы, которые мешают подтверждению пакетов и ломают версионность косвенно.

Типичные ошибки и ограничения

Самая частая ошибка — включение режима изменений без предварительной полной выгрузки. Вторая по частоте — очистка регистрации изменений вручную (например, через обработки «чистки» планов обмена) без понимания последствий: изменения, накопленные к выгрузке, будут потеряны, и сайт их никогда не получит.

Типичные ошибки
01
Включение выгрузки только изменений без полной первичной выгрузки — сайт остаётся с устаревшим каталогом без видимых ошибок.
02
Деактивация отсутствующих в файле элементов при частичной выгрузке — массовое снятие товаров с публикации.
03
Параллельный запуск нескольких сеансов обмена — загрузка устаревших пакетов поверх актуальных и «откат» данных.
04
Ручное удаление регистрации изменений для «ускорения» — безвозвратная потера накопленных правок.
05
Изменение состава плана обмена без повторной полной выгрузки — рассинхронизация отдельных типов данных.

Важное ограничение: стандартный обмен не сравнивает версии одного и того же объекта «кто новее». Если один и тот же товар правится и в 1С, и на сайте, победит та сторона, чья выгрузка выполнена последней. Поэтому источник истины по каждому типу данных должен быть зафиксирован: товары и цены — в 1С, заказы создаются на сайте, статусы заказов — в 1С.

Маршрут решения

Как выбрать действие

Каталог небольшой, обмен раз в сутки, нагрузка не мешаетОставьте полную выгрузку — она проще и предсказуемее
Каталог крупный, обмен каждые 5–30 минутВключите выгрузку только изменений с полной выгрузкой по расписанию раз в сутки
На сайте массово деактивируются товары после обменаОстановите обмен и проверьте параметр обработки отсутствующих элементов в Битрикс
Изменения из 1С не доходят до сайтаПроверьте состав плана обмена, отборы и подтверждение приёма пакетов в журнале

Полная выгрузка против выгрузки изменений

Оба режима имеют право на существование, и часто их комбинируют: днём работает выгрузка изменений, ночью — полная выгрузка для гарантированной сверки. Такой гибрид страхует от накопленных рассинхронизаций, которые версионность сама по себе не ловит (например, если объект удалили на сайте вручную).

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

FAQ

Где именно в 1С включается выгрузка только изменений?

В карточке узла обмена с сайтом: раздел администрирования синхронизации данных, далее список обменов с сайтами или узлов плана обмена. Точный путь зависит от конфигурации — в УТ, КА и ERP названия разделов немного различаются, но узел обмена с сайтом ищется по слову «сайт» в настройках синхронизации.

Почему при режиме изменений выгружается весь каталог?

Чаще всего регистрация изменений была сброшена или сеанс обмена завершился с ошибкой, и 1С не получила подтверждения приёма. Также полный объём выгружается, если изменились отборы узла или выполнялась принудительная полная выгрузка. Проверьте журнал обмена и номера сообщений узла.

Опасно ли очищать регистрацию изменений в узле обмена?

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

Что делать, если товары на сайте деактивируются после обмена изменениями?

Остановите обмен и проверьте в настройках интеграции Битрикс параметр действия над элементами, отсутствующими в файле импорта. При частичных выгрузках он должен быть «ничего не делать». Затем выполните полную выгрузку, чтобы вернуть деактивированные товары.

Нужно ли настраивать версионность отдельно для заказов?

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

Как понять, что сайт подтвердил приём пакета?

В узле обмена 1С номер принятого сообщения должен увеличиваться после успешных сеансов. Если номер отправленного растёт, а принятого — нет, сайт не подтверждает загрузку: проверяйте ошибки импорта на стороне Битрикс, таймауты и права на запись временных каталогов.

Итог

Что важно запомнить

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