\Bitrix\Main\Loader::includeModule('sale');
use \Bitrix\Sale;
$order = Sale\Order::load(000);
$orderProperties = $order->getPropertyCollection();
/** @var Sale\PropertyValue $orderProperty */
foreach ($orderProperties as $orderProperty) {
print $orderProperty->getName() . ': ' . $orderProperty->getValue() . '<br>';
}
print '<br>';
$profileProperties = Sale\OrderUserProperties::getProfileValues(0000);
/** @var Sale\PropertyValueCollection $propertyCollection */
$propertyCollection = $order->getPropertyCollection();
foreach ($profileProperties as $propId => $propVal) {
$orderPropValue = $propertyCollection->getItemByOrderPropertyId($propId);
$orderPropValue->setValue($propVal);
}
$order->save();
$order = Sale\Order::load(000);
$orderProperties = $order->getPropertyCollection();
/** @var Sale\PropertyValue $orderProperty */
foreach ($orderProperties as $orderProperty) {
print $orderProperty->getName() . ': ' . $orderProperty->getValue() . '<br>';
}
print '<br>';
Думаю, что как-то можно выбрать профиль чтобы все данные автоматом подменились!
$propCollection = $order->getPropertyCollection();
$res = $propCollection->setValuesFromPost($formData, $files);
Правда, требует доп. вложений (облако, написание скрипта, парсинг выхлопа визивиг редактора).