Документация для разработчиков
Темная тема

compileEntity

\Bitrix\Iblock\ORM\ElementEntity|false public static
\Bitrix\Iblock\IblockTable::compileEntity(
	string|\Bitrix\Iblock\Iblock $iblockApiCode
);

Создает ORM-описание элементов инфоблока и класс для работы с ними. Статический метод.

Параметры

Параметр Описание
$iblockApiCode Символьный код API инфоблока из поля API_CODE либо объект \Bitrix\Iblock\Iblock. Для объекта метод загружает API_CODE при необходимости

Возвращаемое значение

Объект \Bitrix\Iblock\ORM\ElementEntity. Если инфоблок не найден, его API_CODE пуст или имя класса данных пусто, возвращает false.

Особенности

Параметр не имеет типа в PHP-объявлении. Для скалярного значения метод ищет запись по API_CODE; идентификатор ID и символьный код CODE для этого поиска не используются.

Имя класса имеет вид Bitrix\Iblock\Elements\Element{ApiCode}Table: первая буква кода становится заглавной. Если класс уже загружен, метод возвращает его ORM-описание.

При VERSION = 1 базовый класс — ElementV1Table, иначе — ElementV2Table. Метод добавляет связь SECTIONS с разделами и связи со свойствами по их символьным кодам. Свойства с пустым кодом пропускает.

Для пользовательского типа свойства метод вызывает GetORMFields, если такой обработчик задан. Ошибки ORM могут привести к исключениям \Bitrix\Main\ArgumentException, \Bitrix\Main\ObjectPropertyException и \Bitrix\Main\SystemException.

Пример

Пример выполняется в окружении с подключенным ядром Bitrix.

<?php

use Bitrix\Iblock\IblockTable;
use Bitrix\Main\Loader;

try
{
	if (!Loader::includeModule('iblock'))
	{
		echo 'Не удалось подключить модуль iblock';
		return;
	}

	$apiCode = 'Catalog'; // API_CODE существующего инфоблока
	$entity = IblockTable::compileEntity($apiCode);

	if ($entity === false)
	{
		echo 'Не удалось получить ORM-описание элементов';
		return;
	}

	echo 'ORM-описание элементов готово';
}
catch (\Throwable $exception)
{
	echo 'Ошибка: ' . htmlspecialchars($exception->getMessage(), ENT_QUOTES, 'UTF-8');
}


© «Битрикс», 2001-2026, «1С-Битрикс», 2026