В заказе создал свойство город, выбрал тип Location, но не могу понять как передать туда значение? Пробовал и id и название города, но после оформления заказа поле всё равно пустое.
Пользуюсь вот такой обверткой для добавления:
Через эту обвертку передаются поля:
И таким образом передаются все поля кроме города. Поле города в заказе остаётся пустое. В $arResult["CITY"] значение типа "Ростов-на-Дону".
Пользуюсь вот такой обверткой для добавления:
Код |
---|
function AddOrderProperty($code, $value, $order, $person = 1) { if (!strlen($code)) { return false; } if (CModule::IncludeModule("sale")) { if ($arProp = CSaleOrderProps::GetList(array(), array("CODE" => $code, "PERSON_TYPE_ID" => $person))->Fetch()) { if ($arOrderProps = CSaleOrderProps::GetByID($arProp["ID"])) { $db_vals = CSaleOrderPropsValue::GetList(array(), array('ORDER_ID' => $order, 'ORDER_PROPS_ID' => $arOrderProps['ID'])); if ($arVals = $db_vals->Fetch()) { return CSaleOrderPropsValue::Update($arVals['ID'], array( 'NAME' => $arVals['NAME'], 'CODE' => $arVals['CODE'], 'ORDER_PROPS_ID' => $arVals['ORDER_PROPS_ID'], 'ORDER_ID' => $arVals['ORDER_ID'], 'VALUE' => $value, )); } else { return CSaleOrderPropsValue::Add(array( 'NAME' => $arOrderProps['NAME'], 'CODE' => $arOrderProps['CODE'], 'ORDER_PROPS_ID' => $arOrderProps['ID'], 'ORDER_ID' => $order, 'VALUE' => $value, )); } } } } } |
Через эту обвертку передаются поля:
Код |
---|
AddOrderProperty("NAME", $arResult["NAME"], $orderId, $arResult["PERSON_TYPE_ID"]); AddOrderProperty("EMAIL", $arResult["EMAIL"], $orderId, $arResult["PERSON_TYPE_ID"]); AddOrderProperty("PHONE", $arResult["PHONE"], $orderId, $arResult["PERSON_TYPE_ID"]); AddOrderProperty("STORE", $arResult["STORE"], $orderId, $arResult["PERSON_TYPE_ID"]); AddOrderProperty("ADDRESS", $arResult["ADDRESS"], $orderId, $arResult["PERSON_TYPE_ID"]); AddOrderProperty("CITY", $arResult["CITY"], $orderId, $arResult["PERSON_TYPE_ID"]); |
И таким образом передаются все поля кроме города. Поле города в заказе остаётся пустое. В $arResult["CITY"] значение типа "Ростов-на-Дону".