mSync и Сбис - импорт остатков по складам
Здравствуйте!
К сожалению, период бесплатной поддержки автора закончился, поэтому пишу сюда. Есть ли здесь люди, разбирающиеся в мСинке? Нужен совет.
Задача была такая — синхронизировать Сбис и сайт. mSync для этого вполне подошел. Затем клиенту понадобилось выгружать остатки отдельно по каждому складу. И тут возник вопрос, как это сделать.
В файлах выгрузки сбиса нет списка складов с названиями и айдишками, в плагине пришлось намертво прописать айдишки складов. Дальше написал так:
Может, кто-нибудь писал уже подобные плагины? Можете подсказать, в чем я ошибаюсь?
К сожалению, период бесплатной поддержки автора закончился, поэтому пишу сюда. Есть ли здесь люди, разбирающиеся в мСинке? Нужен совет.
Задача была такая — синхронизировать Сбис и сайт. mSync для этого вполне подошел. Затем клиенту понадобилось выгружать остатки отдельно по каждому складу. И тут возник вопрос, как это сделать.
В файлах выгрузки сбиса нет списка складов с названиями и айдишками, в плагине пришлось намертво прописать айдишки складов. Дальше написал так:
// bdcb7226-8d84-434a-bb10-161dbd4c7896 - На Ленина
// 0a98ea85-fd18-42ec-8629-ab7c420c93b8 - На Столбова
if ($modx->event->name == 'mSyncOnProductOffers') {
if (!isset($xml->Склад)) return;
foreach ($xml->Склад as $warehouse) {
$warehouseId = (string)$warehouse->attributes()->ИдСклада;
$count = (string)$warehouse->attributes()->КоличествоНаСкладе;
if ($warehouseId == 'bdcb7226-8d84-434a-bb10-161dbd4c7896') {
$resource->set('sklad1', $count);
}
elseif ($warehouseId == '0a98ea85-fd18-42ec-8629-ab7c420c93b8') {
$resource->set('sklad2', $count);
}
}
$resource->save();
}
Сам оффер выглядит так:<Предложение>
<Ид>32efa14d-6eb7-48dc-86e1-ffa90e50f8b2</Ид>
<Наименование>Духи концентрированные "14" Кожа, Черный перец, Табак (10мл)</Наименование>
<БазоваяЕдиница Код="796" НаименованиеПолное="шт" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
<Штрихкод>4650139030070</Штрихкод>
<Цены>
<Цена>
<Представление> 0 RUB за PCE</Представление>
<ИдТипаЦены>Базовая</ИдТипаЦены>
<ЦенаЗаЕдиницу>2200.00</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>PCE</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
<Цена>
<Представление> 0 RUB за PCE</Представление>
<ИдТипаЦены>Основной прайс</ИдТипаЦены>
<ЦенаЗаЕдиницу>2200.00</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>PCE</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
</Цены>
<Склад ИдСклада="bdcb7226-8d84-434a-bb10-161dbd4c7896" КоличествоНаСкладе="11.0"/>
<Количество>11.0</Количество>
</Предложение>
Но ничего не работает. В логах модкса ошибки /core/xpdo/om/xpdoobject.class.php: 1333) Attempt to save lazy object: И далее — объект товара, но без склада. И все. В настройках импорта настроил связь Склад — поле товара sklad1.Может, кто-нибудь писал уже подобные плагины? Можете подсказать, в чем я ошибаюсь?
Комментарии: 1
Как оказалось, дело было не в плагине) Плагин работает. Оставляю решение для потомков)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.