У меня создаются покупатели из 1С, но при этом
1. EXTERNAL_AUTH_ID подставляется sale, изза этого пароль не даёт ввести
2. Прописываю в 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);
}
}}
UPDATE:
Причина в том что если вручную создавать то всё создаётся профиль автоматом, а если импорт пользоватля то нет :( или если его создать из админки
Пробовал через функции OnAfterUserAdd и OnBeforeUserAdd, ничего не вышло