УС. Инфоблок. Не сохраняется описание файла.

Рейтинг: 2.8543  
На голосовании
Предложил Пользователь 240126 10.09.2015 11:42:13

УС. Инфоблок. Не сохраняется описание файла.

Битрикс управление сайтом.
В инфоблоке есть множественное свойство типа файл.
Добавляю в него несколько изображений.
Нажимаю изменить изображение (иконку карандаша).
Добавляю описание в поле "описание".
Сохраняю описание, сохраняю элемент.
Но описание не сохраняется, при следующем открытии параметров файла - поле пустое.

Рейтинг: 0  
Пользователь 206404 11.09.2015 17:10:17
+ При редактировании описания нет возможности мышкой поставить курсор в нужное место слова. Нужно стрелками с клавиатуры двигать курсор. Адско неудобно.
Рейтинг: 0  
Пользователь 63180 11.12.2015 12:25:57
да, очень противный баг

попробуйте в настройках свойства установить галку Выводить поле для описания значения:
Рейтинг: 0  
Пользователь 15290 26.12.2015 20:35:46
Столкнулся с такой же проблемой. Не сохраняются (не модифицируются) описания изображений DETAIL_PICTURE и PREVIEW_PICTURE.

Александр, установка галки Выводить поле для описания значения не помогает.

Покопался в коде. Проблема кроется в работе функции CIBlock::makeFileArrayFromId() в файле /bitrix/modules/iblock/classes/general/iblock.php:3663

Эта функция проверяет массив $options, который передаётся в функцию CIBlock::makeFileArray() из /bitrix/modules/iblock/admin/iblock_element_edit.php . В моём случае массив $options пуст, нужной опции в нём нет. Соответственно, описание файла не формируется.

Очень грубое обходное решение (я закомментировал проверку опции):
diff -ur orig/bitrix/modules/iblock/classes/general/iblock.php fixed/bitrix/modules/iblock/classes/general/iblock.php
--- orig/bitrix/modules/iblock/classes/general/iblock.php   2015-09-08 18:10:40 +0500
+++ fixed/bitrix/modules/iblock/classes/general/iblock.php   2015-12-26 22:21:23 +0500
@@ -3664,7 +3664,8 @@
    {
       $result = false;
 
-      if (is_set($options["allow_file_id"]) && $options["allow_file_id"] === true)
+      // if (is_set($options["allow_file_id"]) && $options["allow_file_id"] === true)
+      if (true)
       {
          $result = CFile::MakeFileArray($file_id);
          if (is_array($result))

Буду рад, если кто-то предложит более правильный вариант решения вопроса.
Рейтинг: -0.0954  
Пользователь 344613 04.03.2016 11:16:02
Есть решение проблемы, мне помогло.
Заходим в настройки инфоблока, настройки свойства Файл (где стоит галочка Множественное).
  • там есть такая галочка "Выводить поле для описания значения" ставим галочку на ней;
  • сохраняем;
  • идем в нужный ИБ;
  • добавляем изображение и появляется сразу поле для описания изображения,;
  • вводим нужный текст;
  • сохраняем;
  • перезагружаем страницу;
  • описание успешно сохранилось.
Проект работает на основе "1С-Битрикс: Управление сайтом 15.5.10"
Рейтинг: 0  
Пользователь 316584 17.03.2016 13:37:48
Подтверждаю ту же проблему. Поле в редакторе изображения (множественного свойства типа Файл) выводится, но значение не сохраняется.
Рейтинг: 0  
Пользователь 344613 22.03.2016 01:24:35
Smirnov Pavel, неужели не помогло мое решение данной проблемы? :o
Рейтинг: 0  
Пользователь 316584 22.03.2016 11:37:40
Serezhin Alexander, решение помогло.

Проблема именно в том, что это неочевидное решение, и о нём нужно знать.

У нас контент-менеджер около 50 фотографий подписал всякими выстраданными крутыми сеошными описаниями, потому что поле выводилось и якобы сохранялось. А потом обнаружилось, что поле просто выводилось, не сохраняя. Сотрудник в депрессии.

P.S.: Эту проблему исправили в следующей версии. Скоро будет обновление.