Задать вопрос

Как обновить в торговом каталоге коэффициент единицы измерения?

Здравствуйте, перерыл весь интернет, и так не смог найти внятного, рабочего ответа, как обновить, или как добавить данный коэффициент...
При добавление товара параметр RATIO не работает
CCatalogProduct::Add(
                        array(
                            "ID" => $ID,
                            "QUANTITY" => $product->amount,
                            "RATIO" => $product->amount
                        )
                    );

При обновление так же не работает
CCatalogProduct::Update($ID, ["QUANTITY" => $product->amount, "RATIO" => $product->amount]);

Пробовал следующие методы, и они тоже не работают:
\Bitrix\Catalog\ProductTable::update(19612, Array('RATIO' => 2));
CCatalogMeasureRatioAll::update(19612, Array('RATIO' => 2));
CCatalogMeasureRatio::update(5, Array('RATIO' => 2));

Так как же все таки обновить, или добавить коэффициент?
  • Вопрос задан
  • 4606 просмотров
Подписаться 2 Средний 1 комментарий
Решения вопроса 1
@mafof Автор вопроса
Нашел ответ на свой вопрос, для того что бы изменить данный коэффициент необходимо его в начале добавить через функцию:
$ID = CCatalogMeasureRatio::add(Array('PRODUCT_ID' => 27387, 'RATIO' => 2));

Выше код выдаст нам необходимый ID для обновления коэффициента через функцию:
CCatalogMeasureRatio::update($ID, Array('PRODUCT_ID' => 27387, 'RATIO' => 5));

Если же ID коэффициента есть, его можно узнать через функцию:
CCatalogMeasureRatio::getList(Array(), array('IBLOCK_ID' => 12, 'PRODUCT_ID' => 27387), false, false);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix
ProductTable::update должен возвращать объект класса Result. Посмотрите что в нём

$updateResult = \Bitrix\Catalog\ProductTable::update(19612, Array('RATIO' => 2)); 

print_r($updateResult);
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы