Выгрузка длины, ширины, высоты и веса из 1с в параметры 1с Битрикс

Мой вариант обработчика выгружает "Вес" из реквизитов (предварительно нужно зайти в настройки выгрузки 1с и задать реквизит Вес - Вес), а "Габариты" будем выгружать из свойств товара (предварительно создал доп свойства типа "число" в 1с и заполнил их).

<?php

$addProps = CIBlockElement::GetList (

Array("ID" => "ASC"),

Array("IBLOCK_ID" => 118),  // ID инфоблока

false,

false,

Array(

'ID',

'PROPERTY_CML2_TRAITS',  // Реквизиты (для получения веса)

'PROPERTY_DLINA_MM',  // Свойство длины

'PROPERTY_SHIRINA_MM',  // Свойство ширины

'PROPERTY_VYSOTA_MM'  // Свойство высоты

)

);

while($ar_fields = $addProps->GetNext())

{

$arrDesc = $ar_fields['PROPERTY_CML2_TRAITS_DESCRIPTION'];

$arrValue = $ar_fields['PROPERTY_CML2_TRAITS_VALUE'];

$arrThmb = [];

forEach($arrDesc as $key=>$value ){

$arrThmb[$value] = $arrValue[$key];

}

$arrResult['Вес'] = $arrThmb['Вес'];

echo 'Товару с ID-' . $ar_fields['ID'] .' установлены параметры';

echo 'Вес:' . $arrResult['Вес'].' / ';

echo 'Длина:' . $ar_fields['PROPERTY_DLINA_MM_VALUE'].' / ';

echo 'Ширина:' . $ar_fields['PROPERTY_SHIRINA_MM_VALUET'].' / ';

echo 'Высота:' . $ar_fields['PROPERTY_VYSOTA_MM_VALUE'];

Cmodule::IncludeModule('catalog');

$PRODUCT_ID = $ar_fields['ID'];

$arFields = array(

'WEIGHT' => $arrResult['Вес'],

'WIDTH' => $ar_fields['PROPERTY_SHIRINA_MM_VALUE'],

'HEIGHT' => $ar_fields['PROPERTY_VYSOTA_MM_VALUE'],

'LENGTH' => $ar_fields['PROPERTY_DLINA_MM_VALUE']

);

CCatalogProduct::Update($PRODUCT_ID, $arFields);

}

?>