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

Как обновить свойства заказа/сделки?

Обновляю заказа

// нахожу его по ID
$order = Sale\Order::load(5060);
$propertyCollection = $order->getPropertyCollection();
$ar = $propertyCollection->getArray();
// нахожу нужно свойство 
$somePropValue = $propertyCollection->getItemByOrderPropertyId(97);
print_r($somePropValue);
// устанавливаю его значение
$somePropValue->setValue("GA222222");
$order->save();


вижу что свойство добавилось
https://disk.yandex.ru/i/_iXJKviO6kSn9A

но в CRM оно не появилось. Почему?
https://disk.yandex.ru/i/HvFLU2nQiXNYVg

Как прокинуть дальше?
  • Вопрос задан
  • 251 просмотр
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
kikher
@kikher Автор вопроса
разобрался

$bindingResult = Bitrix\Crm\Order\EntityBinding::getList([
            'select' => ['*'],
            'filter' => [
                '=ORDER_ID' => $arResult['ORDER_ID'],
            ],
            'order' => ['ORDER_ID' => 'ASC'],
        ]);
        while ($bindingData = $bindingResult->fetch()) {
            if ($bindingData['OWNER_TYPE_ID'] == '2') {
                $dealId = $bindingData['OWNER_ID'];
            }

            // к ID, номеру ниже, нужно добавить свойсвто
            $dealId = $bindingData['OWNER_ID'];
        }
        $userId = 8820;

        $arOptions = array(
            "CURRENT_USER" => 8820 //из под кого обновляем
        );

        $deal = new  \CCrmDeal(false);
        $arUpdateData = array("UF_CRM_DEAL_3821563816087" => $arResult['ACCOUNT_NUMBER']); //поля которые обновляем
        $arOptions = array(); 

        $upRes = $deal->Update($dealId, $arUpdateData, true, true, $arOptions);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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