// Действия после создания Лида AddEventHandler("crm", "OnAfterCrmLeadAdd", "CheckOnBeforeCrmLeadAdd");
function CheckOnBeforeCrmLeadAdd($arFields)
{
$id_lid = $arFields["ID"]; // id лида
// запускаем скрипт паралельно, что бы дать возможность сформироваться всем данным
$php_file = $_SERVER["DOCUMENT_ROOT"]."/local/add_lid_email.php";
$cmd = "nohup php -f {$php_file} {$id_lid} > /dev/null 2>&1 &"; // Запускаем паролельное выполнение скрипта
exec($cmd);
}
// add_lid_email.php
<?php
$_SERVER["DOCUMENT_ROOT"] = "/home/bitrix/ext_www/site.com";
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTI", true);
define("NOT_CHECK_PERMISSIONS", true);
include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
global $USER;
$USER = new CUser;
$USER->Authorize(1);
sleep(1);
$id_lid = stripslashes($argv[1]); // id лида (stripslashes - снимаем экранирование )
CModule::IncludeModule('crm');
$lead = new \CCrmLead( false );
// Находим привязанную к лиду почту
$res = CCrmEvent::GetList(array(), array(
'ENTITY_TYPE'=> "LEAD",
'ENTITY_ID' => $id_lid,
'EVENT_TYPE' => "2", // тип почта
), false);
while($arEvent = $res->Fetch()){
if(!empty($arEvent["EVENT_TEXT_1"])){
$arUpdateData = array(
"COMMENTS" => $arEvent["EVENT_TEXT_1"], // Помещаем содержание письма в комментарий
);
$arOptions = array();
$upRes = $lead->Update($id_lid, $arUpdateData, true, true, $arOptions);
}
}
// Снять авторизацию
$USER->Logout();