Здравствуйте.
Для формирования заказа в один клик использовал класс Bitrix\Sale\Order.
Возникла проблема с заполнением свойств заказа ФИО, телефон, почта покупателя.
В документации не нашел информации как заполнить именно эти поля, нашел только что их можно заполнить через метод getPropertyCollection().
Методом тыка удалось их заполнить так:
$collection = $order->getPropertyCollection();
$propertyValue = $collection->createItem([
'ID' => 1,
'NAME' => 'NAME',
'TYPE' => 'STRING',
'CODE' => 'PROP_Name',
]);
$propertyValue->setField('VALUE', $name);
$propertyValue = $collection->createItem([
'ID' => 2,
'NAME' => 'PHONE',
'TYPE' => 'STRING',
'CODE' => 'PROP_Phone',
]);
$propertyValue->setField('VALUE', $phone);
$propertyValue = $collection->createItem([
'ID' => 3,
'NAME' => 'EMAIL',
'TYPE' => 'STRING',
'CODE' => 'PROP_Email',
]);
$propertyValue->setField('VALUE', $email);
Заказы создавались корректно пока не обновил Битрикс.
Теперь выдает ошибку mysql
[Bitrix\Main\DB\SqlQueryException]
Mysql query error: (1062) Duplicate entry '1020-1' for key 'IX_SOPV_ORD_PROP_UNI' (400)
INSERT INTO `b_sale_order_props_value`(`ORDER_ID`, `ORDER_PROPS_ID`, `NAME`, `VALUE`, `CODE`, `XML_ID`) VALUES (1020, 1, 'NAME', 'email@email.ru', 'PROP_Name', 'bx_603f258e31ae7')
Заказ создается, но в свойствах заказа информация о покупателе не сохраняется.
Подскажите как правильно передать эти свойства.