Товары и состав заказа
Товарная часть — самое трудоёмкое место любой интеграции: прежде чем перенести строку заказа, нужно понять, какой именно товар за ней стоит, и найти его во второй системе. Модуль делает это по правилам, которые вы задаёте на странице Корзина.
Переключатель обмена корзиной живёт в настройках заказа покупателя и заказа поставщику и по умолчанию выключен. Пока он не включён, страница «Корзина» ни на что не влияет: заказы будут уходить без товаров.
Поиск товара
Сопоставление работает по принципу «найти или создать». Сначала модуль ищет товар в обеих системах по выбранным полям связи:
- в Битрикс24 — по внешнему коду (XML_ID) или по строковому свойству выбранного инфоблока торгового каталога; для модификаций — по своему полю в инфоблоке торговых предложений;
- в МойСклад — по внешнему коду или внутреннему идентификатору позиции ассортимента.
Если XML_ID уже занят выгрузкой из 1С или интернет-магазина, связь настраивается на собственное свойство инфоблока — существующие интеграции при этом не ломаются.
После создания товара код связи дозаписывается обратно, чтобы следующий обмен нашёл товар, а не создал второй.
Создание недостающей номенклатуры
Если товара во второй системе ещё нет, модуль создаёт его сам и переносит название, описание, единицу измерения, картинки и характеристики.
Поддерживаются все виды позиций ассортимента:
| Позиция МойСклад | Соответствие в Битрикс24 |
|---|---|
| Товар | Элемент инфоблока торгового каталога |
| Модификация | Торговое предложение |
| Комплект | Элемент с составом |
| Услуга | Элемент-услуга |
Связанные сущности разворачиваются каскадом: у модификации сначала создаётся родительский товар, у комплекта — компоненты.
Куда попадут новые позиции, задаётся соответствием «тип товара → раздел инфоблока» и «тип товара → группа товаров МойСклад». Если соответствие не указано, позиции создаются в корне каталога.
Благодаря созданию на лету обмен заказами можно запустить, не выгружая заранее весь каталог: номенклатура наполняется по мере появления реальных заказов.
Модификации и характеристики
Свойства торговых предложений — цвет, размер, объём — сопоставляются с характеристиками модификаций МойСклад отдельной таблицей. Поддерживаются свойства-списки, привязки к элементам инфоблока и справочники highload-блоков.
Эта таблица используется в обе стороны: и при создании модификации в МойСкладе, и при создании торгового предложения в Битрикс24.
Цены, скидки и НДС
Позиция документа переносит товар, количество, цену, скидку и ставку НДС. Несколько правил, о которых лучше знать заранее:
- Скидка переносится только в процентах. Фиксированная скидка в рублях при выгрузке в МойСклад теряется.
- Признак «цена включает НДС» задаётся сразу для всего документа, а не для отдельной позиции.
- Ставка НДС берётся из справочника соответствий. Ставка без пары уходит как «Без НДС» — заполняйте справочник полностью.
- Единица измерения тоже берётся из справочника и применяется при создании номенклатуры.
Переносится цена в конкретном заказе, а не цена в каталоге: прайс-листы и остатки модуль не синхронизирует.
Построчное сравнение
При повторном обмене состав заказа сравнивается построчно: совпавшие позиции не трогаются, обновляются только изменившиеся, лишние удаляются из документа. Если состав не менялся, запроса на запись не будет вовсе — это экономит лимиты API МойСклад.