- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/hrxml.php
- Класс: CUserHRXMLImport
- Вызов: CUserHRXMLImport::ImportSyncPositionOpening
private function ImportSyncPositionOpening($xml)
{
foreach ($xml as $profile)
{
$el = new CIBlockElement;
$arFields = array(
'IBLOCK_ID' => $this->VACANCY_IBLOCK_ID,
'XML_ID' => (string) $profile->PositionProfile->PositionID,
);
$rsVacancy = CIBlockElement::GetList(array(), $arFields, false, false, array('ID'));
$arFields['ACTIVE_FROM'] = date(
'd.m.Y H:i:s',
strtotime((string) $profile->PositionProfile->PositionPeriod->StartDate->FormattedDateTime)
);
$arFields['NAME'] = (string) $profile->PositionProfile->PositionTitle;
$arFields['ACTIVE'] = 'Y';
if (isset($profile->PositionProfile->PositionFormattedDescription)) {
$arFields['DETAIL_TEXT_TYPE'] = 'html';
$arFields['DETAIL_TEXT'] = '';
foreach($profile->PositionProfile->PositionFormattedDescription as $description){
$arFields['DETAIL_TEXT'] .= '' . ((string) $description->Name) . '
';
$arFields['DETAIL_TEXT'] .= '' . ((string) $description->Content) . '
';
}
}
$arFields = $this->ConvertCharset($arFields);
if ($arVacancy = $rsVacancy->GetNext())
{
$el->Update($arVacancy['ID'], $arFields);
if (!empty($el->LAST_ERROR))
{
$this->warnings[] = GetMessage('IBLOCK_HR_NOT_UPDATED_VACANCY').' "'
.$arFields['NAME'].'"('.$arFields['XML_ID'].')'."rn".$el->LAST_ERROR;
}
}
else
{
$el->Add($arFields);
if (!empty($el->LAST_ERROR))
{
$this->warnings[] = GetMessage('IBLOCK_HR_NOT_ADD_VACANCY').' "'
.$arFields['NAME'].'"('.$arFields['XML_ID'].')'."rn".$el->LAST_ERROR;
}
}
}
return true;
}