Проектування власних властивостей інфоблоків 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Проектування власних властивостей інфоблоків 1С-Бітрікс
Середня
~2-3 робочих дні
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Проектування користувацьких властивостей інфоблоків 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.

Стратегія: властивості поділяються на три категорії:

  1. Фасетні — беруть участь у фільтрі користувача (бренд, колір, розмір, матеріал). Тип: Список або Довідник (HL-блок). Додаються до фасетного індексу.
  2. Інформаційні — відображаються на картці товару, не беруть участі у фільтрі (опис технології, склад, інструкція). Тип: Рядок, HTML/текст, Файл.
  3. Системні — використовуються програмно (прапори, ідентифікатори для інтеграцій). Тип: Рядок або Число. До фасету не додаються.

Множинні властивості: коли так, коли ні

Множинна властивість створює по одному рядку в 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 властивостей.