Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как программно добавить пользовательские поля

00 голосов
3
Необходимо именно добавить пользовательское поле, а не редактировать поле у отдельно взятого юзера.
Делаю импорт из другой ЦМС в Битрикс, есть список пользователей с большим списком свойств. Вручную очень долго добавлять пользовательские поля.
спросил 08 Окт, 13 от KAKYWA (180 баллов)

3 Ответы

00 голосов
CUserTypeEntity::Add(), /bitrix/modules/main/classes/general/cusertype.php(в комментарии к функции имеется описание полей), /bitrix/modules/main/classes/mysql/cusertype.php
ответил 25 Окт, 13 от Miko (340 баллов)
00 голосов
Андрей, спасибо!
Такого файла у меня нет, но зато додумался что сам могу ручками поискать функцию в файлах битрикс.
Может кому поможет:
Код
$ob = new CUserTypeEntity();
    $arFields = array(
    'ENTITY_ID' => 'USER',
    'FIELD_NAME' => 'UF_TESTING',
    'USER_TYPE_ID' => 'string',
    'XML_ID' => '',
    'SORT' => 100,
    'MULTIPLE' => 'N',
    'MANDATORY' => 'N',
    'SHOW_FILTER' => 'I',
    'SHOW_IN_LIST' => 'Y',
    'EDIT_IN_LIST' => 'Y',
    'IS_SEARCHABLE' => 'N'
);
$FIELD_ID = $ob->Add($arFields);

Описание функции не нашел. Там есть еще параметры, например массив 'SETTINGS'
ответил 29 Янв, 14 от KAKYWA (180 баллов)
00 голосов
если нужно поставить галочку у пользовательского свойства типа Да/нет, то делаем так:
        $arFields = Array(
        "ENTITY_ID" => "IBLOCK_25_SECTION",
        "FIELD_NAME" => "UF_MARKET",
        "USER_TYPE_ID" => "boolean",
        "EDIT_FORM_LABEL" => Array("ru"=>"Выгрузка"),
        );
        $arFields["SETTINGS"] = Array(
          "DEFAULT_VALUE" => "1",
        );
ответил 18 Май, 14 от FlalaKinG (140 баллов)

Похожие вопросы

0 голосов
6 ответов
0 голосов
8 ответов
0 голосов
6 ответов
0 голосов
1 ответ