• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Badge/Badge.php
  • Класс: Bitrix\Crm\Badge\Badge
  • Вызов: Badge::getValuesMap
public function getValuesMap(): array;

abstract public function getFieldName(): string;
abstract public function getType(): string;

public function bind(ItemIdentifier $itemIdentifier, SourceIdentifier $sourceItemIdentifier): Result
{
	$data = [
		'TYPE' => $this->getType(),
		'VALUE' => $this->getValue(),
		'ENTITY_TYPE_ID' => $itemIdentifier->getEntityTypeId(),
		'ENTITY_ID' => $itemIdentifier->getEntityId(),
		'SOURCE_PROVIDER_ID' => $sourceItemIdentifier->getProviderId(),
		'SOURCE_ENTITY_TYPE_ID' => $sourceItemIdentifier->getEntityTypeId(),
		'SOURCE_ENTITY_ID' => $sourceItemIdentifier->getEntityId(),
	];

	$query =
		BadgeTable::query()
			->setSelect(['ID'])
			->setLimit(1)
	;
	foreach ($data as $column => $value)
	{
		$query->where($column, $value);
	}

	if ($query->exec()->fetch())
	{
		return new Result();
	}

	return BadgeTable::add($data);
}