• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/calllist.php
  • Класс: Bitrix\Crm\Activity\Provider\CallList
  • Вызов: CallList::postForm
static function postForm(array &$activity, array $formData)
{
	$result = new Main\Result();
	$callListId = (int)$formData['callListId'];
	$callListSubject = (string)$formData['callListSubject'];
	$callListDescription = (string)$formData['callListDescription'];

	if($callListId === 0)
	{
		$result->addError(new Main\Error(Loc::getMessage('CRM_CALL_LIST_NOT_CREATED_ERROR')));
		return $result;
	}
	
	if($callListSubject == '')
	{
		$result->addError(new Main\Error(Loc::getMessage('CRM_CALL_LIST_SUBJECT_EMPTY')));
		return $result;
	}

	try
	{
		$callList = \Bitrix\Crm\CallList\CallList::createWithId($callListId);
	}
	catch (\Bitrix\Main\SystemException $e)
	{
		$result->addError(new Main\Error(Loc::getMessage('CRM_CALL_LIST_NOT_CREATED_ERROR')));
		return $result;
	}

	if($callList->getItemsCount() == 0)
	{
		$result->addError(new Main\Error(Loc::getMessage('CRM_CALL_LIST_NOT_CREATED_ERROR')));
		return $result;
	}

	$webformId = $formData['useWebform'] === 'Y' ? (int)$formData['webformId'] : null;
	$callList->setWebformId($webformId);
	$callList->persist();

	$activity['ASSOCIATED_ENTITY_ID'] = $callListId;
	//$activity['BINDINGS'] = $callList->convertItemsToBindings();
	$activity['SUBJECT'] = $callListSubject;
	$activity['DESCRIPTION'] = $callListDescription;
	$activity['OWNER_TYPE_ID'] = \CCrmOwnerType::CallList;
	$activity['OWNER_ID'] = $callListId;

	$activity['BINDINGS'] = array(
		array(
			'OWNER_TYPE_ID' => \CCrmOwnerType::CallList,
			'OWNER_ID' => $callListId
		)
	);

	return $result;
}