AWZ: Блокировщик свойств (awz.lockfieldsup1c)

GitHub - https://github.com/azahalski/awz.lockfieldsup1c/

Маркетплейс 1с-Битрикс:
https://marketplace.1c-bitrix.ru/solutions/awz.lockfieldsup1c/

Краткое описание

Модуль для CMS Bitrix, который позволяет заблокировать обновление определённых свойств инфоблоков при импорте данных из 1С или других внешних источников.

Подробное описание

Модуль AWZ: Блокировщик свойств предназначен для защиты свойств инфоблоков и разделов от нежелательного обновления при синхронизации данных из внешних источников (например, 1С).

Основные возможности:

  • Защита свойств элементов инфоблоков — предотвращает изменение указанных свойств при обновлении элементов
  • Защита свойств разделов инфоблоков — аналогичная защита для разделов
  • Гибкая настройка правил — возможность создавать множественные правила блокировки для разных инфоблоков и свойств
  • Фильтрация по параметрам запроса — правила могут срабатывать только при определённых параметрах URL (например, только при импорте из 1С)
  • Фильтрация по пользователям — возможность указать, для каких пользователей действует правило (с поддержкой инверсии)
  • Защита системных полей — поддержка блокировки системных полей (Название, Символьный код, Родительский раздел)

Принцип работы

Модуль регистрирует обработчики событий Bitrix:

  • OnBeforeIBlockElementUpdate — перед обновлением элемента запоминает текущие значения защищённых свойств
  • OnAfterIBlockElementUpdate — после обновления принудительно восстанавливает сохранённые значения
  • OnBeforeIBlockSectionUpdate — аналогично для разделов
  • OnAfterIBlockSectionUpdate — восстановление значений для разделов

Типы блокировки

  • Запретить любое обновление (all) — свойство всегда остаётся неизменным при внешнем обновлении

Настройки и конфигурация

Общие настройки

  • Включить модуль защиты полей — глобальный переключатель активности модуля

Правила блокировки

Для каждого правила настраиваются следующие параметры:

Параметр Описание
Инфоблок Инфоблок, к которому применяется правило
Свойство Символьный код свойства для блокировки (или системное поле)
Тип блокировки all — запретить любое обновление, empty — разрешить только для пустых значений
Параметры запроса Параметры URL через &, при наличии которых срабатывает правило. Пример: type=catalog&mode=import для 1С
ID пользователей Список ID пользователей через запятую. Символ ! в начале инвертирует список (правило действует для всех, кроме указанных)

Системные поля, доступные для блокировки

  • SECTION_NAME — Раздел: Название
  • SECTION_CODE — Раздел: Символьный код
  • SECTION_IBLOCK_SECTION_ID — Раздел: Родительский раздел
  • ELEMENT_NAME — Элемент: Название
  • ELEMENT_CODE — Элемент: Символьный код

Примеры использования

  1. Запрет обновления свойства видео из 1С для инфоблока 5:

    • Инфоблок: 5
    • Свойство: VIDEO
    • Тип блокировки: Запретить любое обновление
    • Параметры запроса: type=catalog&mode=import
  2. Защита символьного кода для всех, кроме администратора:

    • Инфоблок: нужный инфоблок
    • Свойство: ELEMENT_CODE
    • Тип блокировки: Запретить любое обновление
    • ID пользователей: !1 (все, кроме пользователя с ID 1)

Права доступа

Модуль поддерживает настройку прав доступа:

  • Просмотр настроек
  • Редактирование настроек
  • Просмотр прав доступа
  • Редактирование прав доступа
Для улучшения работы сайта используются cookie.
Подробнее об этом в Политике cookie.
Принять Настроить