Почему опасно использовать промежуточные системы при обмене данными между интернет-магазином и 1С (МойСклад)

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Илья Уланов
  • Группа: Клиент
  • Сообщений: 26
  • Регистрация: 11.01.2015

21.09.2016 15:46

Добрый день!

Проблема в следующем:

Есть интернет-магазин с двумя витринами (русская и английская), названия товаров по умолчанию на английском. При этом в английской витрине некоторые товары скрыты путём смены параметра видимость на "виден только как часть другого товара".
Далее настраиваем интеграцию с Моим Складом:

Прикрепленное изображение: мойсклад1.PNG

В поле адрес магазина пишем: https://hoobhookahs..../store-view/ru/ (И с этим один из первых вопросов, в данной строке 2 параметра /ru/, какой параметр указать правильно, чтобы синхронизировались все остатки по всем витринам?)

Предварительно сделан импорт товаров из панели Yandex.market с русской витрины https://hoobhookahs..../?store-view=ru, так как там видны все товары. Импорт прошёл успешно, все названия и параметры на русском. Если делать импорт с параметрами с английской витрины, импортируются не все товары.

Прикрепленное изображение: мойсклад2.PNG

Импорт произошёл в созданную автоматически папку root catalog/корневой раздел/...
Прикладываю также скрин, как выглядит карта разделов каталогов на сайте:

Прикрепленное изображение: мойсклад3.PNG

Далее делаю синхронизацию остатков.
На сайте создаются новые разделы начиная с root catalog/корневой раздел/...

Прикрепленное изображение: мойсклад4.PNG

В Моём Складе выводится диагностическое сообщение:
"Остатки: Получен ответ на запрос. Отправлен каталог товаров. Отправлены остатки. В интернет магазине произошла ошибка во время сеанса отправки остатков: failure По какой-то причине файл типа «catalog_products» с идентификатором «bd72d8f9-55bc-11d9-848a-00112f43529a» не был зарегистрирован в системе. Работа модуля невозможна. Обратитесь к разработчику.."

Как правильно синхронизировать остатки?

Спасибо!

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

06.10.2016 02:50

Я этот длинный текст не понимаю.
Нужно:
1. Описание проблемы одним конкретным предложением.
2. Что мне надо сделать, чтобы воспроизвести эту же проблему у себя.

#3 Илья Уланов
  • Группа: Клиент
  • Сообщений: 26
  • Регистрация: 11.01.2015

06.10.2016 14:43

1. При синхронизации остатков с Моим Складом происходит задваивание товаров на сайте.
2. Можем предоставить вам доступ к Моему Складу и сайту, последовательность действий описана выше.

Вот сообщение из отчёта Моего Склада:

Остатки: Получен ответ на запрос. Отправлен каталог товаров. Отправлены остатки. В интернет магазине произошла ошибка во время сеанса отправки остатков: failure По какой-то причине файл типа «catalog_products» с идентификатором «bd72d8f9-55bc-11d9-848a-00112f43529a» не был зарегистрирован в системе. Работа модуля невозможна. Обратитесь к разработчику..

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

06.10.2016 14:51

Выше описано то, что мне непонятно, поэтому я не думаю, что "это" является тем сценарием использования модуля "МойСклад" (1С), для которого я этот модуль разрабатывал.
Постарайтесь использовать модуль как-нибудь попроще.

#5 Илья Уланов
  • Группа: Клиент
  • Сообщений: 26
  • Регистрация: 11.01.2015

06.10.2016 15:06

У нас стандартная задача - есть склад с товаром, который надо списывать при оформлении заказа на сайте.

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

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

06.10.2016 18:39

Источником проблемы является первичный импорт товаров через промежуточную систему - Яндекс.Маркет.

Модуль Российской сборки Magento для обмена данными с 1C (МойСклад) при обмене данных наделяет учётные объекты (в том числе товары) метаинформацией (причём как на стороне Magento, так и на стороне учётной ситемы), которая, в частности помогает при последующих обменах сопоставлять учетные объекты в обеих системах.

При первичном импорте через экспорт из Magento в промежуточную систему (Яндекс.Маркет) и импорте из этой промежуточной системы в учётную систему (1С или МойСклад) эта метаинформация утрачивается, и при последующем прямом обмене между Magento и учётной системой модуль Magento просто не узнаёт товары, импортированные ранее через промежуточную систему, и поэтому переимпортирует (дублирует) товары.

Сопоставление учётных объектов между системами происходит вовсе не по артикулу товара, а по внутреннему идентификатору товара в учётной системе (в 1С, в частности, такой внутренний идентификатор называется "код"): так сделано по стандарту CommerceML 2 и, в частности, это помогает избежать ряда противоречий, в частности:
  • когда артикул товара меняется в интернет-магазине
  • когда артикул товара меняется в учётной системе
  • одна учётная система синхронизируется с несколькими магазинами
  • когда один магазин синхронизируется с несколькими учетными системами
  • когда одному товару в учётной системе по каким-то причинам соответствует несколько товаров в интернет-магазине (сложные, составные товары интернет-магазина)
  • когда одному товару в магазине по каким-то причинам соответствует несколько товаров в учётной системе (сложные, составные товары учётной системы)


Поэтому не используйте промежуточные системы для обмена данными (в том числе и первичного): выполняйте такой импорт напрямую.

Вообще, у меня есть типовая услуга: настройка обмена данными с 1С или МойСклад.

#7 Илья Уланов
  • Группа: Клиент
  • Сообщений: 26
  • Регистрация: 11.01.2015

17.11.2016 14:03

Добрый день!

Оплатили услугу синхронизации магазина с моим складом по данной теме месяц назад.
Ждём от вас информации по завершению работы.

Поделиться темой: