Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Создание внутреннего счета пользователя при регистрации

+11 голос
2

Задача автоматически создавать внутренний счет пользователя после совершения заказа на сайте и регистрации.

в init.php был добавлен код 

AddEventHandler("main", "OnAfterUserRegister", "OnAfterUserRegisterHandler");
function OnAfterUserRegisterHandler(&$arFields)
{
$newBudget = 100;
// если регистрация успешна то
if($arFields["USER_ID"]>0)
{
CModule::IncludeModule('sale');
$arBudget = Array(
"USER_ID" => $arFields['USER_ID'],
"CURRENCY" => "RUB",
"CURRENT_BUDGET" => $newBudget);
CSaleUserAccount::Add($arBudget);
}
return $arFields;
}


Если пользователь сам регистрируется на сайте, то счет создается и на него зачисляется 100 рублей.
Но если пользователь делает заказ и регистрируется автоматически в момент создания заказа, то внутренний счет не создается.

Как исправить ситуацию?

спросил 04 Апр, 19 от аноним
редактировать 08 Апр, 19 от root

2 Ответы

00 голосов

Событие OnAfterUserRegister вызывается из API CUser::Register.
А OnAfterUserAdd - из CUser::Add.

Второе событие будет срабатывать во всех случаях.

ответил 08 Апр, 19 от root (25,590 баллов)
00 голосов
А можно пропросить тебя подробнее описать как ты добился выполнение данного сценария?
ответил 09 Май, 19 от аноним

Похожие вопросы

0 голосов
1 ответ
спросил 09 Ноя, 13 от Kania (5,180 баллов)
0 голосов
2 ответов
0 голосов
2 ответов
0 голосов
5 ответов