Где возможно — использовать символьные коды вместо идентификаторов в bitrix:iblock.element.add.form

Рейтинг: 37.9578  
На голосовании
Предложил Пользователь 14686 05.11.2012 13:17:19

Где возможно — использовать символьные коды вместо идентификаторов в bitrix:iblock.element.add.form

Почему при наличии символьных кодов у свойств в настройки компонента передаются идентификаторы? bitrix:iblock.element.add.form

"PROPERTY_CODES" => array("35", "36", "37","38", "NAME", "DETAIL_TEXT"),
"PROPERTY_CODES_REQUIRED" => array("35", "36","38", "NAME", "DETAIL_TEXT"),


Выкатка на боевой сервер превращается в перенастройку компонентов, т.к. там ID естественно другие =\

При том, что символьные коды у свойств есть.


Если хотите поставить минус, пожалуйста объясните вашу позицию в комментарии.
Рейтинг: -2.6641  
Ответил Жуков Евгений 05.11.2012 13:42:18
Для двух свойств ничто не мешает задать одинаковые символьные коды. Ergo - только по ID можно однозначно идентифицировать свойство, чтобы получить его тип и дальше работать с ним в форме редактирования.

Рейтинг: 1.6559  
Пользователь 14686 05.11.2012 14:03:32
Евгений, если я не ошибаюсь, то:
1. Мы работаем с конкретным ИБ.  Т.е. получаем набор свойств только конкретного ИБ.
2. Мне кажется, что разработчик делающий одинаковые символьные коды для свойств в рамках _одного_ ИБ это экзотический случай.

А что другие разработчики скажут?
Рейтинг: 7.7289  
Пользователь 57829 05.11.2012 15:19:31
За всех говорить не могу, но стараюсь одинаковые символьные коды не использовать даже в рамках одного проекта (иногда бывают исключения при интеграции с 1С и торговом каталоге из нескольких инфоблоков)
Рейтинг: 7.8107  
Пользователь 32566 06.11.2012 20:28:28
Два свойства с одинаковыми символьными кодами в рамках одного инфоблока - это уже проблемы кривых рук разработчика. Голосую ЗА введение символьных кодов вместо ID.
А чтобы отличать поле "NAME" от свойства "NAME", можно к свойствам добавлять префикс "PROPERTY_" или что-то подобное.
Рейтинг: 0  
Пользователь 14686 07.11.2012 00:06:53
Параллельно веду переписку в тикете http://dev.1c-bitrix.ru/support/ticket.php?ID=326096

Последний ответ:

Добрый день!
Используется Id свойств так как они уникальны, символьный код не обязан быть уникальным.
К сожалению эта логика меняться не будет.
С уважением,
Сотрудник технической поддержки
Рейтинг: 7.761  
Пользователь 15218 07.11.2012 12:07:48
Полностью поддерживаю идею (никогда не пользуюсь ID-шниками свойств - только символьными кодами).

Но, судя по статусу этой идеи ("Отложено") и ответу из ТП, вряд ли что-то изменится.
Рейтинг: 0.3411  
Пользователь 14686 08.11.2012 18:56:11
От кого: bugtrack@1c-bitrix.ru [86875] (bugtrack) BugTrack System

Автоматическое сообщение о создании заявки в разработку

На основе информации из данного обращения была создана заявка в отдел разработок.
Категория: Пожелания. Критичность: Нормальная.
Номер обращения в разработку: 32276.
Рейтинг: 0.0896  
Пользователь 112528 18.11.2012 01:05:07
Идея хорошая! долго искал ошибку, когда пытался подпихнуть текстовые коды. id идентификаторы хорошо, но коды полей - ЛУЧШЕ, поддерживаю.
Рейтинг: 0.1655  
Пользователь 148975 12.12.2012 20:15:43
Поддерживаю, только мне относительно без разницы, что использовать, главное - единая концепция.
Это ненормально, когда для формы вывода элемента надо тянуть свойства по символьному коду, а при редактировании по ID, нужна идеология разработки.

По-моему это основная проблема битрикса, если будет идеология разработки, то всё станет отлично.
Рейтинг: 1.2987  
Пользователь 109495 12.05.2016 10:10:22
Поддерживаю, очень не хватает.
Дополню, что идеально было бы и инфоблоки задавать не по ID, а по CODE. И не только в этом компоненте -- а еще и в catalog, catalog.*, news, news.* и пр.