Как изменить профиль покупателя в заказе с помощью Bitrix API?

Ситуация такова: в уже сформированном заказе необходимо сменить профиль покупателя с одного на другой (именно профиль покупателя, который привязан к пользователю, а не самого пользователя!). Это можно сделать в административном разделе в режиме редактирования заказа, но в моей ситуации необходимо реализовать данный функционал через API Bitrix.

В методе CSaleOrder::Update($orderID, $arFields) в массиве arFields нет поля Профиля покупателя, есть только USER_ID, что есть ID Пользователя.

Есть функция Sale\Helpers\Admin\OrderEdit::saveProfileData. Но не совсем разобрался, что именно она хочет в качестве аргументов.

Вопрос: каким образом можно сменить профиль через API?
  • Вопрос задан
  • 429 просмотров
Решения вопроса 1
Профиль пользователя не сохраняется в заказе, во время оформления, из указанного профиля копируются данные в свойства заказа и всё. В админке если не менять пользователя, то выбрать профиль во время редактирования заказа нельзя, можно только поправить свойства заказа. Если меняем пользователя или создаём новый заказ, то выбрать профиль можно. Функция \Bitrix\Sale\Helpers\Admin\OrderEdit::saveProfileData() сохраняет сам профиль, а не свойства заказа.

В вашем случае, нужно взять значения свойств из другого профиля и присвоить их вместо текущих.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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