В Битрикс для ограничения изменения описания детальной картинки при выгрузке товаров из 1С, вам потребуется внести изменения в процесс импорта.
Сначала, вам нужно будет создать обработчик для изменения параметров загрузки, который будет игнорировать поле описания и будет устанавливать значение из имени файла.
Для этого вы можете использовать обработчик события `OnBeforeIBlockElementAdd` или `OnBeforeIBlockElementUpdate` в вашем `init.php` или в вашем модуле. Вот пример кода, который может помочь:
```php
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "SetDetailPictureDescription");
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "SetDetailPictureDescription");
function SetDetailPictureDescription(&$arFields) {
if (isset($arFields["DETAIL_PICTURE"]) && is_array($arFields["DETAIL_PICTURE"])) {
$file = CFile::GetFileArray($arFields["DETAIL_PICTURE"]["VALUE"]);
if ($file) {
// Устанавливаем описание как название файла
$arFields["DETAIL_PICTURE"]["DESCRIPTION"] = $file["FILE_NAME"];
}
}
}
```
### Пояснения к коду:
1. **AddEventHandler**: Эта функция регистрирует ваш обработчик для событий добавления и обновления элементов инфоблока.
2. **SetDetailPictureDescription**: Ваша функция-обработчик, которая получает массив `$arFields` с данными о товаре.
3. **CFile::GetFileArray**: Используется для получения информации о загружаемом файле.
4. **$arFields["DETAIL_PICTURE"]["DESCRIPTION"]**: Если файл загружен, это поле заполняется названием файла.
### Как использовать:
1. Поместите этот код в файл `init.php` вашего сайта (обычно он находится в папке `/bitrix/php_interface/`).
2. Убедитесь, что у вас есть резервная копия сайта и БД перед внесением изменений.
После этих изменений при выгрузке товаров из 1С поле описания картинки будет заполняться автоматически именем файла, что решит вашу задачу.
### Замечания:
- Не забудьте проверить корректность работы после внесения изменений.
- Возможно, потребуется учитывать разные настройки и зависимости вашего проекта, поэтому тестируйте на тестовой версии сайта.