При использовании этого кода не сохраняется информация о кастумном поле
<?php
$order = Order::create($siteId, $USER->isAuthorized() ? $USER->GetID() : null);
$order->setField('CURRENCY', $currencyCode);
$basket = Basket::loadItemsForFUser(
Fuser::getId(),
Context::getCurrent()->getSite()
);
$order->setBasket($basket);
$collection = $order->getPropertyCollection(); // Получаем массив с дополнительными свойствами заказа
$propertyValue = $collection->createItem([
'ID' => 1,
'NAME' => 'Новое свойство',
'TYPE' => 'STRING',
'CODE' => 'NEW_PROP',
]);
$propertyValue->setField('VALUE', 'Свойство_3');
$collection->addItem($propertyValue);
// Сохраняем
$result = $order->save();
$orderId = $order->getId();
Само поле проверяется по $orderId:
<?php
$order = Order::load($orderId);
var_dump($order->getPropertyCollection()->toArray());
exit();