Кадровые данные сотрудника 1С ЗУП из БСП

Как получить кадровые данные сотрудника в 1С ЗУП запросом мы уже рассмотрели в этой статье.

Бывают случае, когда нет смысла использовать запрос, а проще воспользоваться встроенными функциями конфигурации 1С Зарплата и Управление персоналом.

Вот пример получения подразделения сотрудника:

КадровыеДанные = КадровыйУчет.КадровыеДанныеСотрудников(Истина, Сотрудник, "Подразделение", ТекущаяДата(), ,);
		
Подразделение = КадровыеДанные[0].Подразделение;

Сама функция выглядит так и позволяет получить почти любые данные по сотруднику:

// Возвращает таблицу значений заполненную данными сотрудников, перечисленными в 
// параметре СписокНеобходимыхДанных.
//
// Параметры:
//	ТолькоРазрешенные - Булево
//  СписокСотрудников - Массив ссылок на элементы справочника сотрудники или
//						  СправочникСсылка.Сотрудники.
//  КадровыеДанные - 	Строка - список полей данных, перечисленных через запятую 
//						или Массив строк с полями данных, которые необходимо получить.
//	ДатаПолученияДанных	- дата на которую необходимо получить данные сотрудников, 
//						применимо к данным, носящим периодический характер.
//						Если дату не указывать, будут получены самые последние данные.
//
//
//  ПоляОтбораПериодическихДанных - Структура, в качестве ключа указывается имя таблицы, содержащей
//									периодические данные (например ФИОФизическихЛиц, ГражданствоФизическихЛиц).
//									В качестве значений коллекция условий отбора, 
//									соединяемых по "И" и применяемых к регистру сведений.
//									Коллекция строки которой имеют поля.
//										* ЛевоеЗначение - строка, имя поля регистра сведений.
//										* ВидСравнения - строка, вид сравнения, допустимый в языке запросов.
//										* ПравоеЗначение - значение для сравнения с полем ЛевоеЗначение.
//
//	Список полей, допустимых в параметре КадровыеДанные см. КадровыйУчетВнутренний.ЗапросВТКадровыеДанныеСотрудников.
//
// Возвращаемое значение:
//   ТаблицаЗначений   - Таблица значений, содержащая запрошенные данные.
//
Функция КадровыеДанныеСотрудников(ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных = '00010101', ПоляОтбораПериодическихДанных = Неопределено, ФормироватьСПериодичностьДень = Истина) Экспорт
	
	// Подготовим Запрос и Менеджер временных таблиц.
	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	
	// Сформируем временную таблицу ВТКадровыеДанныеФизическихЛиц.
	СоздатьНаДатуВТКадровыеДанныеСотрудников(Запрос.МенеджерВременныхТаблиц, ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных, ПоляОтбораПериодическихДанных, ФормироватьСПериодичностьДень);
	
	// Выберем кадровые данные физлиц из временной таблицы.
	Запрос.Текст = "ВЫБРАТЬ КадровыеДанныеСотрудников.* ИЗ ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников";
	КадровыеДанныеСотрудников = Запрос.Выполнить().Выгрузить();
	
	Возврат КадровыеДанныеСотрудников;
	
КонецФункции

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *