Программное получение сведений о сотрудниках на дату

Конфигурацией 1С "Зарплата и Кадры" пользуются кадровики, что накладывает своеобразные требования к поддержке. А именно: необходимо часто создавать новые печатные формы, либо модифицировать имеющиеся, куда требуется вставлять кадровые данные сотрудников.

Конечно, в специализированной конфигурации существует функция, позволяющая без проблем получать нужные сведения о сотрудниках. Достаточно указать какие нужны сведения и ее вызвать.

Для корректного вызова функции необходимо сначала создать временную таблицу отбора с полями Сотрудник и Период, а затем присвоить строковой переменной КадровыеДанные искомые значения в кавычках через запятую. На выходе будем иметь табличный документ ВТКадровыеДанные, который можно через левое соединение, либо объединение связать со своим запросом, или использовать данные непосредственно в формировании печатной формы.

Стандартный код получения данных о сотрудниках:


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

Теперь можно выполнить, например, такой запрос:


		Запрос.УстановитьПараметр ("МассивОбъектов", МассивОбъектов);
		Запрос.Текст = "
		|ВЫБРАТЬ
		|	КадровыйПеревод.Ссылка КАК Ссылка,
		|	КадровыйПеревод.Номер КАК Номер,
		|	КадровыйПеревод.Дата КАК Дата,
		|	КадровыйПеревод.Организация КАК Организация,
		|	КадровыйПеревод.Подразделение КАК Подразделение,
		|	КадровыйПеревод.Должность КАК Должность,
		|	КадровыйПеревод.ГКБ_ОснованиеДляПереводаНаCOVID КАК ГКБ_ОснованиеДляПереводаНаCOVID,
		|	КадровыйПеревод.ГКБ_ОснованиеДляПереводаНаCOVID.Наименование КАК ГКБ_ОснованиеДляПереводаНаCOVIDНаименование,
		|	КадровыйПеревод.ГКБ_ОснованиеДляПереводаНаCOVID.ПолноеОписание КАК ГКБ_ОснованиеДляПереводаНаCOVIDПолноеОписание,
		|	КадровыйПеревод.ГКБ_ОснованиеДляПереводаНаCOVID.ПричинаПеревода КАК ГКБ_ОснованиеДляПереводаНаCOVIDПричинаПеревода,
		|	КадровыйПеревод.ГКБ_ОснованиеДляПереводаНаCOVID.ОснованиеДляПеревода КАК ГКБ_ОснованиеДляПереводаНаCOVIDОснованиеДляПеревода,
		|	КадровыйПеревод.ГКБ_ОснованиеДляПереводаНаCOVID.НачалоДействияДляПечати КАК ГКБ_ОснованиеДляПереводаНаCOVIDНачалоДействияДляПечати,
		|	КадровыйПеревод.ГКБ_ОснованиеДляПереводаНаCOVID.ОкончаниеДействияДляПечати КАК ГКБ_ОснованиеДляПереводаНаCOVIDОкончаниеДействияДляПечати,
		|	КадровыйПеревод.ФизическоеЛицо КАК ФизическоеЛицо,
		|	КадровыйПеревод.ФизическоеЛицо.Пол КАК Пол,
		|	КадровыйПеревод.КоличествоСтавок КАК КоличествоСтавок,
		|	КадровыйПеревод.ДолжностьРуководителя КАК ДолжностьРуководителя,
		|	КадровыйПеревод.ДатаНачала КАК ДатаНачала,
		|	КадровыйПеревод.ДатаОкончания КАК ДатаОкончания,
		|	КадровыйПеревод.Сотрудник.Код КАК СотрудникКод,
		|	КадровыйПеревод.Сотрудник КАК Сотрудник,
		|	КадровыйПеревод.ПКУ.ТарифнаяСетка КАК ПКГ,
		|	КадровыйПеревод.ПКУ КАК ПКУ,
		|	КадровыйПеревод.РазрядКатегория КАК РазрядКатегория,
		|	КадровыйПеревод.Руководитель.Инициалы КАК РуководительИнициалы,
		|	КадровыйПеревод.Руководитель.Фамилия КАК РуководительФамилия,
		|	КадровыйПеревод.Начисления.(
		|		Ссылка КАК Ссылка,
		|		НомерСтроки КАК НомерСтроки,
		|		Действие КАК Действие,
		|		Начисление КАК Начисление,
		|		ИдентификаторСтрокиВидаРасчета КАК ИдентификаторСтрокиВидаРасчета,
		|		ДокументОснование КАК ДокументОснование,
		|		Размер КАК Размер,
		|		ХарактерНачисления КАК ХарактерНачисления
		|	) КАК Начисления,
		|	КадровыйПеревод.Показатели.(
		|		Ссылка КАК Ссылка,
		|		НомерСтроки КАК ПоказателиНомерСтроки,
		|		ИдентификаторСтрокиВидаРасчета КАК ИдентификаторСтрокиВидаРасчета,
		|		Показатель КАК Показатель,
		|		Значение КАК Значение,
		|		Действие КАК Действие
		|	) КАК Показатели,
		|	КадровыеДанныеСотрудников.ФИОПолные КАК ФИОПолные,
		|	КадровыеДанныеСотрудников.ФамилияИО КАК ФамилияИО,		
		|	КадровыеДанныеСотрудников.ПроцентСевернойНадбавки КАК ПроцентСевернойНадбавки,
		|	КадровыеДанныеСотрудников.Должность КАК ДолжностьПрежняя,
		|	КадровыеДанныеСотрудников.Подразделение КАК ПодразделениеПрежнее,
		|	КадровыеДанныеСотрудников.КоличествоСтавок КАК КоличествоСтавокПрежнее
		|ИЗ
		|	Документ.КадровыйПеревод КАК КадровыйПеревод
		|	ЛЕВОЕ СОЕДИНЕНИЕ ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников
		|		ПО КадровыйПеревод.Сотрудник = КадровыеДанныеСотрудников.Сотрудник
		|			И КадровыйПеревод.ДатаНачала >= КадровыеДанныеСотрудников.Период
		|ГДЕ
		|	КадровыйПеревод.Ссылка В (&МассивОбъектов)
		|";
		
	РезультатЗапроса = Запрос.Выполнить().Выгрузить();

	Возврат РезультатЗапроса;

А теперь самое интересное. Какие же параметры можно указывать для присвоения переменной КадровыеДанные? Оказывается ответ на этот вопрос есть! Ответила на него сама 1с, только ответ спрятала очень глубоко. Но добрые люди помогли его найти, и далее привожу подсказку от 1с какие данные можно получить через КадровыеДанные:


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

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

Отправить