Здравствуйте! Помогите разобраться, пожалуйста, уже все испробовал, не понимаю что не так, в 1С есть товары, у них есть вес, все выгружается ок, но у товаров с предложениями вес задается в дополнительных реквизитах, они тоже выгружаются, но как мне сделать чтобы вес выгружался в системное поле, чтобы значения потом фигурировали и в доставке и в других модулях системы, использующие информацию о весе....
Пробовал через события в init.php OnBeforeIBlockElementUpdate пишу грубо говоря, естественно в рабочем коде со всеми проверками существования переменных и прочего:
жду что вес в торговых предложениях поменяется на значение из реквизита, но нет... ничего не происходит... Пробовал через методы модулей каталога и инфоблока CIBlockElement::SetPropertyValuesEx CCatalogProduct::Add но они походу вообще не срабатывают при импорте. Думал дело в том, что нужно подключать CModule::IncludeModule('xxx'); но что-то вообще никаких движений. Идеи кончились, может быть что-то кто-нибудь предложит, в каком направлении смотреть, может кто решал что-то подобное...
Пробовал через события в init.php OnBeforeIBlockElementUpdate пишу грубо говоря, естественно в рабочем коде со всеми проверками существования переменных и прочего:
Код |
---|
function changeSync(&$arFields) { if (@$_REQUEST['mode'] == 'import') { $arFields['BASE_WEIGHT'] = $arFields["PROPERTY_VALUES"][628]["n0"]["VALUE"] * 1000; } } |
жду что вес в торговых предложениях поменяется на значение из реквизита, но нет... ничего не происходит... Пробовал через методы модулей каталога и инфоблока CIBlockElement::SetPropertyValuesEx CCatalogProduct::Add но они походу вообще не срабатывают при импорте. Думал дело в том, что нужно подключать CModule::IncludeModule('xxx'); но что-то вообще никаких движений. Идеи кончились, может быть что-то кто-нибудь предложит, в каком направлении смотреть, может кто решал что-то подобное...