Когда свойств заказа становится больше пяти-шести, плоский список полей превращается в стену ввода, на которой покупатель теряется. Группы свойств в 1С-Битрикс — штатный механизм, который делит форму оформления на смысловые блоки и задаёт порядок их вывода. Разберём, как он устроен и как его правильно настроить.
Что такое группы свойств заказа
В модуле sale каждое свойство заказа принадлежит одной из групп свойств. Группа — это контейнер, который на форме оформления выводится отдельным блоком: со своим заголовком и набором полей внутри. По умолчанию Битрикс создаёт две группы для каждого типа плательщика — «Личные данные» и «Адрес доставки», — но их состав, названия и количество редактируются свободно.
Технически связь хранится в таблице b2e_order_props (свойства) через поле PROPS_GROUP_ID, которое ссылается на группу в b_sale_order_props_group. Каждая группа привязана к конкретному типу плательщика (PERSON_TYPE_ID): у физлица и юрлица наборы групп независимы. Это важно помнить — переименовав группу «для физика», вы не затронете форму юрлица.
Где настраивать в админке
Управление живёт в разделе Магазин → Настройки → Свойства заказа (в старом ядре — Магазин → Настройка типов плательщиков и свойств). Страница разбита по типам плательщика; внутри каждого типа свойства сгруппированы визуально — вы видите заголовки групп и поля под ними.
- Кнопка «Добавить группу» создаёт новый блок — задаёте название и индекс сортировки.
- Каждое свойство в своей карточке имеет выпадающий список «Группа свойств» — им вы переносите поле из блока в блок.
- Порядок групп и порядок полей внутри задаются числовым полем «Сортировка» (шаг 100 — классика Битрикса, чтобы было куда вставлять промежуточные значения).
Тот же результат достижим программно через классы D7: \Bitrix\Sale\Internals\OrderPropsGroupTable для групп и \Bitrix\Sale\Property — для привязки свойств. Это удобно, когда структуру нужно раскатывать миграцией, а не руками.
Порядок и сортировка
Порядок вывода определяется двумя уровнями сортировки. Сначала Битрикс упорядочивает группы по их полю SORT, затем внутри каждой группы — свойства по их собственному SORT. Компонент sale.order.ajax отдаёт результат в шаблон уже отсортированным, поэтому вручную в шаблоне пересортировывать поля обычно не нужно.
| Что сортируем | Поле | Где задаётся |
|---|---|---|
| Группы (блоки) | SORT группы | Карточка группы |
| Свойства внутри блока | SORT свойства | Карточка свойства |
Практический совет: держите шаг 100 и оставляйте «дыры». Если блоки идут 100, 200, 300, вставить новый между вторым и третьим можно значением 250 без переприсвоения всех остальных. Хаотичные значения вроде 1, 2, 3 быстро заканчиваются и вынуждают перенумеровывать всё.
Отображение блоками в форме
На фронте группа рендерится как отдельный <div>-блок с заголовком группы и полями внутри. В шаблоне компонента sale.order.ajax за это отвечает файл template.php и подключаемый _order_props.php — там идёт перебор массива $arResult["ORDER_PROP"]["USER_PROPS_Y"] с разбивкой по arProperty["PROPS_GROUP_ID"].
Если группа не содержит ни одного отображаемого свойства (все скрыты или неактивны), её заголовок на форме не выводится — пустых блоков Битрикс не рисует. Это удобно: можно завести группу «Юр. реквизиты» и показывать её только тем, у кого выбран тип плательщика «Юридическое лицо».
ID, новые свойства в группе на форме не появятся. Перебирайте свойства циклом по группам, а не перечисляйте руками — тогда админские настройки будут работать без правок кода.Влияние на UX чекаута
Группировка — это не косметика, а прямой рычаг конверсии оформления. Мозг покупателя обрабатывает форму блоками: «контакты», «адрес», «комментарий». Когда поля свалены в один список, растёт когнитивная нагрузка и процент брошенных корзин.
- Логика группировки. Объединяйте поля по смыслу и по источнику данных: телефон и email — «Контакты»; город, улица, дом — «Доставка».
- Короткие блоки. 3–5 полей в группе читаются легче, чем один блок на десять строк.
- Последовательность. Сначала то, что покупатель знает наизусть (имя, телефон), потом — то, что требует раздумий (способ доставки, комментарий).
- Мобильный экран. На смартфоне блоки визуально «схлопывают» форму, давая ощущение прогресса — это снижает отказ.
Если групп много и все раскрыты сразу, форма всё равно кажется длинной. Тогда группы имеет смысл превратить в шаги (аккордеон или пошаговый чекаут) — но это уже уровень шаблона, а не админской настройки.
Частые ошибки и нюансы
Несколько граблей, на которые регулярно наступают при работе с группами:
- Забыли про тип плательщика. Настроили красивые группы у физлица, а юрлицо осталось с плоским списком. Проверяйте оба типа.
- Свойство «Местоположение». Свойства типа
LOCATION(город/регион) тянут за собой связанные поля доставки — держите их в одной группе, иначе автоподстановка стоимости доставки выглядит нелогично. - Дубли групп при импорте. Обмен с 1С через
1c_exchange.phpгрупп не трогает, но восстановление из бэкапа другого сайта может создать дублиPROPS_GROUP_ID— сверяйте после переноса. - Скрытые свойства в группе. Свойство с флагом «Не показывать» (
UTIL = Y) остаётся в группе, но на форму не идёт — не пугайтесь «пустой» группы в админке.
Итог
Группы свойств — простой, но недооценённый инструмент: он превращает хаотичный список полей в структурированную форму без единой строки кода. Ключевые моменты — группы привязаны к типу плательщика, порядок задаётся двухуровневой сортировкой (сначала группы, потом поля внутри), а корректный шаблон компонента sale.order.ajax должен перебирать свойства по группам, а не по жёстким ID.
Если чекаут нужно не просто перегруппировать, а перепроектировать под конверсию — с пошаговой логикой, условным показом блоков и связкой с доставкой и 1С — мы помогаем с этим на проектах: от аккуратной настройки формы до глубокой кастомизации и интеграций. Пишите, разберём вашу форму оформления и предложим структуру, которая не теряет покупателей на последнем шаге.
Частые вопросы
Чем группа свойств отличается от самого свойства?
Свойство — это отдельное поле ввода (имя, телефон, адрес). Группа — контейнер, который объединяет несколько свойств в один визуальный блок с общим заголовком на форме оформления.
Можно ли положить одно свойство в две группы сразу?
Нет. Каждое свойство привязано ровно к одной группе через поле PROPS_GROUP_ID. Чтобы показать поле в разных контекстах, придётся завести отдельные свойства.
Почему настроенные группы не видны на форме?
Скорее всего, вы настроили один тип плательщика, а на фронте выбран другой, либо в шаблоне поля выводятся вручную по ID, а не перебором по группам. Проверьте оба фактора.
Как задать порядок блоков в форме?
Порядок групп определяется полем «Сортировка» в карточке группы, а порядок полей внутри блока — сортировкой каждого свойства. Битрикс сортирует сначала группы, потом свойства внутри.
Что будет, если группа пустая?
Если в группе нет ни одного отображаемого свойства, её заголовок на форме не выводится вообще. Пустые блоки Битрикс не рисует, поэтому лишнего пространства не возникает.
Настройка групп требует программиста?
Нет, в базовом виде всё делается в админке: Магазин → Настройки → Свойства заказа. Программист нужен, только если шаблон формы кастомный и не перебирает свойства по группам автоматически.
Влияют ли группы на разные типы плательщиков одинаково?
Нет, группы независимы для каждого типа плательщика. Изменения в группах физлица не затрагивают форму юрлица — их состав и сортировку нужно настраивать отдельно.
Можно ли сделать группы сворачиваемыми блоками или шагами?
Штатно группы выводятся как обычные блоки друг за другом. Аккордеон или пошаговый чекаут реализуется доработкой шаблона компонента sale.order.ajax, а не настройкой в админке.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.