Спасибо, все получилось.
06.12.2018 12:10:08
Далее в таблицу b_lists_field добавляю записи с нужным PROPERTY_#ID#, например, PROPERTY_545 и PROPERTY_544 Иду в редактирование элемента инфоблока в админке и вижу такую картину: Я должен вынести что-то на вкладку "Элемент"? Каким образом я это могу сделать? |
|||
|
06.12.2018 07:15:02
Вообще для чего мне это надо - у нас был список, нормально созданный через интерфейс списка, но его неудачно отредактировали и какие-то поля удалились. Инфоблок мы восстановили импортом/экспортом из резервной копии портала, но откатить весь портал к дате восстановления не можем, т.к. обнаружили это не сразу и другие данные на портале тоже поменялись. Поэтому у нас сейчас есть готовый инфоблок, но список не видит части его свойств. И очень хочется с этим побороться.
Как я понимаю ситуацию - у нас инфоблок это модель, данные + метаданные, которые хранятся в БД. Редактирование инфоблока через админку и через список в пользовательской части - это отображение этих данных. И суть нашей проблемы сейчас - список "не знает" какие отображать данные и не может по метаданным обновить информацию об измененных свойствах инфоблока.
Попробовал CList::AddField с CODE и NAME как в инфоблоке - получил ошибку: [Bitrix\Main\NotSupportedException] Поле с таким кодом уже существует (150) /home/bitrix/www/bitrix/modules/lists/classes/general/listfi #0: CListPropertyField::Add(integer, array) /home/bitrix/www/bitrix/modules/lists/classes/general/listfi #1: CListFieldList->AddField(array) /home/bitrix/www/bitrix/modules/lists/classes/general/list.php:62 #2: CList->AddField(array) /home/bitrix/www/test/addField.php:20 В принципе логично - метод попытался добавить в инфоблок свойство с имеющимися характеристиками. Если указывать другой CODE и NAME, то в инфоблок добавляется новое свойство. Как использовать |
|||||
|
05.12.2018 15:00:48
На портале есть готовый инфоблок, как можно его использовать в универсальном списке?
Если просто указать его как источник списка - то свойства инфоблока в списке не отображаются. Возможно ли это как-то исправить? Вообще ситуация, на мой взгляд, крайне нелогичная - если я создаю список с нуля, определяю поля списка, то при этом автоматически создается инфоблок с соответствующими полями, меняю список - меняется инфоблок. Т.е. в сторону от списка к инфоблоку все работает корректно. Но если я меняю инфоблок в административной панели или пытаюсь список создать для уже имеющегося - я не вижу свойств инфоблока в списке. То есть в сторону от инфоблока к списку не работает. И я не совсем понимаю почему - у нас ведь работа происходит с одним и тем же инфоблоком, все данные об этом инфоблоке есть в системе, почему список не может их использовать, обновлять данные о свойствах из системы? Нашел похожую тему Там дают советы: 1) Проставление всем полям инфоблока параметра "Показывать в списке" - но я не нашел такого параметра в инфоблоке 2) Ручками попробуйте внести ваши свойства в b_lists_field - добавляю, но поля по прежнему не отображаются и значение пропадает из таблицы (или оно где-то еще хранится, или все-таки кэш не до конца очищен) 3) Очистки всего кеша (cache, managed_cache, stack_cache). - тоже не помогло. |
|
|
18.07.2014 08:44:23
А в версии
Просто столкнулись с проблемой - новые пользователи из АД не появляются на портале, хотя синхронизация проходит для имеющихся. |
|
|