Данные бухгалтерского учета
Теги: 1С,ЗУП 3

Получить данные бухгалтерского учета (организации, подразделения, сотрудника, начисления) в ЗУП 3

# Код реализации

```1c
&НаСервере
Процедура ОтражениеВУчетеНаСервере()

	//Тестировалось на релизе 3.1.8

	Сотрудник = Справочники.Сотрудники.НайтиПоНаименованию("Колесник Дмитрий Иванович");
	ДатаНачалаСобытия = ДАТА(2018,12,14);
	Начисление = ПланыВидовРасчета.Начисления.НайтиПоНаименованию("Оплата по окладу");

	// Определяет статью финансирования, используемую для СОТРУДНИКА по умолчанию.

	ОтражениеВБухучетеНачисления = УчетСреднегоЗаработка.ОтражениеВБухучетеПоУмолчанию(Сотрудник, ДатаНачалаСобытия, Начисление);

	// Определяет статью финансирования, используемую для НАЧИСЛЕНИЯ СОТРУДНИКА по умолчанию.

	ОтражениеВБухучетеСотрудника = УчетСреднегоЗаработка.ОтражениеВБухучетеПоУмолчанию(Сотрудник, ДатаНачалаСобытия);

	//ОтражениеВБухучетеСотрудника2 = ОтражениеЗарплатыВБухучетеРасширенный.НастройкаБухучетаЗарплатыСотрудника(Сотрудник, ДатаНачалаСобытия);

	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	//ВАРИАНТ 1

	// Определяет статью финансирования, используемую для НАЧИСЛЕНИЯ СОТРУДНИКА по умолчанию.
	// Определяет откуда применяется статья финансирования (из Организации, Подразделения, Сотрудника)
	// и выводит статью финансирования с учетом всех введенных данных

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

	МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();

	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;

	Запрос.Текст =
	"ВЫБРАТЬ
	|	ТаблицаСотрудников.Сотрудник КАК Сотрудник,
	|	ТаблицаСотрудников.Период КАК Период,
	|	ТаблицаСотрудников.Подразделение КАК Подразделение,
	|	ТаблицаСотрудников.ТерриторияВыполненияРаботВОрганизации КАК ТерриторияВыполненияРаботВОрганизации
	|ПОМЕСТИТЬ ВТСотрудники
	|ИЗ
	|	&ТаблицаСотрудников КАК ТаблицаСотрудников";

	Запрос.УстановитьПараметр("ТаблицаСотрудников", КадровыеДанныеСотрудника);
	Запрос.Выполнить();

	ОтражениеЗарплатыВБухучете.СоздатьВТСведенияОБухучетеЗарплатыСотрудников(МенеджерВременныхТаблиц, "ВТСотрудники", "Сотрудник,Период", КадровыеДанныеСотрудника[0].Организация);

	ОтражениеВБухучетеСотрудникаПодробно = МенеджерВременныхТаблиц.Таблицы.Найти("ВТСведенияОБухучетеЗарплатыСотрудников").ПолучитьДанные().Выгрузить();

	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	//ВАРИАНТ 2

	МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

	ТекстЗапроса =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	Сотрудники.Ссылка КАК Сотрудник,
	|	&ДатаАктуальности КАК Период
	|ПОМЕСТИТЬ ВТСотрудники
	|ИЗ
	|	Справочник.Сотрудники КАК Сотрудники
	|ГДЕ
	|	Сотрудники.Ссылка = &Сотрудник";

	Запрос = Новый Запрос(ТекстЗапроса);
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
	Запрос.УстановитьПараметр("ДатаАктуальности", ДатаНачалаСобытия);
	Запрос.Выполнить();

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

	Отборы = Новый Массив;
	ОтборыНачислений = Новый Структура("ПлановыеНачисления", ОбщегоНазначенияКлиентСервер.СкопироватьМассив(Отборы));

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

	ЗапросВТПлановыеНачисления.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	ЗапросВТПлановыеНачисления.Выполнить();

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

	ОтражениеВБухучетеНачисленийСотрудникаПодробно = МенеджерВременныхТаблиц.Таблицы.Найти("ВТСведенияОБухучетеНачисленийСотрудников").ПолучитьДанные().Выгрузить();
	ОтражениеВБухучетеСотрудникаПодробно = МенеджерВременныхТаблиц.Таблицы.Найти("ВТСведенияОБухучетеЗарплатыСотрудников").ПолучитьДанные().Выгрузить();

   	ВТПлановыеНачисленияСотрудников = МенеджерВременныхТаблиц.Таблицы.Найти("ВТПлановыеНачисленияСотрудников").ПолучитьДанные().Выгрузить();

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