• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/order/builder/orderbuilderrest.php
  • Класс: Bitrix\Crm\Order\Builder\OrderBuilderRest
  • Вызов: OrderBuilderRest::removeClients
protected function removeClients()
{
	if($this->getSettingsContainer()->getItemValue('deleteClientsIfNotExists'))
	{
		$contactCompanyCollection = $this->getOrder()->getContactCompanyCollection();

		$internalIx = [];
		foreach($this->formData["CLIENTS"] as $clientFields)
		{
			if(!isset($clientFields['ID']))
				continue;

			$client = $contactCompanyCollection->getItemById($clientFields['ID']);

			if ($client == null)
				continue;

			$internalIx[] = $client->getId();
		}

		foreach ($contactCompanyCollection as $client)
		{
			if(!in_array($client->getId(), $internalIx))
			{
				$r = $client->delete();
				if (!$r->isSuccess())
				{
					$this->errorsContainer->addErrors($r->getErrors());
					return false;
				}
			}
		}
	}

	return true;
}