• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/placement.php
  • Класс: BitrixRestPlacementTable
  • Вызов: PlacementTable::checkUniq
static function checkUniq(MainEntityEvent $event, $add = false)
{
	$result = new MainEntityEventResult();
	$data = $event->getParameter('fields');

	$filter = array(
		'=APP_ID' => $data['APP_ID'],
		'=PLACEMENT' => $data['PLACEMENT'],
		'=PLACEMENT_HANDLER' => $data['PLACEMENT_HANDLER'],
	);

	if(!empty($data['ADDITIONAL']))
	{
		$filter = array(
			'LOGIC' => 'OR',
			array('=ADDITIONAL' => $data['ADDITIONAL']),
			$filter
		);
	}

	$dbRes = static::getList(array(
		'filter' => $filter,
		'select' => array('ID')
	));

	if($dbRes->fetch())
	{
		$result->addError(new MainEntityEntityError(
			"Handler already binded"
		));
	}
	elseif($add)
	{
		$result->modifyFields(array(
			"DATE_CREATE" => new MainTypeDateTime(),
		));
	}

	return $result;
}