• Модуль: 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; }