Данные бухгалтерского учета

Получить данные бухгалтерского учета (организации, подразделения, сотрудника, начисления) в ЗУП 3
ЗУП 3
&НаСервере
Процедура ОтражениеВУчетеНаСервере()
	
	//Тестировалось на релизе 3.1.8
	
	Сотрудник = Справочники.Сотрудники.НайтиПоНаименованию("Колесник Дмитрий Иванович");
	ДатаНачалаСобытия = ДАТА(2018,12,14);
	Начисление = ПланыВидовРасчета.Начисления.НайтиПоНаименованию("Оплата по окладу");
	
	// Определяет статью финансирования, используемую для СОТРУДНИКА по умолчанию.
	
	ОтражениеВБухучетеНачисления = УчетСреднегоЗаработка.ОтражениеВБухучетеПоУмолчанию(Сотрудник, ДатаНачалаСобытия, Начисление);
	
	// Определяет статью финансирования, используемую для НАЧИСЛЕНИЯ СОТРУДНИКА по умолчанию.
	
	ОтражениеВБухучетеСотрудника = УчетСреднегоЗаработка.ОтражениеВБухучетеПоУмолчанию(Сотрудник, ДатаНачалаСобытия);
	
	//ОтражениеВБухучетеСотрудника2 = ОтражениеЗарплатыВБухучетеРасширенный.НастройкаБухучетаЗарплатыСотрудника(Сотрудник, ДатаНачалаСобытия);
	
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	//ВАРИАНТ 1
	
	// Определяет статью финансирования, используемую для НАЧИСЛЕНИЯ СОТРУДНИКА по умолчанию.
	// Определяет откуда применяется статья финансирования (из Организации, Подразделения, Сотрудника)	
	// и выводит статью финансирования с учетом всех введенных данных
	
	КадровыеДанныеСотрудника = КадровыйУчет.КадровыеДанныеСотрудников(Истина, 
	ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Сотрудник), 
	"Организация,ФизическоеЛицо,Подразделение,ТерриторияВыполненияРаботВОрганизации", ДатаНачалаСобытия);

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

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

Данные среднего заработка, остатка отпусков, резерва отпусков

Получить данные среднего заработка, остатка отпусков, резерва отпусков в ЗУП 3
ЗУП 3
&НаСервере
Процедура ПолучитьДанныеСреднегоЗаработкаНаСервере()
	
	ДатаОтпуска     = Дата(2018,01,01);
	
	//Расчетный год отпуска
	ДатаНачала         = Дата(2017,01,01);
	ДатаОкончания     = Дата(2017,12,31);
	
	ИсходнаяТаблица = УчетСреднегоЗаработка.ПустаяТаблицаИсходныхДанныхРасчетаОбщегоСреднегоЗаработка();
	мПараметры = КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц();
	мПараметры.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", "0000000000");
	мПараметры.НачалоПериода     		= ДатаОтпуска;
	мПараметры.ОкончаниеПериода    	= ДатаОтпуска;
	//мПараметры.КадровыеДанные       	= "Подразделение";
	
	ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(
				мПараметры.Отборы, "ФизическоеЛицо", "=", Справочники.ФизическиеЛица.НайтиПоНаименованию("Иванов Иван Иванович"));
	
	// 1. получаем сотрудников организации
	
	СотрудникиОрганизации = КадровыйУчет.СотрудникиОрганизации(Истина, мПараметры);
	
	// 2. получаем средний заработок сотрудников
	
	СотрудникиОрганизации.Колонки.Добавить("СреднийЗаработок", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
	СотрудникиОрганизации.Колонки.Добавить("ОстатокОтпуска", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(4, 0)));
	СотрудникиОрганизации.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
	
	ОграничитьКоличество = 10;
	// получем данные для расчета среднего
	СтрокиКУдалению = Новый Массив;
	Индекс = 1;
	
	Для каждого СтрокаСотрудник из СотрудникиОрганизации Цикл
		Если Индекс <= ОграничитьКоличество Тогда
			СтрокаТаблицы = ИсходнаяТаблица.Добавить();
			СтрокаТаблицы.Сотрудник                         = СтрокаСотрудник.Сотрудник;
			СтрокаТаблицы.ПорядокРасчета                     = Перечисления.ПорядокРасчетаСреднегоЗаработкаОбщий.Постановление2010;
			СтрокаТаблицы.ДатаНачалаСобытия                 = ДатаОтпуска;
			СтрокаТаблицы.НачалоПериодаРасчетаСреднего         = ДатаНачала;
			СтрокаТаблицы.ОкончаниеПериодаРасчетаСреднего     = ДатаОкончания;
			Индекс = Индекс + 1;
		Иначе 
			СтрокиКУдалению.Добавить(СтрокаСотрудник);
		КонецЕсли;
	КонецЦикла;
	
	Для каждого пСтрока из СтрокиКУдалению Цикл
		СотрудникиОрганизации.Удалить(пСтрока);
	КонецЦикла;
	
	ДанныеДляРасчета = УчетСреднегоЗаработка.ДанныеДляРасчетаОбщегоСреднегоЗаработкаСотрудников(ИсходнаяТаблица, Неопределено, Неопределено, Истина);
	
	Для каждого СтрокаСотрудник из СотрудникиОрганизации Цикл
		
		Отбор = Новый Структура("Сотрудник",СтрокаСотрудник.Сотрудник);
		
		ДанныеОВремени         = ДанныеДляРасчета.ДанныеОВремени;
		ДанныеОНачислениях     = ДанныеДляРасчета.ДанныеОНачислениях;
		ДанныеОбИндексации     = ДанныеДляРасчета.ДанныеОбИндексации;
		
		ДанныеДляРасчетаСотрудник = Новый Структура("ДанныеОВремени,ДанныеОНачислениях,ДанныеОбИндексации");
		
		ДанныеДляРасчетаСотрудник.ДанныеОВремени         = ДанныеОВремени.Скопировать(ДанныеОВремени.НайтиСтроки(Отбор));
		ДанныеДляРасчетаСотрудник.ДанныеОНачислениях     = ДанныеОНачислениях.Скопировать(ДанныеОНачислениях.НайтиСтроки(Отбор));
		ДанныеДляРасчетаСотрудник.ДанныеОбИндексации     = ДанныеОбИндексации.Скопировать(ДанныеОбИндексации.НайтиСтроки(Отбор));
		
		ДополнительныеПараметры = УчетСреднегоЗаработкаКлиентСервер.ДополнительныеПараметрыРасчетаСреднегоЗаработка();
		
		ДополнительныеПараметры.ДатаНачалаСобытия = ДатаОтпуска;
		
		Если Не ЗначениеЗаполнено(ДополнительныеПараметры.НачалоПериода) 
			Или Не ЗначениеЗаполнено(ДополнительныеПараметры.ОкончаниеПериода) Тогда
			ПериодРасчета = УчетСреднегоЗаработка.ПериодРасчетаОбщегоСреднегоЗаработкаСотрудника(ДатаОтпуска, СтрокаСотрудник.Сотрудник, ДополнительныеПараметры.Начисление);
			ДополнительныеПараметры.НачалоПериода = ДатаНачала;
			ДополнительныеПараметры.ОкончаниеПериода = ДатаОкончания;
		КонецЕсли;
		
		Если ДополнительныеПараметры.ПорядокРасчета = Неопределено Тогда
			ДополнительныеПараметры.ПорядокРасчета = УчетСреднегоЗаработкаКлиентСервер.ПорядокРасчетаОбщегоСреднегоЗаработка(ДатаОтпуска);
		КонецЕсли;
		ДополнительныеПараметры.ПорядокРасчета         = Перечисления.ПорядокРасчетаСреднегоЗаработкаОбщий.Постановление2010;
		ДополнительныеПараметры.СпособРасчетаОтпуска = Перечисления.СпособыРасчетаНачислений.ОплатаОтпускаПоКалендарнымДням;
		
		ДополнительныеПараметры.Индексации = ДанныеДляРасчета.ДанныеОбИндексации;
		
		СтрокаСотрудник.СреднийЗаработок = УчетСреднегоЗаработкаКлиентСервер.СреднийЗаработокОбщий(ДанныеДляРасчетаСотрудник.ДанныеОНачислениях, ДанныеДляРасчетаСотрудник.ДанныеОВремени, ДополнительныеПараметры);
		
	КонецЦикла;
	
	// 3. считаем остатки отпусков
	
	СписокСотрудников = СотрудникиОрганизации.ВыгрузитьКолонку("Сотрудник");
	ВидыОтпусков = Неопределено;
	//ВидыОтпусков = Новый Массив;
	//ВидыОтпусков.Добавить(Справочники.ВидыОтпусков.Основной);
	
	ТаблицаОстаткиОтпусков = ОстаткиОтпусков.ОстаткиОтпусковСотрудниковНаДату(СписокСотрудников, ДатаОтпуска, ВидыОтпусков);
	
	Для каждого СтрокаСотрудник из СотрудникиОрганизации Цикл
		
		Отбор = Новый Структура("Сотрудник",СтрокаСотрудник.Сотрудник);
		СтрокиОтпуска = ТаблицаОстаткиОтпусков.НайтиСтроки(Отбор);
		
		ОстатокОтпуска = 0;
		
		Для каждого СтрокаОтпуска из СтрокиОтпуска Цикл
			ОстатокОтпуска = ОстатокОтпуска + СтрокаОтпуска.КоличествоДней;
		КонецЦикла;
		
		СтрокаСотрудник.ОстатокОтпуска = ОстатокОтпуска;
		СтрокаСотрудник.Сумма = ОстатокОтпуска * СтрокаСотрудник.СреднийЗаработок;
		
	КонецЦикла;
	
	//СотрудникиОрганизации.Колонки.Добавить("СреднийЗаработок",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15, 2)));
	//Сообщить(УчетСреднегоЗаработка.СреднийЗаработок(СотрудникиОрганизации[0].Сотрудник,Дата(2017,12,31)));
	
	//ЗаполнитьТаблицуЗначенийНаФорме(СотрудникиОрганизации,"ТЗ2");
	
КонецПроцедуры

Данные отработанного времени

Получить данные рабочего (отработанного) времени, данные табеля Т-13
ЗУП 3
//В ДАННОМ ПРИМЕРЕ МОЖНО ПОЛУЧИТЬ ДАННЫЕ ВРЕМЕНИ ТОЛЬКО ЗА ОДИН МЕСЯЦ

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

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры

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

Работающие сотрудники

Получить работающих сотрудников по заданным параметрам отбора
ЗУП 3
//Пример функция для получения актуальных работающих сотрудников за период
//Возвращается таблица значений

Функция ПроверитьНаличиеПодработки(Сотрудник, ДатаНазначения)
	
	СтруктураДанных = Новый Структура();
	
	СтруктураДанных.Вставить("ДатаНачала",);
	СтруктураДанных.Вставить("ДатаОкончания",);
	СтруктураДанных.Вставить("РазмерОклада",);
	
	ПараметрыПолучения = ПолучитьПараметры();
	ПараметрыПолучения.Организация = ЭтотОбъект.Организация;
	
	//Если ЗначениеЗаполнено(Подразделение) Тогда
	//	ПараметрыПолучения.Подразделение = Подразделение;	
	//КонецЕсли;
	
	//Если ВключаяУволенныхНаНачалоПериода Тогда
	//	ПараметрыПолучения.ВключаяУволенныхНаНачалоПериода = Истина;
	//КонецЕсли;
	
	ПараметрыПолучения.НачалоПериода = НачалоМесяца(ДатаНазначения);
	ПараметрыПолучения.ОкончаниеПериода = КонецМесяца(ДатаНазначения);
	ПараметрыПолучения.ПодработкиРаботниковПоТрудовымДоговорам = Истина;
	ПараметрыПолучения.РаботникиПоДоговорамГПХ = Ложь;
	
	// ОТБОР ПО ВИДУ ЗАНЯТОСТИ РАБОТАЕТ ТОЛЬКО НАЧИНАЯ С РЕДАКЦИИ 3.1.7
	//ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(
	//			ПараметрыПолучения.Отборы, "ВидЗанятости", "=", Перечисления.ВидыЗанятости.Подработка);
				
	ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(
				ПараметрыПолучения.Отборы, "ФизическоеЛицо", "=", Сотрудник.ФизическоеЛицо);

	ПараметрыПолучения.КадровыеДанные = "Сотрудник,ФизическоеЛицо,Подразделение,Должность,ДолжностьПоШтатномуРасписанию,КоличествоСтавок,ВидЗанятости,ДатаПриема,ДатаУвольнения,ГрафикРаботы";
	
	ТаблицаСотрудников = КадровыйУчет.СотрудникиОрганизации(Истина, ПараметрыПолучения);
	
	Возврат ТаблицаСотрудников;
	
КонецФункции


&НаСервере
Функция ПолучитьПараметры()
	Возврат КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц();	
КонецФункции

Кадровые данные сотрудника

Получить кадровые данные сотрудника в ЗУП 3
ЗУП 3
КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина, 
    ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Строка), 
    "Организация,ФизическоеЛицо,ТабельныйНомер,Подразделение,Должность,ВидЗанятости,ДолжностьПоШтатномуРасписанию,КоличествоСтавок,ДатаПриема,ДатаУвольнения,ГрафикРаботы,СтатьяФинансирования, РазрядКатегория ", ТекущаяДата());

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

Паспортные данные физического лица

Получить паспортные данные физического лица
ЗУП 3
ДанныеФизЛица = КадровыйУчет.ДокументыФизическихЛиц(ВыборкаСтрок.ФизическоеЛицо, Истина); 
			
ОбластьМакетаСтрока.Параметры.Паспорт = "" + ДанныеФизЛица[0].ВидДокумента + ", " 
+ ДанныеФизЛица[0].Серия + ", " + ДанныеФизЛица[0].Номер + ", выдан: " + ДанныеФизЛица[0].КемВыдан;

Основной сотрудник физ. лица

Получить основного сотрудника физического лица
ЗУП 3
&НаСервере
Процедура УстановитьОсновногоСотрудника(ВыводитьСообщения = Истина)
	
   Объект.ОсновнойСотрудник = КадровыйУчетРасширенный.ОсновнойСотрудникФизЛица(Объект.ФизическоеЛицо, Объект.Организация, Объект.ДатаНачала, ВыводитьСообщения);

КонецПроцедуры

Стажи сотрудников

Получить стажи сотрудников в ЗУП 3
ЗУП 3
&НаСервере
Функция РассчитатьСтажиСотрудниковЗанявшихПозиции(ПозицияШР, Должность, Подразделение, ДатаОтсчета, КатегорияДолжности, ОкладИндекс)
	
	СтруктураДанных = Новый Структура();
	
	СтруктураДанных.Вставить("ДатаНачала",);
	СтруктураДанных.Вставить("ДатаОкончания",);
	СтруктураДанных.Вставить("РазмерОклада",);
	
	ПараметрыПолучения = ПолучитьПараметры();
	ПараметрыПолучения.Организация = Отчет.Организация;
	
	//Если ЗначениеЗаполнено(Подразделение) Тогда
	//	ПараметрыПолучения.Подразделение = Подразделение;	
	//КонецЕсли;
	
	//Если ВключаяУволенныхНаНачалоПериода Тогда
	//	ПараметрыПолучения.ВключаяУволенныхНаНачалоПериода = Истина;
	//КонецЕсли;
	
	ПараметрыПолучения.НачалоПериода = НачалоМесяца(ДатаОтсчета);
	ПараметрыПолучения.ОкончаниеПериода = КонецМесяца(ДатаОтсчета);
	ПараметрыПолучения.ПодработкиРаботниковПоТрудовымДоговорам = Истина;
	ПараметрыПолучения.РаботникиПоДоговорамГПХ = Ложь;
	
	//ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(
	//ПараметрыПолучения.Отборы, "ДолжностьПоШтатномуРасписанию", "=", ПозицияШР);
	
	ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(
	ПараметрыПолучения.Отборы, "Должность", "=", Должность);
	
	ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(
	ПараметрыПолучения.Отборы, "Подразделение", "=", Подразделение);
	
	ПараметрыПолучения.КадровыеДанные = "Сотрудник,ФизическоеЛицо,Подразделение,Должность,ДолжностьПоШтатномуРасписанию,КоличествоСтавок,ВидЗанятости,ДатаПриема,ДатаУвольнения";
	
	ТаблицаСотрудников = КадровыйУчет.СотрудникиОрганизации(Истина, ПараметрыПолучения);
	
	//ДанныеПозиции = УправлениеШтатнымРасписанием.ДанныеПозицииШтатногоРасписания(ПозицияШР, ДатаОтсчета, Истина);
	
	ТаблицаСтажей = КадровыйУчетРасширенный.СведенияОСтажахСотрудников(ТаблицаСотрудников);
	
	Возврат ТаблицаСтажей;
	
КонецФункции

Действующие плановые начисления на дату

Получить действующие плановые начисления на дату в ЗУП 3
ЗУП 3
//Функция возвращает актуальные плановые начисления сотрудников на заданную дату в виде таблицы значений

ТекущиеДанныеОплатыТруда = КадровыйУчетРасширенный.ТекущиеНачисленияСотрудника(Сотрудник, ТекущаяДата(),,);

//Или для списка сотрудников

ТекущиеДанныеОплатыТруда = КадровыйУчетРасширенный.ТекущиеНачисленияСотрудников(МассивСотрудник, ТекущаяДата(),,);

Получить данные позиции штатного расписания

Получение данных позиции штатного расписания в ЗУП 3
ЗУП 3
//Функция возвращает данные позиции штатного расписания на заданную дату в виде таблицы значений

ДанныеПозиции = УправлениеШтатнымРасписанием.ДанныеПозицииШтатногоРасписания(Позиция, ТекущаяДата(), Истина);