• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/order/builder/orderbuilder.php
  • Класс: BitrixSaleHelpersOrderBuilderOrderBuilder
  • Вызов: OrderBuilder::removeTradeBindings
protected function removeTradeBindings()
{
	if($this->getSettingsContainer()->getItemValue('deleteTradeBindingIfNotExists'))
	{
		$tradeBindingCollection = $this->order->getTradeBindingCollection();

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

			$binding = $tradeBindingCollection->getItemById($tradeBinding['ID']);

			if ($binding == null)
				continue;

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

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

	return true;
}