Bitrix CMS Интеграция с 1с действия при загрузке объектов

Ситуация: Из 1с загружаются пользователи сайта. Есть тип события AUTOREG и привязанный к нему шаблон email сообщения. При загрузке пользователя должно отрабатывать это событие но в какой то момент оно перестало работать.

В файле \bitrix\local\import.php есть следующий код

protected function addUser($xml_id,$client,$info_ar)
    {
        $new_password = randString(7);
        $user = new CUser;
        $arFields = Array(
            "TITLE"             => $client,
            "LOGIN"             => $info_ar['phone'],
            "PERSONAL_PHONE"    => $info_ar['phone'],
            "ACTIVE"            => "Y",
            "GROUP_ID"          => array(6),
            "PASSWORD"          => $new_password,
            "CONFIRM_PASSWORD"  => $new_password,
            "XML_ID"            => $xml_id
        );

        //Lms
        $autoName = '';
        $autoLastName = '';
        $autoSecondName = '';

        if (!is_array($client) && (strlen($client) > 0)) {
            $arNames = explode(" ", $client);
            $autoLastName = $arNames[0];
            $autoName = $arNames[1];
            $autoSecondName = (!empty($arNames[2]) ? trim($arNames[2]) : '');
        }

        if(strlen($autoLastName) > 0)
            $arFields['LAST_NAME'] = $autoLastName;

        if(strlen($autoName) > 0)
            $arFields['NAME'] = $autoName;

        if(strlen($autoSecondName) > 0)
            $arFields['SECOND_NAME'] = $autoSecondName;

        if($info_ar['Адрес электронной почты контрагента для обмена электронными документами']){
            $arFields['EMAIL']=$info_ar['Адрес электронной почты контрагента для обмена электронными документами'];
        }
        //Lms
        if($info_ar['Город'])
            $arFields['PERSONAL_CITY']=$info_ar['Город'];
        if($info_ar['Юридический адрес контрагента'])
            $arFields['PERSONAL_CITY']=$info_ar['Юридический адрес контрагента'];

        if($info_ar['Фактический адрес контрагента']){
            $arFields['PERSONAL_STREET']=$info_ar['Фактический адрес контрагента'];
        }
        if($info_ar['Почтовый адрес']){
            $arFields['PERSONAL_MAILBOX']=$info_ar['Почтовый адрес'];
        }

        //Lms
        if($info_ar['Телефон контрагента'] && $info_ar['Личный мобильный']) {
            //wf old
            //$arFields['PERSONAL_MOBILE']=$info_ar['Сотовый контрагента'];

            $parsedPhone = Parser::getInstance()->parse($info_ar['Личный мобильный']);
            $arFields['PERSONAL_MOBILE'] = $parsedPhone->format(Format::E164);
        }

        if($info_ar['Другое (любая другая контактная информация)']){
            $arFields['PERSONAL_NOTES']=$info_ar['Другое (любая другая контактная информация)'];
        }
        if($info_ar['Сайт']){
            $arFields['PERSONAL_WWW']=$info_ar['Сайт'];
        }
        if($info_ar['Факс контрагента']){
            $arFields['PERSONAL_FAX']=$info_ar['Факс контрагента'];
        }
        if($info_ar['Номер факса']){
            $arFields['PERSONAL_FAX']=$info_ar['Номер факса'];
        }
        if($info_ar['Почтовый адрес организации']){
            $arFields['PERSONAL_MAILBOX']=$info_ar['Почтовый адрес организации'];
        }

        $arFieldsTmp = $arFields;
        unset($arFieldsTmp["PASSWORD"], $arFieldsTmp["CONFIRM_PASSWORD"]);

        $ID = $user->Add($arFields);
        if (intval($ID) > 0){
            $fieldSend=[
                "LOGIN" => $info_ar['phone'],
                "EMAIL" => $arFields['EMAIL'],
                "PASS"  => $new_password
            ];
            CEvent::Send("AUTOREG","s1",$fieldSend,"Y");

            $arGroups = array(
            array(
            'GROUP_ID' => 6,
            'DATE_ACTIVE_FROM'=>'',
            'DATE_ACTIVE_TO'=>''));
            CUser::SetUserGroup($ID, $arGroups);

            if (_DEVMODE) Diag\Debug::writeToFile($arFieldsTmp, $varName = date('Y-m-d H:i:s') . ' addUser() $arFieldsTmp', $fileName = "local/logs/" . date('Y-m-d') . "_import.log");

            return $ID;

        } else {
            Diag\Debug::writeToFile($arFieldsTmp, $varName = date('Y-m-d H:i:s') . ' ERROR addUser() $arFieldsTmp', $fileName = "local/logs/" . date('Y-m-d') . "_ERROR_import.log");
            $strDataTmp = is_array($user->LAST_ERROR) ? print_r($user->LAST_ERROR, true) : $user->LAST_ERROR;
            if (mb_stripos($strDataTmp, 'уже существует') === false) {
                toErrorLogAndMail($strDataTmp, 'import: ' . 'user->LAST_ERROR');
            } else {
                toErrorLogAndMail($strDataTmp, 'import: ' . 'user->LAST_ERROR', null, null, ['[email protected]', '[email protected]']);
            }
        }

    }

Но насколько я смог понять эта функция просто нигде не вызывается а используется стандартная которая из коробки. И сообщение не отправляется.

Вопрос где вызвать эту функцию чтоб оно работало?


Ответы (0 шт):