Выгрузка из 1С может быть идеальной с точки зрения 1С, но нужно учитывать особенности архитектуры платформы Insales. Многие операции, которые возможны с товарами в 1С, не могут быть выполнены в Insales. В связми с этим есть несколько дополнительных требований.
После обмена товарами с 1С новые товары попадают в раздел Товары → Импорт/Экспорт, в категорию "1С Предприятие" и ее подкатегории:
Важно: новые товары автоматически на витрину не выставляются.
Посмотреть какие данные пришли при обмене можно, войдя в приложение 1С в раздел "Отчеты":
Ссылка на загруженные файлы находится напротив каждого отчета:
При обмене товарами загружается 2 файла:
Если offers.xml придет пустым - в магазине не создастся ни одного товара.
Также можно проверить ошибки, произошедшие в процессе обмена, нажав на "отчет":
Обмены могут находиться в разных статусах.
Запуск - когда 1С инициирует соединение, InSales проставляет статус "Запуск". Если данный статус отображается долго и не обновляется, это значит, что при проверке соединения 1С не дает нашим серверам никаких сигналов. Нужно проверять информацию со стороны 1С.
Ожидается подтверждение - от 1С не приходит подтверждение принятия заказов при их выгрузке. Можно попробовать запустить обмен вручную со стороны 1С.
Приложение заблокировано - приложение не оплачено, в связи с этим обмены не будут выполняться.
Завершен - обмен завершен.
Важно: цена товара является обязательной. В магазине товар без цены существовать не может. Соответственно, если из 1С цена не пришла - то товар не будет создан.
Также товар мог не создаться, если цена из 1С пришла, но ни одному типу цен, которые заданы товару в 1С, не соответствует цена продажи в магазине.
Понять какие типы цен пришли у товара из 1С можно по ID типа цены. Соответствие ID типов цен и их названий описано в самом начале файла offers.xml:
Соответствие типов цен в магазине типам цен из 1С задается в разделе "Типы цен" приложения:
Если у товара задано несколько типов цен, и сразу нескольким из них задана в соответствие цена продажи в магазине (цена продажи - на скриншоте выше это просто "Цена"), то использоваться будет первый тип цен.
Например, если в соответствии типам цен "Реализация клиенту кредит 5 дней" и "Розничная" выбрана "Цена", и данные типы цен заполнены у товара в 1С, то в качестве цены в магазине будет использоваться "Реализация клиенту кредит 5 дней".
У одного товара не может быть двух вариантов с полностью одинаковыми значениями свойств.
Если из 1С пришло несколько вариантов одного товара с одинаковыми значениями свойств (в 1С это называется характеристики), то создана будет только первая из них.
То, что несколько "товаров" являются разными вариантам одного и того же товара, определяется по полю Ид, точнее, по его части перед символом решетки (#). Если эти части одинаковы, то система понимает что это разные варианты одного товара:
Также интеграция поддерживает артикулы вариантов товара. Если у вас разные артикулы у вариантов товара, то можно использовать связку по артикулу и данные варианы свяжутся между собой.
По новому протоколу обмена (опознать можно по названиям import0_1.xml , offers0_1.xml) 1С передает данные о товарах "порциями", при этом InSales фактически не знает, какая из "порций" была последней, поэтому даже если в настройках приложения стоит разрешение удалять товары, этого не происходит, чтобы не удалить те товары, которые могут еще прийти в следующей "порции".
Если удалять приходящие при таком варианте обмена товары/модификации вручную, то они все равно будут восстанавливаться при следующем обмене, поскольку хранятся не только на платформе в разделе "Обмен данными", но и в памяти самого приложения.
Для удаления таких товаров/модификаций необходимо:
1. Выполнить два полных обмена
2. Все товары, непришедшие при первом из полных обменов будут собраны во вкладке "Старые товары". Зайти в эту вкладку и нажать кнопку "отметить товары как удаленные".
3. Запустить обмен товарами с 1С - в данном случае уже неважно, полный или частичный.
После этого обмена товары из вкладки "Старые товары" будут или удалены, если это разрешено в настройках приложения, или у них обнулятся остатки, если удаление не разрешено.