Специальные константы в Битрикс — это предопределенные глобальные переменные, которые содержат важную информацию о текущем сайте, путях, языковых настройках и других параметрах системы. Они упрощают разработку, позволяя быстро получать доступ к ключевым данным без необходимости писать сложные запросы или вычисления. В этой статье мы рассмотрим основные константы, их назначение, примеры использования и результаты работы.

Ниже приведён обзор основных специальных констант 1С-Битрикс с кратким описанием, примером определения (если применимо) и возможным примером вывода. Дополнительно указаны типы констант (A, T, И, С), то есть когда и где они могут/должны быть объявлены:
- A (авто) – инициализируются системой автоматически в прологе (обычно в
header.php
послеrequire($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
). - T (страница) – можно определить на любой публичной странице до подключения пролога.
- И (инициализация) – можно определить в одном из файлов инициализации портала (например,
/bitrix/php_interface/init.php
или/bitrix/php_interface/ID_сайта/init.php
). - С (соединение с базой) – задаётся только в файле
/bitrix/php_interface/dbconn.php
, который хранит параметры подключения к базе данных.
1. SITE_ID
Тип: A (авто)
Описание: Идентификатор текущего сайта. Обычно имеет значение вроде s1
, s2
и т. д.
Пример использования:
echo "Текущий сайт: " . SITE_ID;
Пример вывода:
s1
2. SITE_DIR
Тип: A (авто)
Описание: Корневая директория (папка) сайта. Например, для основного сайта обычно /
, для дополнительных может быть /en/
, /de/
и т. д.
Пример использования:
echo "Корневая директория сайта: " . SITE_DIR;
Пример вывода:
/
3. SITE_SERVER_NAME
Тип: A (авто)
Описание: Доменное имя (серверное имя) текущего сайта, как оно задано в настройках сайта в административной части.
Пример использования:
echo "Домен сайта: " . SITE_SERVER_NAME;
Пример вывода:
example.com
4. SITE_TEMPLATE_PATH
Тип: A (авто)
Описание: Путь (относительно корня сайта) к активному шаблону сайта. Как правило, это что-то вроде /bitrix/templates/.default
.
Пример использования:
echo "Путь к шаблону сайта: " . SITE_TEMPLATE_PATH;
Пример вывода:
/bitrix/templates/.default
5. SITE_CHARSET
Тип: A (авто)
Описание: Кодировка сайта, например UTF-8
или windows-1251
.
Пример использования:
echo "Кодировка сайта: " . SITE_CHARSET;
Пример вывода:
UTF-8
6. FORMAT_DATE
Тип: A (авто)
Описание: Формат вывода даты, заданный для текущего сайта в настройках (например, DD.MM.YYYY
, MM/DD/YYYY
и т. д.).
Пример использования:
echo "Формат даты: " . FORMAT_DATE;
Пример вывода:
DD.MM.YYYY
7. FORMAT_DATETIME
Тип: A (авто)
Описание: Формат вывода даты и времени, заданный для текущего сайта (например, DD.MM.YYYY HH:MI:SS
).
Пример использования:
echo "Формат даты и времени: " . FORMAT_DATETIME;
Пример вывода:
DD.MM.YYYY HH:MI:SS
8. LANGUAGE_ID
Тип: A (авто)
Описание: Идентификатор текущего языка, например ru
, en
, de
и т. д.
Пример использования:
echo "Текущий язык: " . LANGUAGE_ID;
Пример вывода:
ru
9. LANG_CHARSET
Тип: A (авто)
Описание: Кодировка текущего языка (часто совпадает с SITE_CHARSET
).
Пример использования:
echo "Языковая кодировка: " . LANG_CHARSET;
Пример вывода:
UTF-8
10. SITE_TEMPLATE_ID
Тип: A (авто)
Описание: Идентификатор активного шаблона сайта (например, .default
).
Пример использования:
echo "ID шаблона: " . SITE_TEMPLATE_ID;
Пример вывода:
.default
11. START_EXEC_TIME
Тип: A (авто)
Описание: Отметка времени (с долями секунды) начала выполнения скрипта, используется во внутренней статистике и замерах производительности.
Пример использования:
echo "Время старта скрипта: " . START_EXEC_TIME;
Пример вывода:
1612371249.12345
12. B_PROLOG_INCLUDED
Тип: A (авто)
Описание: Флаг, указывающий, что пролог 1С-Битрикс был подключён (обычно проверяется в файлах, чтобы исключить прямой доступ).
Пример использования:
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
die("Пролог не подключён");
}
Пример вывода (обычно не выводится, но может быть true
):
true
13. SM_VERSION
Тип: A (авто)
Описание: Текущая версия главного модуля ядра 1С-Битрикс.
Пример использования:
echo "Версия Bitrix: " . SM_VERSION;
Пример вывода:
20.0.0
14. SM_VERSION_DATE
Тип: A (авто)
Описание: Дата релиза текущей версии главного модуля.
Пример использования:
echo "Дата релиза: " . SM_VERSION_DATE;
Пример вывода:
2021-12-30
15. ADMIN_SECTION
Тип: A (авто)
Описание: Показывает, находимся ли мы в административном разделе (true
/Y
) или нет.
Пример использования:
if(ADMIN_SECTION) {
echo "Мы в админке";
} else {
echo "Мы в публичном разделе";
}
Пример вывода:
Мы в публичном разделе
16. AUTH_404
Тип: T (страница) или И (инициализация)
Описание: Если установить define("AUTH_404", "Y");
, система не будет делать редирект на страницу авторизации, а будет отдавать код 404. Это может быть актуально при специфической логике авторизации.
Пример использования (на публичной странице до пролога):
define("AUTH_404", "Y");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
Пример вывода: В явном виде не выводится, но меняет поведение системы (код 404 вместо редиректа).
17. HELP_FILE
Тип: T (страница) или И (инициализация)
Описание: Указывает на файл справки, который нужно открыть для текущей страницы в административном разделе (кнопка «Помощь»).
Пример использования (в начале административной страницы или в init-файле):
define("HELP_FILE", "help_section/page_help.php");
Пример вывода: Не выводится напрямую, но используется в интерфейсе админки, при нажатии «Помощь».
18. NEED_AUTH
Тип: T (страница) или И (инициализация)
Описание: Если установить define("NEED_AUTH", true);
, то при входе на страницу пользователь должен авторизоваться (иначе будет перенаправлен на форму логина).
Пример использования:
define("NEED_AUTH", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
Пример вывода: Не выводится напрямую, влияет на поведение авторизации пользователя.
19. ERROR_EMAIL
Тип: И (инициализация)
Описание: Задаёт email-адрес, на который будут отправляться сообщения об ошибках системы. Обычно указывают в /bitrix/php_interface/init.php
.
Пример использования:
define("ERROR_EMAIL", "[email protected]");
Пример вывода: В явном виде не выводится, но ошибки будут отправляться на указанный адрес.
20. LOG_FILENAME
Тип: И (инициализация)
Описание: Путь к файлу, в который будут логироваться ошибки или иные события (если включён соответствующий функционал).
Пример использования (в init.php
):
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/logs/error.log");
Пример вывода: Не выводится на экран, но используется системой для записи лога.
21. STATISTIC_ONLY
Тип: И (инициализация)
Описание: При определении константы STATISTIC_ONLY
в значение "Y"
загружается только модуль статистики, без прочих модулей, которые могут потребоваться обычно. Используется для оптимизации производительности и отслеживания посещений.
Пример использования:
define("STATISTIC_ONLY", "Y");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
Пример вывода: Не выводится напрямую, влияет на загрузку модулей.
22. NO_KEEP_STATISTIC
Тип: И (инициализация)
Описание: Если определить NO_KEEP_STATISTIC
, то посещения (хиты) не будут учитываться модулем статистики.
Пример использования:
define("NO_KEEP_STATISTIC", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
Пример вывода: Не выводится, отключает учёт статистики для данной страницы.
23. STOP_STATISTICS
Тип: И (инициализация)
Описание: Останавливает работу модуля статистики (не загружает его вовсе).
Пример использования:
define("STOP_STATISTICS", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
Пример вывода: Не выводится, модуль статистики не подгружается.
24. NO_AGENT_STATISTIC
Тип: И (инициализация)
Описание: Запрещает сохранять статистику при выполнении агентов (задач, которые крутятся внутри системы).
Пример использования:
define("NO_AGENT_STATISTIC", true);
Пример вывода: Не выводится, влияет на поведение агентов.
25. NO_AGENT_CHECK
Тип: И (инициализация)
Описание: Запрещает проверку и запуск агентов на странице (агенты не будут выполняться при входе на страницу).
Пример использования:
define("NO_AGENT_CHECK", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
Пример вывода: Не выводится, влияет на логику запуска агентов.
26. NOT_CHECK_PERMISSIONS
Тип: T (страница) или И (инициализация)
Описание: Если определить, то система не будет проверять права доступа для текущего пользователя на данной странице (аккуратно с безопасностью!).
Пример использования:
define("NOT_CHECK_PERMISSIONS", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
Пример вывода: Не выводится, отменяет проверку прав для данной страницы.
27. ONLY_EMAIL
Тип: T (страница) или И (инициализация)
Описание: Если задать define("ONLY_EMAIL", true);
, то при регистрации пользователей будет использоваться только email как логин.
Пример использования:
define("ONLY_EMAIL", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
Пример вывода: Не выводится, влияет на логику регистрации.
28. BX_CRONTAB
Тип: И (инициализация)
Описание: Константа указывает, что скрипт выполняется в режиме CRON (например, при запуске агентов через cron на сервере).
Пример использования (в CRON-скрипте):
define("BX_CRONTAB", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
Пример вывода: Не выводится, система понимает, что идёт запуск из планировщика.
29. BX_FILE_PERMISSIONS
Тип: С (соединение с базой)
Описание: Разрешения (права) по умолчанию для вновь создаваемых файлов. Указывается в /bitrix/php_interface/dbconn.php
.
Пример использования (в dbconn.php
):
define("BX_FILE_PERMISSIONS", 0644);
Пример вывода:
0644
(Прямого вывода нет, но значение используется при создании новых файлов.)
30. BX_DIR_PERMISSIONS
Тип: С (соединение с базой)
Описание: Разрешения (права) по умолчанию для вновь создаваемых папок. Также прописывается в dbconn.php
.
Пример использования:
define("BX_DIR_PERMISSIONS", 0755);
Пример вывода:
0755
31. SM_SAFE_MODE
Тип: С (соединение с базой) или И (в некоторых версиях)
Описание: Включает «безопасный режим» на портале (не путать с PHP Safe Mode). Служит для ограничения некоторых операций. Обычно, если требуется, задаётся также в dbconn.php
.
Пример использования:
define("SM_SAFE_MODE", true);
Пример вывода: Не выводится, влияет на внутреннюю логику системы.
32. DIRECTORY_INDEX
Тип: С (соединение с базой)
Описание: Перечень файлов, которые считаются индексными при обращении к папке (обычно index.php
, index.html
).
Пример использования (в dbconn.php
):
define("DIRECTORY_INDEX", "index.php index.html");
Пример вывода:
index.php index.html
33. MYSQL_TABLE_TYPE
Тип: С (соединение с базой)
Описание: Тип таблиц, создаваемых в MySQL по умолчанию (например, INNODB
или MYISAM
).
Пример использования:
define("MYSQL_TABLE_TYPE", "INNODB");
Пример вывода:
INNODB
34. DBPersistent
Тип: С (соединение с базой)
Описание: Включает использование постоянных соединений к базе данных (не всегда рекомендуется).
Пример использования (в dbconn.php
):
define("DBPersistent", true);
Пример вывода:
true
35. BX_DISABLE_INDEX_PAGE
Тип: T (страница) или И (инициализация)
Описание: Если определено, при генерации ссылок может блокироваться переход на индексную страницу (иногда используют для SEO-оптимизации, чтобы не добавлять index.php
в URL).
Пример использования:
define("BX_DISABLE_INDEX_PAGE", true);
Пример вывода: Не выводится напрямую, влияет на формирование ссылок.
36. BX_NO_SQL_BACKTRACE
Тип: T (страница) или И (инициализация)
Описание: При ошибках SQL-запросов не выводить трассировку (backtrace) в отладочной информации.
Пример использования:
define("BX_NO_SQL_BACKTRACE", true);
Пример вывода: Не выводится, просто меняется поведение отладки.
37. TAGGED_user_card_size
Тип: T (страница) или И (инициализация)
Описание: Внутренняя «тегированная» константа, которая может влиять на размеры кешируемых данных (например, для карточек пользователей). Используется реже, часто в кастомных решениях.
Пример использования:
define("TAGGED_user_card_size", 1024);
Пример вывода:
1024
(Или любое другое значение, задаваемое разработчиком.)
38. BX_NO_ACCELERATOR_RESET
Тип: T (страница) или И (инициализация)
Описание: Если определено, Bitrix не будет сбрасывать кеш PHP-акселераторов (OPcache и т. д.) при обновлениях. Используется в редких случаях, например, на специфичных конфигурациях сервера.
Пример использования:
define("BX_NO_ACCELERATOR_RESET", true);
Пример вывода: Не выводится, влияет на механику сброса кеша.
39. PERFMON_STOP
Тип: T (страница) или И (инициализация)
Описание: Принудительно останавливает работу модуля «Монитор производительности» (PerfMon), если он активирован.
Пример использования:
define("PERFMON_STOP", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
Пример вывода: Не выводится, просто модуль не ведёт замеры на текущей странице.
Как работать с константами
- Авто (A): Вам не нужно их определять, они уже сформированы системой. Просто используйте для получения информации (например,
echo SITE_ID;
). - Страница (T): Определять до подключения пролога (
header.php
). Подходит для единичных страниц, где нужна особая логика. - Инициализация (И): Задавайте в файлах
/bitrix/php_interface/init.php
или/bitrix/php_interface/ID_сайта/init.php
. Это влияет на работу всего сайта (или конкретной языковой версии). - Соединение (С): Меняют только в
/bitrix/php_interface/dbconn.php
. Там же задаются основные параметры подключения к БД.
Используйте эти константы осторожно, так как некоторые из них сильно влияют на поведение системы, безопасность и производительность.