Здравствуйте, столкнулся с проблемой. Задача добавить пользователя и создать сразу запись в Истории состояний, чтобы пользователь появился в данном инфоблоке. Использую вот такой вот код
Итого получаю что поля должность и статус заполнены, а пользователь нет.
Пробовал альтернативный вариант, делать напрямую запрос к базе через SQL и получить последний ID результат такой же.
Корректное добавление получается только если статически вставить цифру.
| Код |
|---|
if ($row["sync_status"] == 0){
$user = new CUser;
$arFields = Array(
"LOGIN" => $row['LOGIN'],
"EMAIL" => $row['EMAIL'],
"PASSWORD" => '12345678',
"LAST_NAME" => $row['LAST_NAME'],
"NAME" => $row['NAME'],
"SECOND_NAME" => $row['SECOND_NAME'],
"PERSONAL_GENDER" => $gender,
"PERSONAL_PAGER" => $row['compensation_food'].$row['passnum'],
"WORK_PHONE" => $row['intphone'],
"WORK_POSITION" => $row['duty'],
"GROUP_ID" => $groups,
"XML_ID" => $row['guid'],
);
$ID = $user->Add($arFields);
if (intval($ID) > 0)
{
echo "Пользователь успешно добавлен.";
//Добавление в новые сотрудники
$a=explode("-",$row["admissiondate"]);
$act = $a[2].".".$a[1].".".$a[0]." 00:00:00";
$el = new CIBlockElement;
$fieldForAddNewUser = Array(
"IBLOCK_ID" => 6,
"ACTIVE_FROM" => $act,
"NAME" => "Принят - ".$row["LAST_NAME"]." ".$row["NAME"],
"PREVIEW_TEXT" => "Принят",
);
if($NEW_ID = $el->Add($fieldForAddNewUser)){
echo "New ID: ".$NEW_ID;
$arr1 = Array(
"POST" =>$row["duty"], //Должность
"STATE" =>15, //Статус
"USER" =>$ID //Пользователь
);
CIBlockElement::SetPropertyValuesEx($NEW_ID, 6, $arr1);
}
else{
echo "Error: ".$el->LAST_ERROR;
}
|
Пробовал альтернативный вариант, делать напрямую запрос к базе через SQL и получить последний ID результат такой же.
Корректное добавление получается только если статически вставить цифру.