Передача свойств товара в корзину D7 как решить проблему с затиранием?

Всем привет!
Есть проблема с новым ядром D7.
У меня в карточке товара есть свойство реквизиты.
5a8bc0f21590c410096420.png
Передача свойсвт товара в корзину осуществлена следующим способом:
$props = array();
$basketPropRes = Sale\Internals\BasketPropertyTable::getList(array(
  'filter' => array(
    "BASKET_ID" => $arBasket["ID"],
  ),
));
while ($property = $basketPropRes->fetch()) {
  unset($property["BASKET_ID"]);
  $props[] = $property;
}
$item = $basket->createItem('catalog', $_REQUEST["prod"]);
$basketPropertyCollection = $item->getPropertyCollection();
$basketPropertyCollection->setProperty($props);
$basketPropertyCollection->save();

При распечатке массива $props результат следующий:
Array
(
    [0] => Array
        (
            [ID] => 279563
            [NAME] => Склад
            [VALUE] => 20
            [CODE] => STORE
            [SORT] => 100
        )

    [1] => Array
        (
            [ID] => 279564
            [NAME] => Название склада
            [VALUE] => Склад СПб Центральный
            [CODE] => STORE_NAME
            [SORT] => 100
        )

    [2] => Array
        (
            [ID] => 279565
            [NAME] => Артикул
            [VALUE] => 327320097
            [CODE] => CML2_ARTICLE
            [SORT] => 100
        )

    [3] => Array
        (
            [ID] => 279566
            [NAME] => Реквизиты
            [VALUE] => Gerep
            [CODE] => CML2_TRAITS
            [SORT] => 100
        )

    [4] => Array
        (
            [ID] => 279567
            [NAME] => Реквизиты
            [VALUE] => a29c8f2f-b5b8-11e4-8e7b-00155dc0ba09
            [CODE] => CML2_TRAITS
            [SORT] => 100
        )

    [5] => Array
        (
            [ID] => 279568
            [NAME] => Реквизиты
            [VALUE] => Товар (пр. ТМЦ)
            [CODE] => CML2_TRAITS
            [SORT] => 100
        )

    [6] => Array
        (
            [ID] => 279569
            [NAME] => Реквизиты
            [VALUE] => Товар
            [CODE] => CML2_TRAITS
            [SORT] => 100
        )

)

Но когда я вывожу сохраненные свойства
dump($basketPropertyCollection->getPropertyValues());

получаю всего четыре свойства вместо шести, и затирается свойство реквизиты:
Array
(
    [STORE] => Array
        (
            [CODE] => STORE
            [ID] => 295667
            [VALUE] => 20
            [SORT] => 100
            [NAME] => Склад
        )

    [STORE_NAME] => Array
        (
            [CODE] => STORE_NAME
            [ID] => 295668
            [VALUE] => Склад СПб Центральный
            [SORT] => 100
            [NAME] => Название склада
        )

    [CML2_ARTICLE] => Array
        (
            [CODE] => CML2_ARTICLE
            [ID] => 295669
            [VALUE] => 327320097
            [SORT] => 100
            [NAME] => Артикул
        )

    [CML2_TRAITS] => Array
        (
            [CODE] => CML2_TRAITS
            [ID] => 295673
            [VALUE] => Товар
            [SORT] => 100
            [NAME] => Реквизиты
        )

)

Не понимаю что делать, в старом методе просто передавался массив и проблем не возникало, теперь что-то идет не так. Может кто-то подскажет в чем проблема или как делать правильно?
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vaajnur
веб-программист
заметь [CODE] => CML2_TRAITS у всех 3-х реквизитов одинаковые.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы