Rickkk
@Rickkk

Почему не создает и не возвращает ошибку при создании свойства в Битрикс?

Здравствуйте!

Я дорабатываю сайт на Битрикс Корпоративный портал. Для обновления базы создаю свойства сущностей с помощью скриптов. Понадобилось добавить к сущности задача "TASKS_TASK" новое свойство. Другие свойства ранее для нее создавались. Выполняю данный код в консоли PHP в админке Битрикса. Поле $iUserFieldId не заполняется новым id и к сожалению не выдаются ошибки. Подскажите пожалуйста - почему не создается свойство ?

$oUserTypeEntity    = new CUserTypeEntity();

$aUserFields    = array(
/*
*  Идентификатор сущности, к которой будет привязано свойство.
* Для секция формат следующий - IBLOCK_{IBLOCK_ID}_SECTION
*/
    'ENTITY_ID'         => 'TASKS_TASK', //IBLOCK_3_SECTION
/* Код поля. Всегда должно начинаться с UF_ */
    'FIELD_NAME'        => 'UF_FIRST_DEADLINE_DATE',
    /* Указываем, что тип нового пользовательского свойства строка */
    'USER_TYPE_ID'      => 'datetime',
/*
* XML_ID пользовательского свойства.
* Используется при выгрузке в качестве названия поля
*/
'XML_ID'            => 'XML_ID_FIRST_DEADLINE_DATE',
/* Сортировка */
'SORT'              => 100,
/* Является поле множественным или нет */
'MULTIPLE'          => 'N',
/* Обязательное или нет свойство */
    'MANDATORY'         => 'N',
/*
* Показывать в фильтре списка. Возможные значения:
* не показывать = N, точное совпадение = I,
* поиск по маске = E, поиск по подстроке = S
*/
    'SHOW_FILTER'       => 'N',
/*
* Не показывать в списке. Если передать какое-либо значение,
* то будет считаться, что флаг выставлен.
*/
    'SHOW_IN_LIST'      => '',
/*
* Не разрешать редактирование пользователем.
* Если передать какое-либо значение, то будет считаться,
* что флаг выставлен.
*/
    'EDIT_IN_LIST'      => 'N',
    /* Значения поля участвуют в поиске */
    'IS_SEARCHABLE'     => 'N',
    /*
* Дополнительные настройки поля (зависят от типа).
* В нашем случае для типа string
*/
    'SETTINGS'          => array(
        /* Значение по умолчанию */
        'DEFAULT_VALUE' => '',
        /* Размер поля ввода для отображения */
        'SIZE'          => '20',
/* Количество строчек поля ввода */
        'ROWS'          => '1',
        /* Минимальная длина строки (0 - не проверять) */
        'MIN_LENGTH'    => '0',
/* Максимальная длина строки (0 - не проверять) */
        'MAX_LENGTH'    => '0',
        /* Регулярное выражение для проверки */
        'REGEXP'        => '',
),
/* Подпись в форме редактирования */
    'EDIT_FORM_LABEL'   => array(
        'ru'    => 'Дата первого крайнего срока по сложной задаче',
        'en'    => 'User field',
    ),
/* Заголовок в списке */
    'LIST_COLUMN_LABEL' => array(
        'ru'    => 'Дата первого крайнего срока по сложной задаче',
        'en'    => 'User field',
    ),
/* Подпись фильтра в списке */
    'LIST_FILTER_LABEL' => array(
        'ru'    => 'Дата первого крайнего срока по сложной задаче',
'en'    => 'User field',
),
/* Сообщение об ошибке (не обязательное) */
    'ERROR_MESSAGE'     => array(
        'ru'    => 'Ошибка при заполнении пользовательского свойства',
        'en'    => 'An error in completing the user field',
),
/* Помощь */
    'HELP_MESSAGE'      => array(
        'ru'    => '',
'en'    => '',
    ),
);

$iUserFieldId   = $oUserTypeEntity->Add( $aUserFields ); // int
echo $iUserFieldId;
  • Вопрос задан
  • 787 просмотров
Пригласить эксперта
Ответы на вопрос 2
gromdron
@gromdron
Bitrix developer
Если он вернул false, ошибку вы можете получить функцией:
$error = $APPLICATION->GetException();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы