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С для инфоблока 5:
- Инфоблок: 5
- Свойство:
VIDEO - Тип блокировки: Запретить любое обновление
- Параметры запроса:
type=catalog&mode=import
-
Защита символьного кода для всех, кроме администратора:
- Инфоблок: нужный инфоблок
- Свойство:
ELEMENT_CODE - Тип блокировки: Запретить любое обновление
- ID пользователей:
!1(все, кроме пользователя с ID 1)
Права доступа
Модуль поддерживает настройку прав доступа:
- Просмотр настроек
- Редактирование настроек
- Просмотр прав доступа
- Редактирование прав доступа


























