Коллеги, очень прошу помощи, импортирую пользоватлей из 1С, они попадают почему то в группу EXTERNAL_AUTH_ID = sale, приходиться из базы их вручную удалять т.к. нельзя им задать в этом случае пароль,
Далее пишу в init.php создание профиля при регистрации, но работает он только на регистрацию вручную.
AddEventHandler("main", "OnAfterUserRegister", Array("MyClass", "OnBeforeUserRegisterHandler"));
class MyClass
{
function OnBeforeUserRegisterHandler(&$arFields)
{
//создаём профиль
//PERSON_TYPE_ID - идентификатор типа плательщика, для которого создаётся профиль
$arProfileFields = array(
"NAME" => "Профиль покупателя (".$arFields['LOGIN'].')',
"USER_ID" => $arFields['USER_ID'],
"PERSON_TYPE_ID" => 3
);
$PROFILE_ID = CSaleOrderUserProps::Add($arProfileFields);
//если профиль создан
if ($PROFILE_ID)
{
//формируем массив свойств
$PROPS=Array(
array(
"USER_PROPS_ID" => $PROFILE_ID,
"ORDER_PROPS_ID" => 3,
"NAME" => "Телефон",
"VALUE" => $arFields['WORK_PHONE']
),
array(
"USER_PROPS_ID" => $PROFILE_ID,
"ORDER_PROPS_ID" => 1,
"NAME" => "Ф.И.О.",
"VALUE" => $arFields['LAST_NAME'].' '.$arFields['NAME'].' '.$arFields['SECOND_NAME']
)
);
//добавляем значения свойств к созданному ранее профилю
foreach ($PROPS as $prop)
CSaleOrderUserPropsValue::Add($prop);
}
}}
Пробовал менять на
AddEventHandler("main", "OnAfterUserAdd", Array("MyClass", "OnBeforeUserAddHandler"));
Вызывает ошибки :(