• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/controller/product.php
  • Класс: BitrixCatalogControllerProduct
  • Вызов: Product::processBeforeUpdate
protected function processBeforeUpdate(EngineAction $action): Result
{
	$r = new Result();

	$arguments = $action->getArguments();

	$fields = $arguments['fields'];
	$productId = $arguments['id'];

	$iblockId = $this->getProductIblockId($productId);
	$iblockIdOrigin = $fields['iblockId'] ?? null;
	if ($iblockIdOrigin !== null)
	{
		$iblockIdOrigin = (int)$iblockIdOrigin;
	}

	if ($iblockIdOrigin && $iblockIdOrigin !== $iblockId)
	{
		$r->addError(
			new Error(
				sprintf(
					'Product - %d is not exists in catalog - %d', $productId , $iblockIdOrigin
				)
			)
		);
	}

	return $r;
}