D7

D7 в 1С-Битрикс: статьи, инструкции и примеры кода…

18 материалов

Схема кодирования и декодирования JSON через Bitrix Main Web Json в D7 Битрикс
Bitrix\Main\Web\Json — кодирование и декодирование

Обмен данными с внешними API, AJAX-обработчики, сохранение структурированных данных в текстовое поле — всё это регулярно требует кодирования и декодирования JSON. Разберём Bitrix\Main\Web\Json и чем он отличается от стандартных функций PHP. Базовое кодирование и декодирование <?php use Bitrix\Main\Web\Json; $jsonString = Json::encode([‘name’ => ‘Товар’, ‘price’ => 1500]); $data = Json::decode($jsonString); echo $data[‘name’]; Функционально класс — обёртка над стандартными json_encode и json_decode,…

D7 Обновлено: 23 августа 2026
Схема AJAX-контроллера D7: фильтры проверяют запрос, действие возвращает данные в едином формате JSON
Bitrix\Main\Engine\Controller — AJAX-контроллеры D7

Bitrix\Main\Engine\Controller — штатный способ обрабатывать AJAX-запросы в новом ядре 1С-Битрикс. Вместо самописного файла с подключением пролога вы описываете класс с методами-действиями, а ядро берёт на себя проверку токена, разбор параметров и формирование ответа. Разберём устройство контроллера, систему фильтров, возврат ошибок и способы вызова с фронтенда. Обзор остальных подходов к AJAX есть в статье AJAX в Битрикс. Минимальный контроллер <?php //…

D7 Обновлено: 21 августа 2026
Схема доступа к контексту выполнения через Bitrix Main Application в D7 Битрикс
Bitrix\Main\Application и контекст выполнения в D7

Bitrix\Main\Application — центральная точка доступа к контексту текущего выполнения в D7: запросу, ответу, сессии, подключению к базе. Разберём, зачем нужен этот класс, если к тем же данным можно обратиться через глобальные переменные, и когда это действительно важно. Получение экземпляра приложения <?php use Bitrix\Main\Application; $app = Application::getInstance(); $context = $app->getContext(); Application реализован как синглтон — один экземпляр на весь жизненный цикл…

D7 Обновлено: 23 августа 2026
Схема связи таблиц в ORM Битрикс: Reference соединяет сущности и позволяет выбрать данные одним запросом
referenceField и связи между таблицами в ORM Битрикс

Данные в базе разложены по таблицам, и почти любая полезная выборка требует их соединить: заказы вместе с пользователями, элементы вместе с разделами, записи справочника вместе с привязанными к ним значениями. В ORM 1С-Битрикс за это отвечает referenceField — описание связи между сущностями. Один раз описав связь, дальше вы обращаетесь к полям связанной таблицы как к своим. Разберём, как это устроено,…

D7 Обновлено: 21 августа 2026
Схема кеширования в Битрикс D7: при попадании в кеш данные берутся готовыми, иначе пересчитываются и сохраняются
Bitrix\Main\Data\Cache — кеширование в Битрикс D7

Кеширование в компонентах включается галочкой, а вот собственный код кешируется вручную. Тяжёлая выборка, обращение к внешнему API, сложный расчёт — всё это должно выполняться раз в час, а не при каждом открытии страницы. В D7 для этого есть Bitrix\Main\Data\Cache. Разберём базовый шаблон использования, работу с тегированным кешем и типичные ошибки, из-за которых кеш либо не работает, либо отдаёт устаревшие данные….

D7 Обновлено: 21 августа 2026
Схема хранения настроек в Битрикс: значения привязаны к модулю и читаются через класс Option
Bitrix\Main\Config\Option — настройки модулей в Битрикс

Настройки проекта надо где-то хранить: ключ доступа к внешнему сервису, идентификатор инфоблока, адрес получателя уведомлений, флаг включения интеграции. Класть их константами в init.php неудобно — при каждом изменении нужен разработчик. В 1С-Битрикс для этого есть штатное хранилище настроек модулей — Bitrix\Main\Config\Option. Разберём, как читать и записывать значения, чем он отличается от старого COption и как вывести свои настройки в административную…

D7 Обновлено: 21 августа 2026
Схема описания ORM-модели через DataManager с типами полей и связями в D7 Битрикс
Своя ORM-модель: DataManager и типы полей в D7

Собственная ORM-модель на D7 описывается классом-наследником Bitrix\Main\Entity\DataManager с явным перечислением полей таблицы и их типов. Разберём базовые типы полей, связи между сущностями и валидацию — то, ради чего вообще стоит писать ORM-модель, а не работать с таблицей через прямой SQL. Минимальная модель <?php namespace Vendor\Module; use Bitrix\Main\Entity\DataManager; use Bitrix\Main\Entity\IntegerField; use Bitrix\Main\Entity\StringField; use Bitrix\Main\Entity\DatetimeField; class TaskTable extends DataManager { public static…

D7 Обновлено: 23 августа 2026
Схема получения данных запроса через Bitrix Main Request в D7 API Битрикс
Bitrix\Main\Request — работа с HTTP-запросом в D7

Bitrix\Main\Request — D7-обёртка над глобальными массивами $_GET, $_POST, $_SERVER с встроенной базовой защитой от опасных символов. Разберём, чем это лучше прямого обращения к суперглобалам и какие ограничения стоит знать при работе с ней. Получение объекта запроса <?php use Bitrix\Main\Context; $request = Context::getCurrent()->getRequest(); $id = $request->get(‘id’); $action = $request->getPost(‘action’); Context::getCurrent() — правильный способ получить текущий запрос из любого места кода D7,…

D7 Обновлено: 23 августа 2026
Схема работы с датами через Bitrix Main Type DateTime в D7 API Битрикс
Bitrix\Main\Type\DateTime — работа с датами в D7

Bitrix\Main\Type\DateTime — обёртка над стандартным PHP DateTime, обязательная к использованию при работе с датами через D7 API. Разберём, зачем она вообще нужна, если в PHP уже есть свой класс дат, и какие ошибки чаще всего возникают при смешивании форматов. Почему нельзя просто передать обычный DateTime <?php use Bitrix\Main\UserTable; use Bitrix\Main\Type\DateTime; UserTable::update($userId, [ ‘LAST_LOGIN’ => new DateTime(), // именно Bitrix\Main\Type\DateTime ]);…

D7 Обновлено: 23 августа 2026
Схема ORM-выборки пользователей и элементов инфоблока через UserTable и ElementTable в Битрикс D7
UserTable и ElementTable — ORM D7 в Битрикс

UserTable и ElementTable — готовые ORM-классы D7 для работы с пользователями и элементами инфоблоков через единый интерфейс запросов. Разберём, чем выборка через ORM отличается от старых CUser::GetList/ CIBlockElement::GetList и когда это действительно удобнее. Выборка пользователей через UserTable <?php use Bitrix\Main\UserTable; $result = UserTable::getList([ ‘select’ => [‘ID’, ‘NAME’, ‘EMAIL’, ‘LAST_LOGIN’], ‘filter’ => [‘ACTIVE’ => ‘Y’, ‘>LAST_LOGIN’ => ‘2026-01-01’], ‘order’ => [‘LAST_LOGIN’…

D7 Обновлено: 23 августа 2026

О разделе «D7»

D7 в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.

Услуги
Инструменты
База знаний