Документация периодически обновляется, стоит туда по-чаще заглядывать
для компонента bitrix:sale.order.ajax есть события - [URL=https://dev.1c-bitrix.ru/api_help/sale/events/events_components.php]https://dev.1c-bitrix.ru/api_help/sale/events/events_components.php[/URL], в частности OnSaleComponentOrderOneStepPersonType
Что-то писалось мною ранее, посмотрите
[CODE]AddEventHandler("sale", "OnSaleComponentOrderOneStepPersonType", "selectSavedPersonType");
function selectSavedPersonType(&$arResult, &$arUserResult, $arParams)
{
global $USER;
# если пользователь авторизовн, то посмотрим, сохраннен ли для него тип плательщика
if($USER->IsAuthorized())
{
$rsUser = $USER->GetByID($USER->GetID());
$arUser = $rsUser->Fetch();
$arResult['USER_INFO'] = $arUser;
$arResult['USER_INFO']['USER_TYPE_LIST'] = array(
'4' => 1, //fiz
'5' => 2, //ur
'6' => 3, //ip
);
# если задан тип плательщика у пользователя
if(!empty($arResult['USER_INFO']['UF_PERSONAL_TYPE']) && isset($arResult['USER_INFO']['USER_TYPE_LIST'][$arResult['USER_INFO']['UF_PERSONAL_TYPE']]))
{
# снимем активность у выбранного компонетом типа
$selectedType = 4;
foreach($arResult['PERSON_TYPE'] as $key => $type)
if($type['CHECKED'] == 'Y')
$selectedType = $key;
$arResult['PERSON_TYPE'][$selectedType]['CHECKED'] = '';
# и запишем наш, чтобы пользователь не смог его поменять
$arResult['PERSON_TYPE'][$arResult['USER_INFO']['USER_TYPE_LIST'][$arResult['USER_INFO']['UF_PERSONAL_TYPE']]]['CHECKED'] = 'Y';
$arUserResult['PERSON_TYPE_ID'] = $arResult['USER_INFO']['USER_TYPE_LIST'][$arResult['USER_INFO']['UF_PERSONAL_TYPE']];
}
}
}[/CODE]
для компонента bitrix:sale.order.ajax есть события - [URL=https://dev.1c-bitrix.ru/api_help/sale/events/events_components.php]https://dev.1c-bitrix.ru/api_help/sale/events/events_components.php[/URL], в частности OnSaleComponentOrderOneStepPersonType
Что-то писалось мною ранее, посмотрите
[CODE]AddEventHandler("sale", "OnSaleComponentOrderOneStepPersonType", "selectSavedPersonType");
function selectSavedPersonType(&$arResult, &$arUserResult, $arParams)
{
global $USER;
# если пользователь авторизовн, то посмотрим, сохраннен ли для него тип плательщика
if($USER->IsAuthorized())
{
$rsUser = $USER->GetByID($USER->GetID());
$arUser = $rsUser->Fetch();
$arResult['USER_INFO'] = $arUser;
$arResult['USER_INFO']['USER_TYPE_LIST'] = array(
'4' => 1, //fiz
'5' => 2, //ur
'6' => 3, //ip
);
# если задан тип плательщика у пользователя
if(!empty($arResult['USER_INFO']['UF_PERSONAL_TYPE']) && isset($arResult['USER_INFO']['USER_TYPE_LIST'][$arResult['USER_INFO']['UF_PERSONAL_TYPE']]))
{
# снимем активность у выбранного компонетом типа
$selectedType = 4;
foreach($arResult['PERSON_TYPE'] as $key => $type)
if($type['CHECKED'] == 'Y')
$selectedType = $key;
$arResult['PERSON_TYPE'][$selectedType]['CHECKED'] = '';
# и запишем наш, чтобы пользователь не смог его поменять
$arResult['PERSON_TYPE'][$arResult['USER_INFO']['USER_TYPE_LIST'][$arResult['USER_INFO']['UF_PERSONAL_TYPE']]]['CHECKED'] = 'Y';
$arUserResult['PERSON_TYPE_ID'] = $arResult['USER_INFO']['USER_TYPE_LIST'][$arResult['USER_INFO']['UF_PERSONAL_TYPE']];
}
}
}[/CODE]