Экспорт из 1с

#
Экспорт из 1с
Как правильно передавать поля из 1с которые не прописаны в CommerceML, к примеру порядок сортировки, путь или ещё что-то. Возможно ли это реализовать ? И где можно почитать более подробно про принцип обмена 1с с вашей системой.
Модератор
#
Re: Экспорт из 1с
Про обмен читаем на сайте и у нас в документации.
Обработку своих полей можете делать через хуки, которые присутствуют в Shop_Item_Import_Cml_Controller
#
Re: Экспорт из 1с
Выдает ошибку хук

<?php
class Shop_Item_Import_Cml_Sortgroup
{
    static public function onAfterImportShopGroup($object, $args)
    {
        $oShopItem = $args[0];
        $oXmlItem = $args[1];

        foreach ($object->xpath($oXmlItem, 'Группа/Группа') as $ItemPropertyValue)
        {
            $sValue = strval($ItemPropertyValue->Сортировка);
            $oShopItem->sorting = $sValue();
            $oShopItem->save()
        }
        return true;
    }
}

Core_Event::attach('Shop_Item_Import_Cml_Controller.onAfterImportShopGroup', array('Shop_Item_Import_Cml_Sortgroup', 'onAfterImportShopGroup'));



Предупреждение: call_user_func() expects parameter 1 to be a valid callback, class 'Shop_Item_Import_Cml_Sortgroup' not found в файле /var/www/voltrum-by/data/www/test.voltrum.by/modules/core/event.php (строка 107)

Что я делаю не так ?
Модератор
#
Re: Экспорт из 1с
Нет вашего Shop_Item_Import_Cml_Sortgroup, куда вы этот код поместили?
#
Re: Экспорт из 1с
hostcms, все, дошло Цитата:
Пишем класс наблюдателя, размещаем его в modules/shop/item/observer.php
я думал все в той директории должно, перенёс, спасибо
Модератор
#
Re: Экспорт из 1с
vip.viktor,
нет, не там, класс то у вас называется Shop_Item_Import_Cml_Sortgroup, а не Shop_Item_Observer.
Размещение класса зависит от его имени, но если у вас хук для обмена с 1С, то его самого и вызов размещайте в коде настроек ТДС обмена и всё.
#
Re: Экспорт из 1с
hostcms, хорошо, просто если создаю как обычный хук, файл по пути и тд и тп, работает, а как правильно добавить его в код настроек ТДС ?
class Shop_Item_Import_Cml_Sortgroup
{
    static public function onAfterImportShopGroup($object, $args)
    {
        $oShopItem = $args[0];
        $GUID = strval($oShopItem->Ид);
        $sotr = strval($oShopItem->Сортировка);
        if ($sotr){
            $update = Core_QueryBuilder::update('shop_groups')
                ->columns(array('sorting' => $sotr))
                ->where('guid', '=', $GUID)
                ->execute();
        }
        return true;
    }
}
Core_Event::attach('Shop_Item_Import_Cml_Controller.onAfterImportShopGroup', array('Shop_Item_Import_Cml_Sortgroup', 'onAfterImportShopGroup'));
Модератор
#
Re: Экспорт из 1с
vip.viktor,
это всё поместить в начало кода настроек ТДС.
#
Re: Экспорт из 1с
hostcms, Поставил, но в этом случае ручной импорт не работает так как надо
Модератор
#
Re: Экспорт из 1с
vip.viktor,
про ручной речи не было, экспорт из 1С подразумевал автоматический обмен. Тогда нужно в отдельный файл и в bootstrap.php вызов.
Авторизация