• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/item.php
  • Класс: Bitrix\Crm\Item
  • Вызов: Item::deleteNotProvidedProducts
protected function deleteNotProvidedProducts($providedProducts): void
{
	if (!$this->getProductRows())
	{
		return;
	}

	$providedIds = [];
	foreach ($providedProducts as $providedProduct)
	{
		if ($providedProduct->getId() > 0)
		{
			$providedIds[] = $providedProduct->getId();
		}
	}

	foreach ($this->getProductRows() as $existingProduct)
	{
		$wasProvided = in_array($existingProduct->getId(), $providedIds, true);
		$wasSameProvided = $this->isSameProductInCollection($providedProducts, $existingProduct);

		if (
			!$wasProvided
			&& !$wasSameProvided
		)
		{
			$this->removeFromProductRows($existingProduct);
		}
	}
}