Ошибки обмена 1С с сайтом: почему ломается обмен данными и как его починить
05.07.2026
Коротко: обмен 1С с сайтом ломается редко из-за «поломки» самой связки. В девяти случаях из десяти причина механическая: выгрузка не укладывается в лимиты сервера, каталог обмена недоступен на запись, файл выгрузки оборвался на середине, поменялись реквизиты подключения или в 1С изменили структуру номенклатуры. Чинить нужно по журналу обмена, а не наугад: сначала определить, на каком шаге всё встало, и только потом трогать настройки. Ниже — типовые ошибки, их причины и порядок диагностики.
Содержание:
- Как устроен обмен и где он обрывается
- Ошибки на стороне 1С
- Ошибки на стороне сайта
- Таблица типовых ошибок обмена
- Когда обмен идёт, но данные приходят неправильные
- Как найти причину: порядок диагностики
- Чего делать не стоит
- Чек-лист профилактики
- Частые вопросы
Как устроен обмен и где он обрывается
Обмен между 1С и сайтом на Битрикс — это не одно действие, а цепочка из четырёх шагов. Сначала 1С формирует файлы выгрузки в формате CommerceML: описание товаров, свойства, цены, остатки, картинки. Затем эти файлы передаются на сайт по HTTP небольшими порциями. Дальше сайт разбирает их и записывает данные в инфоблок. И только в конце обмен подтверждается — узел в 1С отмечает, что порция принята.
Понимание этой цепочки экономит часы диагностики, потому что каждый шаг ломается по-своему. Если выгрузка не сформировалась, проблема внутри 1С и до сайта дело даже не дошло. Если файлы ушли, но сайт вернул ошибку, смотреть надо на сервер. Если данные записались, но не те, значит, обмен технически исправен, а проблема в настройке соответствий и свойств.
Отдельный источник путаницы — то, что обмен обычно идёт по расписанию и в фоне. Пользователи узнают о сбое не в момент ошибки, а через день-два, когда на сайте видны старые цены или пропавшие позиции. Поэтому первое, что нужно выяснить при разборе, — не «что сломалось сейчас», а «когда прошёл последний успешный обмен». Как обмен настраивается изначально, подробно разобрано в статье настройка обмена 1С и Битрикс.
Ошибки на стороне 1С
Не существует каталог обмена. Классическая ошибка при выгрузке в файл: путь в настройках узла указан на папку, которой уже нет, или на сетевой диск, который не подключён у пользователя, запустившего обмен. Особенно часто вылезает после переустановки рабочего места или смены сервера 1С — путь остался старый.
Ошибка формата файла обмена. Возникает, когда версия CommerceML на стороне 1С и на стороне сайта не совпадают либо когда файл выгрузки оборвался. Битрикс в такой ситуации сообщает, что не может разобрать XML, а причина обычно в том, что выгрузка прервалась по тайм-ауту и файл физически неполный.
Не заполнены реквизиты подключения. Адрес сайта, логин и пароль пользователя обмена хранятся в узле. Смена пароля администратора сайта, переезд на HTTPS или изменение адреса без правки настроек узла мгновенно останавливают обмен — с сайта возвращается ошибка авторизации.
Изменилась структура номенклатуры. Если в 1С переименовали или пересоздали группу товаров, добавили новый вид характеристики, поменяли тип цены, обмен может пройти технически успешно, но на сайте появятся дубли разделов и товаров. Формально это не ошибка — это несовпадение справочников.
Обмен запущен от пользователя без прав. Регламентное задание в 1С выполняется под конкретным пользователем. Если у него нет прав на чтение нужных справочников, выгрузка сформируется пустой или частичной, и сайт добросовестно применит эту пустоту.
Ошибки на стороне сайта
Тайм-аут и лимиты PHP. Самая частая причина обрывов на больших каталогах. Порция данных не успевает обработаться за отведённое время выполнения скрипта или упирается в лимит памяти, обмен падает на середине, а следующий запуск начинает всё заново и падает в той же точке. Внешне это выглядит как «обмен идёт бесконечно и никогда не завершается».
Нет прав на запись в каталог обмена. Сайт принимает файлы во временную папку внутри upload. Если после переезда или восстановления из копии права на неё сбились, файлы просто не сохраняются, а обмен возвращает ошибку записи.
Кончилось место на диске. Выгрузки с картинками весят прилично, а старые файлы обмена не всегда чистятся. Когда место заканчивается, обмен обрывается без внятного сообщения — в журнале видно только незавершённый шаг.
Не выполняются агенты и cron. Если обмен инициируется по расписанию с сайта, а агенты Битрикса выполняются «на хитах» и посещаемость низкая, задание может не запускаться сутками. Формально ошибки нет, но обмена тоже нет.
Ограничения хостинга. Часть хостингов режет длительные HTTP-запросы или ограничивает размер загружаемого файла. На виртуальном хостинге с жёсткими лимитами обмен большого каталога стабильно не проходит, и лечится это не настройками Битрикса, а тарифом или переносом на сервер с адекватными лимитами.
Таблица типовых ошибок обмена
| Что видно | Вероятная причина | Что делать |
|---|---|---|
| Каталог обмена не существует | Неверный путь в настройках узла 1С | Проверить путь и доступность папки у пользователя обмена |
| Ошибка формата файла обмена | Файл оборвался или не совпадают версии CommerceML | Перезапустить полную выгрузку, сверить версии обмена |
| Ошибка авторизации на сайте | Сменились логин, пароль или адрес сайта | Обновить реквизиты в узле, проверить доступ пользователю обмена |
| Обмен обрывается на одном и том же шаге | Тайм-аут или лимит памяти PHP | Уменьшить размер порции, поднять лимиты, вынести обмен в фон |
| Обмен «идёт» часами и не заканчивается | Порция не укладывается в лимиты, цикл повторяется | Разбить выгрузку, отключить выгрузку картинок в отдельный запуск |
| Ошибка записи файла | Нет прав на каталог обмена или нет места на диске | Проверить права на upload и свободное место |
| Последний обмен был несколько дней назад, ошибок нет | Не выполняется регламентное задание или агенты | Проверить расписание в 1С и cron на сайте |
| Обмен успешен, но товары не обновились | Не совпали идентификаторы или изменилась структура справочников | Сверить соответствия свойств и разделов, проверить XML_ID |
Разберём журнал обмена, найдём шаг, на котором он падает, и приведём выгрузку в рабочее состояние. Подробнее об услуге — интеграция сайта с 1С и настройка обмена.
Когда обмен идёт, но данные приходят неправильные
Отдельный класс проблем — обмен без единой ошибки, но с неверным результатом. Тут диагностика другая: смотреть надо не на журнал, а на соответствие справочников.
Дубли товаров и разделов. Появляются, когда у элемента на сайте потерялся или изменился внешний код. Обмен не находит существующую позицию по идентификатору и создаёт новую. Чаще всего это следствие ручного создания товаров в админке сайта в обход 1С.
Пропали позиции. Обычно из-за частичной выгрузки: в 1С отобрали не ту группу или обмен выгрузил только изменённые элементы, а на сайте настроена деактивация всего, чего нет в файле.
Съехали цены. Практически всегда — несовпадение типов цен: на сайте несколько ценовых уровней, а из 1С приходит один и записывается не туда, куда ждали. Сюда же относится расхождение по НДС, когда с одной стороны цена с налогом, а с другой без.
Остатки не соответствуют складу. Если складов несколько, а на сайт отдаётся сумма по всем, покупатель видит товар, которого нет в его городе. Что и как именно настраивается в выгрузке товаров, разобрано в статье выгрузка товаров из 1С на сайт.
Как найти причину: порядок диагностики
Работающий порядок разбора выглядит так. Первым делом смотрим дату последнего успешного обмена — она сразу показывает, деградация это или единичный сбой. Дальше открываем журнал обмена на сайте и находим шаг, на котором цепочка встала: авторизация, приём файла, разбор или запись.
Если обмен падает на приёме файла, проверяем права на каталог и свободное место. Если на разборе — открываем сам файл выгрузки и смотрим, целиком ли он выгрузился. Если на записи — почти всегда упираемся в лимиты выполнения, и решение лежит в размере порции, а не в настройках 1С.
Полезный приём: запустить обмен вручную по одной небольшой группе товаров. Если малая порция проходит, а полная выгрузка падает, вопрос гарантированно в объёме и лимитах, а не в структуре данных. Если падает и малая — дело в самих данных или в правах.
И только после этого имеет смысл трогать настройки. Правка лимитов до того, как найден падающий шаг, — самый быстрый способ потратить день и ничего не починить.
Чего делать не стоит
Важно. Не запускайте полную выгрузку «на всякий случай» каждый час. Мы разбирали проект, где обмен формально работал, но на каждом цикле переписывал элементы, которые не менялись: за один прогон уходило больше четырёхсот холостых обновлений. Сайт при этом считал товары изменёнными и гнал их на переиндексацию тысячами адресов, поисковик получал постоянно «обновляющийся» каталог, а нагрузка на сервер держалась круглосуточно. После настройки обмена так, чтобы обновлялись только реально изменившиеся позиции, холостые операции ушли в ноль.
Так же не стоит чинить обмен правкой данных руками в админке сайта. Это даёт видимость результата на один день: следующий обмен вернёт всё как было в 1С, а часть исправлений превратится в дубли. Источником истины должна оставаться одна система, и обычно это 1С. И не отключайте обмен «до разбора» на неделю: чем дольше расхождение, тем тяжелее первое восстановление.
Чек-лист профилактики
- Настроено уведомление о том, что обмен не проходил дольше суток.
- Обмен идёт порциями, размер порции подобран под лимиты сервера.
- Картинки выгружаются отдельно от товаров и не блокируют основной обмен.
- Права на каталог обмена и свободное место на диске проверяются регулярно.
- Реквизиты подключения обновляются при каждой смене пароля или адреса сайта.
- Изменения структуры номенклатуры в 1С согласуются с настройками сайта заранее.
- Товары не создаются вручную в админке сайта в обход 1С.
- Есть свежая резервная копия базы сайта до запуска полной выгрузки.
Если обмен уже развалился и данные разошлись, восстановление лучше начинать с полной выгрузки на тестовой копии, а не на боевом каталоге. Что вообще может синхронизироваться между системами, разобрано в статье интеграция 1С и Битрикс24.
Частые вопросы
Почему обмен 1С с сайтом обрывается на середине?
Чаще всего порция данных не укладывается в лимиты времени выполнения или памяти PHP. Обмен падает, следующий запуск начинает всё заново и падает в той же точке. Лечится уменьшением размера порции и корректировкой лимитов на сервере.
Что означает ошибка «каталог обмена не существует»?
Что в настройках узла 1С указан путь к папке, которой нет или которая недоступна пользователю, запустившему обмен. Обычно это происходит после переустановки рабочего места, переезда сервера или отключения сетевого диска.
Обмен прошёл без ошибок, но цены на сайте старые. Почему?
Технически обмен исправен, а проблема в соответствии справочников: из 1С приходит не тот тип цены, который сайт показывает в карточке, либо расходится учёт НДС. Проверять нужно настройку типов цен с обеих сторон.
Откуда берутся дубли товаров после обмена?
Из потерянного внешнего идентификатора: обмен не находит существующую позицию и создаёт новую. Обычно это следствие ручного создания или пересоздания товаров в админке сайта в обход 1С.
Как понять, что обмен вообще перестал запускаться?
По дате последнего успешного обмена в журнале. Если ошибок нет, а дата старая, значит, не выполняется регламентное задание в 1С или не отрабатывает расписание на стороне сайта.