• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/update/crmentitycreatorstepper.php
  • Класс: BitrixSaleUpdateCrmEntityCreatorStepper
  • Вызов: CrmEntityCreatorStepper::getErrorOrders
private function getErrorOrders()
{
	$parameters = [
		"order" => ["ORDER_ID" => "ASC"],
		"limit" => self::MAX_ORDERS,
	];
	if ($this->params["last_order_id" ] !== null)
	{
		$parameters["filter"] = [">ORDER_ID" => $this->params["last_order_id"]];
	}

	$errorOrderIdList = [];
	$orderErrorIterator = self::getErrors($parameters);
	while($orderError = $orderErrorIterator->fetch())
	{
		$errorOrderIdList[] = $orderError["ORDER_ID"];
	}

	if ($errorOrderIdList)
	{
		$parameters = [
			"filter" => ["ID" => $errorOrderIdList]
		];

		$orders = OrderOrder::loadByFilter($parameters);
		$ordersIdList = [];
		foreach ($orders as $order)
		{
			$ordersIdList[] = $order->getId();
		}

		$diffOrderListId = array_diff($errorOrderIdList, $ordersIdList);
		foreach ($diffOrderListId as $diffOrderId)
		{
			$this->deleteError($diffOrderId);
		}

		return $orders;
	}

	return [];
}