Коротко
Обмен интернет-магазина на WooCommerce с 1С настраивают через специальный модуль интеграции, работающий по протоколу CommerceML — тому же, что и в 1С-Битрикс. Из 1С на сайт выгружаются товары, цены и остатки, а заказы возвращаются в 1С. Главное отличие от 1С-Битрикс: в WooCommerce обмен не встроен «из коробки», его добавляют модулем и настраивают сопоставление товаров вручную.
WooCommerce умеет обмениваться с 1С по CommerceML, но это делает модуль, а не ядро. От выбора и настройки модуля зависит стабильность обмена: небольшой каталог заработает за день, а большой каталог с вариациями потребует пошагового обмена, настройки сервера и аккуратного сопоставления свойств.
| Что передаётся | Направление | Где настраивается |
|---|---|---|
| Категории и товары | 1С → сайт | Узел обмена в 1С и модуль на сайте |
| Цены и остатки | 1С → сайт | Виды цен и склады в узле обмена |
| Изображения | 1С → сайт | Настройки выгрузки и модуля |
| Заказы | Сайт → 1С | Модуль и узел обмена |
| Статусы заказов | 1С → сайт | Модуль с поддержкой двустороннего обмена |
Основная мысль
Обмен с 1С — не галочка в настройках, а отдельная подсистема магазина, от которой зависят цены, остатки и заказы. Если он работает нестабильно, покупатель видит неправильную цену или заказывает товар, которого нет на складе.
В 1С-Битрикс обмен с 1С встроен в ядро, и разработчики платформы поддерживают его вместе с обновлениями. В WooCommerce ту же задачу решает сторонний модуль. Поэтому к его выбору, настройке и проверке стоит подходить так же серьёзно, как к выбору самой платформы.
Разберём, как устроен обмен, как его настроить по шагам, какие проблемы встречаются чаще всего и как понять, что обмен работает правильно.
Как работает обмен
Схема обмена одинакова для любого сайта, который поддерживает протокол CommerceML.
- В 1С настраивается узел обмена с сайтом (как для любого сайта на CommerceML).
- На WordPress устанавливается модуль интеграции с 1С для WooCommerce.
- 1С выгружает каталог и цены, модуль создаёт и обновляет товары WooCommerce.
- Заказы из WooCommerce передаются обратно в 1С.
Протокол CommerceML
CommerceML — стандарт обмена данными между 1С и сайтами. 1С формирует файлы с каталогом и предложениями (цены, остатки) и по очереди отправляет их на адрес обмена сайта. Сайт принимает файлы, разбирает их и обновляет товары. Заказы сайт отдаёт в том же формате, и 1С загружает их как документы.
Важно, что инициатором обмена выступает 1С: она сама обращается к сайту по расписанию или по команде. Сайт только принимает и отдаёт данные. Поэтому адрес обмена должен быть доступен из сети, где работает 1С.
Полная и частичная выгрузка
При первой настройке выгружается весь каталог — это полная выгрузка. Затем обычно передают только изменения: новые товары, изменённые цены и остатки. Частичная выгрузка идёт быстрее и меньше нагружает сервер, поэтому её можно запускать часто.
| Тип выгрузки | Когда нужна | Нагрузка |
|---|---|---|
| Полная | Первый запуск, серьёзные изменения структуры | Высокая |
| Только изменения | Ежедневная работа | Низкая |
| Только цены и остатки | Частое обновление в течение дня | Минимальная |
Какие конфигурации 1С поддерживают обмен
Узел «Обмен с сайтом» есть в типовых торговых конфигурациях 1С: «Управление торговлей», «Управление нашей фирмой», «Комплексная автоматизация» и других. Названия настроек в разных версиях отличаются, но логика одна: указать адрес сайта, логин и пароль, выбрать, что выгружать, и задать расписание.
Пошаговая настройка
Порядок действий для типового магазина на WooCommerce.
- Установите и активируйте модуль обмена 1С для WooCommerce.
- Задайте адрес обмена, логин и пароль в настройках модуля.
- В 1С создайте узел «Обмен с сайтом» с теми же данными.
- Настройте сопоставление свойств и категорий товаров.
- Запустите пробную выгрузку на небольшой группе товаров.
- Проверьте карточки, цены, остатки и передачу заказов.
Подготовка перед настройкой
До первой выгрузки полезно сделать несколько вещей:
- резервную копию сайта и базы данных — первая выгрузка может создать сотни товаров, и откатить их вручную сложно;
- навести порядок в номенклатуре 1С — убрать дубли, заполнить артикулы, проверить группы;
- решить, какие товары выгружать — часто на сайт идёт не вся номенклатура, а только отобранные группы;
- определить виды цен и склады — какая цена показывается на сайте и остатки каких складов учитываются;
- проверить сервер — лимиты PHP, место на диске, доступность адреса обмена.
Сопоставление структуры
Самая трудоёмкая часть — сопоставить структуру 1С со структурой WooCommerce. Группы номенклатуры становятся категориями, свойства — атрибутами, характеристики — вариациями.
| В 1С | В WooCommerce |
|---|---|
| Группа номенклатуры | Категория товара |
| Номенклатура | Товар |
| Характеристика | Вариация вариативного товара |
| Дополнительное свойство | Атрибут товара |
| Вид цены | Обычная или акционная цена |
| Остаток на складе | Запас товара |
Если в 1С свойства ведутся хаотично — например, «Цвет» записан пятью разными способами, — на сайте появятся пять разных атрибутов, а фильтр каталога перестанет работать. Поэтому структуру стоит привести в порядок до обмена, а не после.
Пробная выгрузка
Начинать лучше с одной небольшой группы товаров. На ней проверяют, как создаются карточки, правильно ли подтягиваются цены, остатки, изображения и вариации. Только после этого выгружают весь каталог. Так ошибки настройки обнаруживаются на десятке товаров, а не на тысячах.
Настройка расписания
После успешной полной выгрузки в 1С включают регулярный обмен. Типичная схема: цены и остатки — несколько раз в день, каталог целиком — реже, заказы — как можно чаще, чтобы менеджер быстро видел новые покупки в 1С.
Выбор модуля обмена
От модуля зависит, насколько стабильно и полно будет работать обмен. Модули различаются возможностями, качеством кода и поддержкой.
На что смотреть
- поддержка вариаций — нужна, если товары имеют характеристики: размер, цвет, объём;
- пошаговый обмен — модуль должен обрабатывать большие файлы частями, не упираясь в лимиты сервера;
- двусторонний обмен — выгрузка заказов и получение статусов из 1С;
- работа с изображениями — загрузка, обновление, удаление без накопления дублей;
- логи — подробный журнал обмена, по которому можно найти ошибку;
- обновления — совместимость с актуальными версиями WordPress и WooCommerce;
- поддержка автора — возможность получить помощь при проблемах.
Бесплатный или платный
| Критерий | Бесплатный модуль | Платный модуль или доработка |
|---|---|---|
| Простой каталог без вариаций | Обычно справляется | Избыточен |
| Большой каталог | Часто упирается в лимиты | Пошаговый обмен |
| Вариации товаров | Ограниченно | Полноценно |
| Двусторонний обмен статусами | Редко | Как правило, есть |
| Поддержка и обновления | Не гарантированы | Есть |
Для простого каталога бесплатного модуля может хватить. Но для больших объёмов, вариаций товаров и стабильного двустороннего обмена часто нужен платный модуль или индивидуальная доработка.
Частые проблемы
Большинство сбоев обмена сводится к нескольким типовым причинам.
- Тайм-ауты на большом каталоге — нужен пошаговый обмен и лимиты PHP.
- Несовпадение свойств и категорий 1С со структурой WooCommerce.
- Дубли товаров из-за смены идентификаторов при выгрузке.
- Проблемы с изображениями и вариациями товаров.
- Ограничения бесплатных модулей по функционалу обмена.
Тайм-ауты и нехватка памяти
Когда в каталоге тысячи товаров с изображениями, обработка одного файла может занять больше времени, чем разрешает сервер. Обмен обрывается, а часть товаров остаётся необновлённой. Решение — пошаговый обмен частями, увеличение memory_limit и времени выполнения PHP, а также хостинг, рассчитанный на нагрузку. Если сайт в целом работает медленно, стоит заняться и ускорением сайта: тяжёлые плагины и неоптимизированная база замедляют и обмен.
Дубли товаров
Каждый товар в 1С имеет внешний идентификатор, по которому модуль находит его на сайте. Если идентификатор меняется — например, после пересоздания номенклатуры или переноса базы, — модуль считает товар новым и создаёт дубль. Нужно зафиксировать стабильные внешние коды в 1С и проверить настройки сопоставления в модуле обмена.
Изображения и вариации
Изображения из 1С могут загружаться повторно при каждой выгрузке, быстро заполняя диск. Вариации создаются без атрибутов или с неправильными значениями, если характеристики в 1С заведены непоследовательно. Обе проблемы решаются настройками модуля и порядком в справочниках 1С.
Цены и остатки не совпадают
Чаще всего причина в том, что на сайт выгружается не тот вид цены или остатки не всех складов. Иногда цену меняют вручную на сайте, а следующая выгрузка её перезаписывает. Правило простое: цены и остатки правят только в 1С.
Что проверить после настройки обмена
Даже если выгрузка прошла без ошибок, результат стоит проверить вручную.
- Товары создались с правильными названиями, ценами и остатками.
- Категории и свойства сопоставлены корректно, без «каши».
- Изображения и вариации товаров подтянулись.
- Тестовый заказ ушёл в 1С и корректно там отобразился.
- Обмен проходит по расписанию без ошибок в логах.
Регулярный контроль
После запуска обмен нужно периодически контролировать. Удобно настроить уведомление об ошибках обмена и раз в неделю сверять количество товаров и заказов на сайте и в 1С. Любое изменение структуры номенклатуры в 1С — новые свойства, группы, виды цен — стоит сначала проверить на тестовом сайте.
Когда модуля недостаточно
Готовый модуль закрывает типовой сценарий: каталог, цены, остатки, заказы. Но у части магазинов требования шире, и тогда модуль дорабатывают или пишут обмен под задачу.
Признаки нестандартной задачи
- индивидуальные цены для оптовых покупателей из 1С;
- несколько складов с отдельным показом остатков по городам;
- комплекты и наборы, которые собираются из нескольких позиций;
- передача в 1С данных, которых нет в CommerceML, например особых реквизитов доставки;
- обмен с несколькими базами 1С или с другими учётными системами.
Варианты решения
Первый вариант — доработать существующий модуль: добавить обработку нужных полей и событий. Второй — построить обмен через REST API WooCommerce и собственную обработку на стороне 1С. Второй путь гибче, но требует участия специалиста по 1С. Выбор делают после аудита текущей схемы и объёма данных.
Если магазин ещё не запущен и обмен с 1С — одно из ключевых требований, его стоит закладывать в проект с самого начала. Как это делается, описано на странице интернет-магазина на WordPress.
WooCommerce или 1С-Битрикс для магазина с 1С
Если магазин только планируется, а обмен с 1С — ключевое требование, стоит сравнить платформы заранее.
Когда хватит WooCommerce
WooCommerce подходит для небольших и средних магазинов, где каталог умеренного размера, вариаций немного, а обмен сводится к выгрузке товаров, цен, остатков и возврату заказов. Небольшой магазин на WooCommerce стоит от 80 000 ₽, обмен с 1С — от 16 000 ₽, а срок разработки магазина с обменом — 4–6 недель. Подробнее о цене — в статье о стоимости магазина на WooCommerce.
Когда лучше 1С-Битрикс
1С-Битрикс стоит выбрать, если каталог большой, много вариаций и складов, нужен сложный двусторонний обмен, личные кабинеты оптовиков с индивидуальными ценами. Обмен там встроен в ядро и развивается вместе с платформой. Интернет-магазин на 1С-Битрикс стоит от 120 000 ₽, лицензия для магазина — от редакции «Малый бизнес» за 47 000 ₽.
| Критерий | WooCommerce | 1С-Битрикс |
|---|---|---|
| Обмен с 1С | Через модуль | Встроен в ядро |
| Каталог | Небольшой и средний | Любой, включая крупный |
| Стоимость разработки | Небольшой магазин от 80 000 ₽ | Магазин от 120 000 ₽ |
| Лицензия | Не нужна | От 47 000 ₽ («Малый бизнес») |
| Гибкость доработок | Высокая | Высокая |
Обмен заказами
Выгрузка каталога — половина обмена. Вторая половина — передача заказов в 1С, где по ним резервируют товар, выставляют счёт и оформляют отгрузку.
Что передаётся в заказе
| Данные заказа | Что с ними происходит в 1С |
|---|---|
| Покупатель: имя, телефон, почта | Поиск или создание контрагента |
| Товары, количество, цены | Строки документа «Заказ клиента» |
| Способ доставки и её стоимость | Отдельная строка или реквизит заказа |
| Способ оплаты и факт оплаты | Реквизиты и статус заказа |
| Комментарий покупателя | Комментарий документа |
Контрагенты
Главный вопрос при передаче заказов — как 1С сопоставляет покупателя с контрагентом. Если каждый заказ создаёт нового контрагента, справочник быстро засоряется. Обычно поиск ведут по почте или телефону, а для юридических лиц — по ИНН, если он собирается при оформлении заказа.
Статусы
При двустороннем обмене 1С возвращает на сайт статус заказа: подтверждён, оплачен, отгружен, выполнен. Покупатель видит его в личном кабинете или получает уведомление. Для этого нужно сопоставить статусы 1С со статусами WooCommerce и договориться, какая система меняет какой статус, чтобы они не перезаписывали друг друга.
Сервер и хостинг для обмена
Обмен с 1С — одна из самых тяжёлых операций интернет-магазина. От сервера зависит, пройдёт ли выгрузка за минуты или оборвётся на середине.
Что настроить
- лимиты PHP — memory_limit, max_execution_time, размер загружаемых файлов;
- размер порции обмена — в 1С и в модуле, чтобы один шаг укладывался в лимиты;
- место на диске — временные файлы обмена и изображения занимают много места;
- фоновые задачи — обработку тяжёлых операций лучше выносить в фон, а не выполнять в запросе от 1С;
- доступ к адресу обмена — защита от посторонних запросов, но без блокировки 1С.
Виртуальный хостинг или сервер
Для каталога в несколько сотен товаров обычно хватает хорошего виртуального хостинга. Когда товаров тысячи, а обмен идёт несколько раз в день, стоит перейти на виртуальный или выделенный сервер, где лимиты можно настроить под задачу.
Сценарий: магазин с вариациями
Разберём типичную ситуацию. Магазин одежды ведёт учёт в 1С: у каждой модели есть характеристики «Размер» и «Цвет», остатки хранятся на двух складах, на сайте нужно показывать общий остаток и розничную цену.
Что потребуется:
- Модуль с поддержкой вариаций, который превращает характеристики 1С в вариации WooCommerce.
- Единообразные значения размеров и цветов в 1С, чтобы на сайте работал фильтр.
- Настройка узла обмена: выгружать розничную цену и суммировать остатки двух складов.
- Пробная выгрузка на одной категории, проверка фильтров и карточек.
- Настройка передачи заказов с учётом выбранной вариации.
Если хотя бы один пункт пропустить, покупатель увидит товар без размеров, неправильный остаток или заказ попадёт в 1С без характеристики.
Типичные ошибки при запуске обмена
Кроме технических сбоев, есть ошибки организации, которые приводят к тем же последствиям.
- Выгрузка всего каталога сразу без пробы на небольшой группе — ошибки размножаются на тысячи карточек.
- Работа без резервной копии — откатить неудачную выгрузку становится трудно.
- Правка цен и остатков на сайте вручную — следующая выгрузка их перезапишет.
- Хаос в свойствах 1С — на сайте появляются дубли атрибутов и ломаются фильтры.
- Изменение структуры 1С без проверки — новые группы или свойства внезапно меняют каталог на сайте.
- Отсутствие контроля — о сбое узнают от покупателей, заказавших отсутствующий товар.
Чек-лист перед запуском обмена
- Сделана резервная копия сайта и базы данных.
- Номенклатура 1С очищена от дублей, артикулы заполнены.
- Выбраны группы товаров, виды цен и склады для выгрузки.
- Лимиты PHP и место на диске проверены.
- Модуль поддерживает нужные сценарии: вариации, пошаговый обмен, заказы.
- Пробная выгрузка на одной группе прошла успешно.
- Тестовый заказ появился в 1С с правильным контрагентом и товарами.
- Настроено расписание и уведомление об ошибках.
Частые вопросы
Можно ли настроить двусторонний обмен в WooCommerce?
Да. Каталог и цены идут из 1С, а заказы возвращаются обратно. Для этого нужен модуль, поддерживающий двусторонний обмен, и корректная настройка узла в 1С.
Чем обмен в WooCommerce отличается от 1С-Битрикс?
Протокол тот же — CommerceML. Но в 1С-Битрикс обмен встроен штатно, а в WooCommerce его добавляет отдельный модуль, который нужно выбрать, установить и настроить.
Подойдёт ли бесплатный модуль обмена?
Для простого каталога — возможно. Но для больших объёмов, вариаций товаров и стабильного двустороннего обмена часто нужен платный модуль или индивидуальная доработка.
Почему обмен тормозит на большом каталоге?
Из-за лимитов сервера. Решение — пошаговый обмен частями и увеличение memory_limit и времени выполнения PHP, а также хороший хостинг под нагрузку.
Нужен ли программист для настройки обмена?
Базовый обмен на готовом модуле можно настроить самостоятельно. Но сопоставление сложного каталога, вариации товаров и стабильный двусторонний обмен обычно требуют PHP-разработчика.
Что делать, если товары задваиваются?
Дубли возникают из-за смены идентификаторов при выгрузке. Нужно зафиксировать стабильные внешние коды в 1С и проверить настройки сопоставления в модуле обмена.
Как часто запускать обмен?
Зависит от того, как быстро меняются цены и остатки. Обычно цены и остатки обновляют несколько раз в день, каталог целиком — реже, а заказы забирают в 1С как можно чаще.
Можно ли выгружать на сайт не все товары из 1С?
Да. В узле обмена выбирают группы номенклатуры для выгрузки. Это удобно, если в 1С ведутся материалы, услуги или товары, которые не продаются в интернете.
Можно ли вести описания товаров на сайте, а не в 1С?
Можно, если модуль позволяет не перезаписывать описание при выгрузке. Тогда цены и остатки приходят из 1С, а тексты и SEO-поля контент-менеджер правит на сайте.
Что делать, если обмен перестал работать после обновления?
Проверить журнал обмена и совместимость модуля с новой версией WordPress и WooCommerce. Перед обновлениями стоит делать резервную копию и проверять обмен на тестовой копии сайта.
Итог
WooCommerce умеет обмениваться с 1С по тому же протоколу CommerceML, что и 1С-Битрикс, но делает это через сторонний модуль. Поэтому качество обмена определяется выбором модуля, порядком в номенклатуре 1С и настройкой сервера.
Надёжный обмен строится по простым правилам: резервная копия перед первой выгрузкой, проба на небольшой группе товаров, аккуратное сопоставление свойств, стабильные внешние коды, пошаговый обмен на большом каталоге и регулярный контроль журнала. Для крупных каталогов со сложной логикой стоит рассмотреть 1С-Битрикс, где обмен встроен в ядро.
Если нужно настроить или починить обмен WooCommerce с 1С, я как частный разработчик могу подобрать модуль, сопоставить структуру каталога, настроить сервер и довести обмен до стабильной работы. Работаю напрямую, без посредников. Подробнее — на странице доработки сайта на WordPress.


