Когда сайт имеет в своем составе блок выбора города в шапке, то часто разумно бывает установить конкретное местоположение по умолчанию в процедуре заказа (компонент «sale.order.ajax»). Как это сделать — можно узнать из этой статьи. Для этого нужно использовать событие «OnSaleComponentOrderProperties». Если у вас задана, например, константа «CURRENT_CITY», в которой содержится код местоположения модуля интернет-магазина (например, «00001111111»), то код будет такой: \Bitrix\Main\EventManager::getInstance()->addEventHandlerCompatible(
'sale',
'OnSaleComponentOrderProperties',
'SaleOrderEvents::fillLocation'
);
class SaleOrderEvents
{
function fillLocation(&$arUserResult, $request, &$arParams, &$arResult)
{
$registry = \Bitrix\Sale\Registry::getInstance(\Bitrix\Sale\Registry::REGISTRY_TYPE_ORDER);
$orderClassName = $registry->getOrderClassName();
$order = $orderClassName::create(\Bitrix\Main\Application::getInstance()->getContext()->