• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/order/sendingchannels/manager.php
  • Класс: Bitrix\Crm\Order\SendingChannels\Manager
  • Вызов: Manager::bindChannelToOrder
public function bindChannelToOrder(Order\Order $order, AbstractChannel $channel) : bool
{
	$query = new ORM\Query\Query($this->getEntity());
	$query->addSelect('ID');
	$query->where(
		Entity\Query::filter()
			->where('ENTITY_TYPE', '=', $order::getRegistryEntity())
			->where('ENTITY_ID', '=', $order->getId())
	);

	$data = $query->fetch();
	if ($data)
	{
		Internals\SendingChannelsTable::delete($data['ID']);
	}

	$res = Internals\SendingChannelsTable::add([
		'CHANNEL_TYPE' => $channel::getType(),
		'CHANNEL_NAME' => $channel->getName(),
		'ENTITY_TYPE' => $order::getRegistryEntity(),
		'ENTITY_ID' => $order->getId(),
	]);

	return $res->isSuccess();
}