Проектирование пользовательских свойств инфоблоков 1С-Битрикс
Через 2 года после запуска типичного интернет-магазина на Битрикс инфоблок каталога выглядит так: 60 свойств, из которых 20 не заполнено ни у одного товара, 15 — строковые с повторяющимися значениями, 8 — с названиями вроде PROP_123 или MY_FIELD. Это результат органического роста без проектирования. Добавить свойство в Битрикс легко — в три клика. Удалить или переименовать без потери данных и поломки импорта из 1С — значительно сложнее.
Пространство имён и соглашения об именовании
Символьный код свойства (CODE) должен отражать семантику, быть уникальным в рамках инфоблока и совпадать с идентификатором в комплекте обмена с 1С (если он есть). Практические правила:
- Только латиница, цифры, подчёркивание
- Верхний регистр:
BRAND,COLOR,WEIGHT_KG - Составные названия через подчёркивание:
TECH_PROCESSOR,TECH_RAM_GB - Группировка по префиксу для тематических блоков:
SEO_H1,SEO_DESCRIPTION,BADGE_NEW,BADGE_SALE
Символьный код после создания свойства изменить нельзя без прямого обращения к b_iblock_property — стандартный интерфейс редактирования кода не предоставляет. Поэтому правильное именование на старте критично.
Обязательные vs. опциональные свойства
Обязательность свойства (IS_REQUIRED) нужно проставлять осознанно. Если свойство обязательно на уровне Битрикс, а импорт из 1С не передаёт его значение — элемент не сохранится, и обмен упадёт с ошибкой. Правило: обязательность лучше контролировать на уровне формы ввода или валидации в бизнес-процессе, а не на уровне инфоблока, если данные поступают из внешней системы.
Свойства для фасетного фильтра
Не все свойства должны участвовать в фасетном индексе. Фасет строится по свойствам типа «Список» и «Справочник» — добавление в индекс ненужных свойств увеличивает время пересоздания индекса и размер таблицы b_iblock_{ID}_index.
Стратегия: свойства делятся на три категории:
- Фасетные — участвуют в фильтре пользователя (бренд, цвет, размер, материал). Тип: Список или Справочник (HL-блок). Добавляются в фасетный индекс.
- Информационные — отображаются на карточке товара, не участвуют в фильтре (описание технологии, состав, инструкция). Тип: Строка, HTML/текст, Файл.
- Системные — используются программно (флаги, идентификаторы для интеграций). Тип: Строка или Число. В фасет не добавляются.
Множественные свойства: когда да, когда нет
Множественное свойство создаёт по одной строке в b_iblock_element_property на каждое значение. Это оправдано для:
- Цветов (товар выпускается в нескольких цветах)
- Тегов (статья относится к нескольким темам)
- Совместимых моделей (запчасть подходит к нескольким устройствам)
Не оправдано, когда значение одно и множественность добавлена «на всякий случай» — это увеличивает объём b_iblock_element_property без пользы.
Свойства-агрегаты и вычисляемые значения
Иногда в свойство инфоблока записывают вычисляемые данные: рейтинг товара, количество отзывов, «минимальная цена среди торговых предложений». Технически это работает, но создаёт задачу синхронизации: при добавлении нового отзыва нужно обновить свойство RATING через обработчик события. Альтернатива — вычислять значение в момент запроса через arResult компонента без хранения в свойстве. Что выбрать — зависит от частоты чтения vs. частоты изменения: если данные читаются 10 000 раз в сутки и обновляются 20 раз — хранение в свойстве и кеш оправданы.
Кейс: аудит и реструктуризация 78 свойств инфоблока
Магазин автозапчастей. Инфоблок «Каталог» с 78 свойствами. Задача — подготовить к обмену с новой конфигурацией 1С и включить фасетный индекс.
Аудит показал:
- 18 свойств не имели ни одного заполненного значения за всё время
- 12 строковых свойств-справочников (марка, модель, производитель) — кандидаты на HL-блоки
- 5 свойств с нечитаемыми кодами (
PROP_47,FIELD_2019) — невозможно сопоставить с полями 1С без дополнительного исследования - 3 дублирующихся свойства с разными кодами и одинаковым смыслом
После реструктуризации:
- 18 пустых свойств удалены (после проверки, что они не используются в коде)
- 12 свойств переведены на 4 HL-блока
- Проведена миграция данных в HL-блоки, старые строковые свойства очищены
- Символьные коды переименованы через прямое обновление
b_iblock_property - Итоговый инфоблок: 45 свойств, из них 14 в фасетном индексе
Состав работы по проектированию свойств
- Аудит существующих свойств (если рефакторинг)
- Проектирование схемы свойств с типами, кодами, настройками
- Распределение свойств по категориям: фасетные / информационные / системные
- Планирование HL-блоков для справочных свойств
- Документирование маппинга свойств инфоблока и полей 1С
- Написание скриптов миграции (при рефакторинге)
Срок: 3–7 рабочих дней для каталога до 100 свойств.







