• Модуль: faceid
  • Путь к файлу: ~/bitrix/modules/faceid/lib/trackingvisitors.php
  • Класс: BitrixFaceidTrackingVisitorsTable
  • Вызов: TrackingVisitorsTable::createCrmLead
static function createCrmLead($visitor, $leadTitle)
{
	if (!is_array($visitor))
	{
		$visitor = BitrixFaceidTrackingVisitorsTable::getRowById($visitor);
	}

	if (empty($visitor))
	{
		return false;
	}

	$lead = array(
		'FACE_ID' => $visitor['FACE_ID'],
		'TITLE' => $leadTitle
	);

	// get lead source
	$leadSource = BitrixMainConfigOption::get('faceid', 'ftracker_lead_source');
	if($leadSource <> '')
	{
		// check if it still exists
		$sources = CCrmStatus::GetStatusList('SOURCE');
		if(isset($sources[$leadSource]))
		{
			$lead['SOURCE_ID'] = $leadSource;
		}
	}

	// create lead
	$entity = new CCrmLead(false);
	$entity->Add($lead, true, array('DISABLE_USER_FIELD_CHECK' => true));

	if ($lead['ID'])
	{
		$arErrors = array();
		CCrmBizProcHelper::AutoStartWorkflows(
			CCrmOwnerType::Lead,
			$lead['ID'],
			CCrmBizProcEventType::Create,
			$arErrors
		);
		if (class_exists('BitrixCrmAutomationStarter'))
		{
			$starter = new CrmAutomationStarter(CCrmOwnerType::Lead, $lead['ID']);
			$starter->setContextModuleId('faceid')->setUserIdFromCurrent()->runOnAdd();
		}
	}

	return $lead;
}