Приз, подарок / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет настройки объекта для подсистемы ВерсионированиеОбъектов.
//
// Параметры:
//  Настройки - Структура - настройки подсистемы.
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт

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

// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов


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

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

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

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

#Область ДляВызоваИзДругихПодсистем

// СтандартныеПодсистемы.УправлениеДоступом

// См. УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа.
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
	Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ДляВсехСтрок( ЗначениеРазрешено(ФизическиеЛица.ФизическоеЛицо, NULL КАК ИСТИНА)
	|	) И ЗначениеРазрешено(Организация)";
КонецПроцедуры

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

// Описание - возвращает структуру со значениями по которым будут проверяться права на разделы документа
// 				 
// Параметры:
//  ДокументОбъект - ДокументОбъект.Премия, ДанныеФормыСтруктура - объект или данные формы, 
//					отображающие данные документа, для которого нужно получить данные
//
// Возвращаемое значение:
// 	Структура -  см. НовыйЗначенияДоступа - значения доступа по которым будут проверяться права на документ
//
Функция ЗначенияДоступа(ДокументОбъект) Экспорт
	Возврат МногофункциональныеДокументыБЗК.ЗначенияДоступаПоСоставуДокумента(
		ДокументОбъект, 
		ДокументОбъект.Организация);
КонецФункции

#КонецОбласти

#КонецОбласти

#Область СлужебныйПрограммныйИнтерфейс

#Область ОбработчикиПравилРегистрации

// См. ЗарплатаКадрыРасширенныйСинхронизацияДанных.ШаблонОбработчика
Процедура ПриЗаполненииНастроекОбработчиковПравилРегистрации(Настройки) Экспорт
	ЗарплатаКадрыРасширенныйСинхронизацияДанных.ДляОтбораПоОрганизации(Настройки);
	ЗарплатаКадрыРасширенныйСинхронизацияДанных.ДляОбъектаСПрисоединеннымиФайлами(Настройки);
КонецПроцедуры

#КонецОбласти

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

Функция ДанныеДляБухучетаЗарплатыПервичныхДокументов(Объект) Экспорт

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

// Возвращает описание состава документа
//
// Возвращаемое значение:
//  Структура - см. ЗарплатаКадрыСоставДокументов.НовоеОписаниеСоставаОбъекта.
Функция ОписаниеСоставаОбъекта() Экспорт
	
	МетаданныеДокумента = Метаданные.Документы.ПризПодарок;
	Возврат ЗарплатаКадрыСоставДокументов.ОписаниеСоставаОбъектаПоМетаданнымФизическиеЛицаВТабличныхЧастях(МетаданныеДокумента);
	
КонецФункции

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

Функция ПараметрыИсправляемогоДокумента(ДокументСсылка) Экспорт
	
	Возврат ИсправлениеДокументовЗарплатаКадры.ПараметрыИсправляемогоДокумента(ДокументСсылка,
		СвойстваИсправляемогоДокумента(ДокументСсылка));
	
КонецФункции

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

Функция ОбъектЗаблокирован(СсылкаНаОбъект) Экспорт
	
	Возврат Истина;
	
КонецФункции

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

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

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

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

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Функция ДанныеДляПроведения(РеквизитыДляПроведения, СтруктураВидовУчета) 

	ДанныеДляПроведения = РасчетЗарплаты.СоздатьДанныеДляПроведенияНачисленияЗарплаты();
		
	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	
	ВидыДоходаИсполнительногоПроизводства = УчетНачисленнойЗарплаты.ВидыДоходовИсполнительногоПроизводстваНачислений(РеквизитыДляПроведения.ДатаПолученияДохода);
	ВидыДохода = ВидыДоходаИсполнительногоПроизводства[Перечисления.ВидыОсобыхНачисленийИУдержаний.СтоимостьПодарковПризов];
	
	УчетНДФЛ.СоздатьВТДанныеНДФЛПоДокументу(Запрос.МенеджерВременныхТаблиц, РеквизитыДляПроведения.Ссылка);
	
	Запрос.УстановитьПараметр("Ссылка", РеквизитыДляПроведения.Ссылка);
	Запрос.УстановитьПараметр("ИспользоватьШтатноеРасписание", ПолучитьФункциональнуюОпцию("ИспользоватьШтатноеРасписание"));
	Запрос.УстановитьПараметр("ВидДоходаИсполнительногоПроизводства", ВидыДохода);
	
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ПризПодарок.Ссылка КАК Ссылка,
	|	ПризПодарок.Ссылка.Дата КАК Дата,
	|	ПризПодарок.Ссылка.ДатаПолученияДохода КАК ДатаДействия,
	|	ПризПодарок.Ссылка.КатегорияДохода КАК КатегорияДохода,
	|	НАЧАЛОПЕРИОДА(ПризПодарок.Ссылка.ДатаПолученияДохода, МЕСЯЦ) КАК ПериодДействия,
	|	ПризПодарок.Ссылка.Организация КАК Организация,
	|	ПризПодарок.Сотрудник КАК Сотрудник,
	|	ПризПодарок.Подразделение КАК Подразделение,
	|	ПризПодарок.МестоПолученияДохода КАК МестоПолученияДохода,
	|	ПризПодарок.Сотрудник.ФизическоеЛицо КАК ФизическоеЛицо,
	|	ПризПодарок.Ссылка.ДатаПолученияДохода КАК ПланируемаяДатаВыплаты,
	|	НАЧАЛОПЕРИОДА(ПризПодарок.Ссылка.ДатаПолученияДохода, МЕСЯЦ) КАК МесяцНалоговогоПериода,
	|	НАЧАЛОПЕРИОДА(ПризПодарок.Ссылка.ДатаПолученияДохода, МЕСЯЦ) КАК ПериодРегистрации,
	|	ЗНАЧЕНИЕ(Перечисление.ВидыОсобыхНачисленийИУдержаний.СтоимостьПодарковПризов) КАК Начисление,
	|	&ВидДоходаИсполнительногоПроизводства КАК ВидДоходаИсполнительногоПроизводства,
	|	ПризПодарок.Результат КАК Сумма,
	|	ПризПодарок.Ссылка.КодДоходаНДФЛ КАК КодДохода,
	|	ПризПодарок.Ссылка.КодДоходаНДФЛ.СтавкаНалогообложенияРезидента КАК СтавкаНалогообложенияРезидента,
	|	ПризПодарок.Ссылка.ВидДоходаСтраховыеВзносы КАК ВидДохода,
	|	ПризПодарок.КодВычета КАК КодВычета,
	|	ПризПодарок.НДФЛ - &ВычитаемыеНалоги КАК НДФЛ,
	|	0 КАК Налог,
	|	ПризПодарок.СуммаВычета КАК СуммаВычета,
	|	ПризПодарок.Ссылка.СтатьяФинансирования КАК СтатьяФинансирования,
	|	ПризПодарок.Ссылка.СтатьяРасходов КАК СтатьяРасходов,
	|	ПризПодарок.Ссылка.СпособОтраженияЗарплатыВБухучете КАК СпособОтраженияЗарплатыВБухучете,
	|	ПризПодарок.Ссылка.ОтношениеКЕНВД КАК ОтношениеКЕНВД,
	|	ПризПодарок.Ссылка.ПериодРегистрации КАК ПериодРегистрацииДокумента,
	|	ПризПодарок.Ссылка.ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов КАК ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов,
	|	ЛОЖЬ КАК Сторно,
	|	НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
	|	ПризПодарок.НомерСтроки КАК НомерСтроки
	|ПОМЕСТИТЬ ВТДанныеДокументаПредварительно
	|ИЗ
	|	Документ.ПризПодарок.Начисления КАК ПризПодарок
	|ГДЕ
	|	ПризПодарок.Ссылка = &Ссылка
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПризПодарок.Ссылка,
	|	ПризПодарок.Ссылка.Дата,
	|	ПризПодарок.Ссылка.ДатаПолученияДохода,
	|	ПризПодарок.Ссылка.КатегорияДохода КАК КатегорияДохода,
	|	НАЧАЛОПЕРИОДА(ПризПодарок.Ссылка.ДатаПолученияДохода, МЕСЯЦ),
	|	ПризПодарок.Ссылка.Организация,
	|	ПризПодарок.Сотрудник,
	|	ПризПодарок.Подразделение,
	|	ПризПодарок.МестоПолученияДохода,
	|	ПризПодарок.Сотрудник.ФизическоеЛицо,
	|	ПризПодарок.Ссылка.ДатаПолученияДохода,
	|	НАЧАЛОПЕРИОДА(ПризПодарок.Ссылка.ДатаПолученияДохода, МЕСЯЦ),
	|	НАЧАЛОПЕРИОДА(ПризПодарок.Ссылка.ДатаПолученияДохода, МЕСЯЦ),
	|	ЗНАЧЕНИЕ(Перечисление.ВидыОсобыхНачисленийИУдержаний.СтоимостьПодарковПризов),
	|	&ВидДоходаИсполнительногоПроизводства,
	|	ВЫБОР
	|		КОГДА ПризПодарок.Сторно
	|			ТОГДА -ПризПодарок.Результат
	|		ИНАЧЕ ПризПодарок.Результат
	|	КОНЕЦ,
	|	ПризПодарок.Ссылка.КодДоходаНДФЛ,
	|	ПризПодарок.Ссылка.КодДоходаНДФЛ.СтавкаНалогообложенияРезидента,
	|	ПризПодарок.Ссылка.ВидДоходаСтраховыеВзносы,
	|	ПризПодарок.КодВычета,
	|	ВЫБОР
	|		КОГДА ПризПодарок.Сторно
	|			ТОГДА -ПризПодарок.НДФЛ
	|		ИНАЧЕ ПризПодарок.НДФЛ
	|	КОНЕЦ,
	|	&СторноНалогов,
	|	ВЫБОР
	|		КОГДА ПризПодарок.Сторно
	|			ТОГДА -ПризПодарок.СуммаВычета
	|		ИНАЧЕ ПризПодарок.СуммаВычета
	|	КОНЕЦ,
	|	ПризПодарок.Ссылка.СтатьяФинансирования,
	|	ПризПодарок.Ссылка.СтатьяРасходов,
	|	ПризПодарок.Ссылка.СпособОтраженияЗарплатыВБухучете,
	|	ПризПодарок.Ссылка.ОтношениеКЕНВД,
	|	ПризПодарок.Ссылка.ПериодРегистрации,
	|	ПризПодарок.Ссылка.ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов,
	|	ПризПодарок.Сторно,
	|	ПризПодарок.СторнируемыйДокумент,
	|	ПризПодарок.НомерСтроки
	|ИЗ
	|	Документ.ПризПодарок.НачисленияПерерасчет КАК ПризПодарок
	|ГДЕ
	|	ПризПодарок.Ссылка = &Ссылка
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ДанныеДокумента.ФизическоеЛицо КАК ФизическоеЛицо
	|ПОМЕСТИТЬ ВТФизическиеЛица
	|ИЗ
	|	ВТДанныеДокументаПредварительно КАК ДанныеДокумента
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ДанныеДокумента.ФизическоеЛицо КАК ФизическоеЛицо,
	|	ДанныеДокумента.КодДохода КАК КодДохода,
	|	ДанныеДокумента.КатегорияДохода КАК КатегорияДохода,
	|	ДанныеДокумента.СтавкаНалогообложенияРезидента КАК СтавкаНалогообложенияРезидента,
	|	ДанныеДокумента.ПланируемаяДатаВыплаты КАК Период
	|ПОМЕСТИТЬ ВТДоходыФизическихЛиц
	|ИЗ
	|	ВТДанныеДокументаПредварительно КАК ДанныеДокумента";
	ИменаРесурсовНалога = УчетНДФЛ.РесурсыИсчисленногоНалогаВМассиве("НДФЛ", Истина);
	ТекстНалогов = "";
	ТекстСторноНалогов = "";
	ТекстВычитаемыхНалогов = "";
	Для каждого ИмяРесурса Из ИменаРесурсовНалога Цикл
		ТекстСторноНалогов = ТекстСторноНалогов + "
		|	ВЫБОР
		|		КОГДА ПризПодарок.Сторно
		|			ТОГДА -ПризПодарок." + ИмяРесурса + "
		|		ИНАЧЕ ПризПодарок." + ИмяРесурса + "
		|	КОНЕЦ," + Символы.ПС;
		ТекстНалогов = ТекстНалогов + "ПризПодарок." + ИмяРесурса + " КАК " + ИмяРесурса + "," + Символы.ПС;
		ТекстВычитаемыхНалогов = ТекстВычитаемыхНалогов + " - ПризПодарок." + ИмяРесурса;
	КонецЦикла;
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СторноНалогов,", ТекстСторноНалогов);
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "- &ВычитаемыеНалоги", ТекстВычитаемыхНалогов);
	Запрос.Текст = СтрЗаменить(ТекстЗапроса, "0 КАК Налог,", ТекстНалогов);
	
	Запрос.Выполнить();
	
	// Территория Сотрудников
	Запрос.УстановитьПараметр("ИспользоватьРаспределениеПоТерриториямУсловиямТруда", ЗарплатаКадрыРасширенный.ИспользоватьРаспределениеПоТерриториямУсловиямТруда(РеквизитыДляПроведения.Организация));
	
	ОписательВременныхТаблиц = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотрудников(
		Запрос.МенеджерВременныхТаблиц, "ВТДанныеДокументаПредварительно", "Сотрудник,ДатаДействия");
	ОписательВременныхТаблиц.ИмяВТКадровыеДанныеСотрудников = "ВТТерриторииСотрудников";
	КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(ОписательВременныхТаблиц, Ложь, "Территория");
	
	ТекстЗапроса = 
	"ВЫБРАТЬ
	|	ДанныеДокумента.Ссылка КАК Ссылка,
	|	ДанныеДокумента.Дата КАК Дата,
	|	ДанныеДокумента.ДатаДействия КАК ДатаДействия,
	|	ДанныеДокумента.ПериодДействия КАК ПериодДействия,
	|	ДанныеДокумента.Организация КАК Организация,
	|	ДанныеДокумента.Сотрудник КАК Сотрудник,
	|	ДанныеДокумента.Подразделение КАК Подразделение,
	|	ДанныеДокумента.МестоПолученияДохода КАК МестоПолученияДохода,
	|	ВЫБОР
	|		КОГДА &ИспользоватьРаспределениеПоТерриториямУсловиямТруда = ЛОЖЬ
	|			ТОГДА ДанныеДокумента.Подразделение
	|		КОГДА ТерриторииСотрудников.Территория ЕСТЬ NULL
	|				ИЛИ ТерриторииСотрудников.Территория = НЕОПРЕДЕЛЕНО
	|				ИЛИ ТерриторииСотрудников.Территория = ЗНАЧЕНИЕ(Справочник.ТерриторииВыполненияРабот.ПустаяСсылка)
	|			ТОГДА ДанныеДокумента.Подразделение
	|		ИНАЧЕ ТерриторииСотрудников.Территория
	|	КОНЕЦ КАК ТерриторияВыполненияРаботВОрганизации,
	|	ДанныеДокумента.Подразделение КАК ПодразделениеСотрудника,
	|	ДанныеДокумента.ФизическоеЛицо КАК ФизическоеЛицо,
	|	ДанныеДокумента.ПланируемаяДатаВыплаты КАК ПланируемаяДатаВыплаты,
	|	ДанныеДокумента.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
	|	ДанныеДокумента.ПериодРегистрации КАК ПериодРегистрации,
	|	ДанныеДокумента.Начисление КАК Начисление,
	|	ДанныеДокумента.ВидДоходаИсполнительногоПроизводства КАК ВидДоходаИсполнительногоПроизводства,
	|	ДанныеДокумента.Сумма КАК Сумма,
	|	ДанныеДокумента.КодДохода КАК КодДохода,
	|	ДанныеДокумента.СтавкаНалогообложенияРезидента КАК СтавкаНалогообложенияРезидента,
	|	ДанныеДокумента.ВидДохода КАК ВидДохода,
	|	ДанныеДокумента.КодВычета КАК КодВычета,
	|	0 КАК Налог,
	|	ДанныеДокумента.КатегорияДохода КАК КатегорияДохода,
	|	ДанныеДокумента.СуммаВычета КАК СуммаВычета,
	|	ДанныеДокумента.СтатьяФинансирования КАК СтатьяФинансирования,
	|	ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
	|	ДанныеДокумента.СпособОтраженияЗарплатыВБухучете КАК СпособОтраженияЗарплатыВБухучете,
	|	ДанныеДокумента.ОтношениеКЕНВД КАК ОтношениеКЕНВД,
	|	ДанныеДокумента.ПериодРегистрацииДокумента КАК ПериодРегистрацииДокумента,
	|	ДанныеДокумента.ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов КАК ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов,
	|	ДанныеДокумента.Сторно КАК Сторно,
	|	ДанныеДокумента.СторнируемыйДокумент КАК СторнируемыйДокумент,
	|	ДанныеДокумента.НомерСтроки КАК НомерСтроки,
	|	АВТОНОМЕРЗАПИСИ() КАК ИдентификаторСтроки
	|ПОМЕСТИТЬ ВТДанныеДокумента
	|ИЗ
	|	ВТДанныеДокументаПредварительно КАК ДанныеДокумента
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТТерриторииСотрудников КАК ТерриторииСотрудников
	|		ПО ДанныеДокумента.Сотрудник = ТерриторииСотрудников.Сотрудник
	|			И ДанныеДокумента.ДатаДействия = ТерриторииСотрудников.Период";
	ИменаРесурсовНалога = УчетНДФЛ.РесурсыИсчисленногоНалогаВМассиве("НДФЛ");
	ТекстНалогов = "";
	Для каждого ИмяРесурса Из ИменаРесурсовНалога Цикл
		ТекстНалогов = ТекстНалогов + "ДанныеДокумента." + ИмяРесурса + " КАК " + ИмяРесурса + "," + Символы.ПС;
	КонецЦикла;
	Запрос.Текст = СтрЗаменить(ТекстЗапроса, "0 КАК Налог,", ТекстНалогов);
	Запрос.Выполнить();
		
	Если ПолучитьФункциональнуюОпцию("ИспользоватьСтатьиФинансированияЗарплата") Тогда
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	ДанныеДокумента.ПериодРегистрации КАК ПериодРегистрации,
		|	ДанныеДокумента.ДатаДействия КАК ДатаДействия,
		|	ДанныеДокумента.ПериодДействия КАК ПериодДействия,
		|	ДанныеДокумента.Организация КАК Организация,
		|	ДанныеДокумента.Сотрудник КАК Сотрудник,
		|	ДанныеДокумента.ФизическоеЛицо КАК ФизическоеЛицо,
		|	ДанныеДокумента.Подразделение КАК Подразделение,
		|	ДанныеДокумента.МестоПолученияДохода КАК МестоПолученияДохода,
		|	ДанныеДокумента.ПодразделениеСотрудника КАК ПодразделениеСотрудника,
		|	ДанныеДокумента.ТерриторияВыполненияРаботВОрганизации КАК ТерриторияВыполненияРаботВОрганизации,
		|	ДанныеДокумента.Начисление КАК Начисление,
		|	ДанныеДокумента.ВидДоходаИсполнительногоПроизводства КАК ВидДоходаИсполнительногоПроизводства,
		|	ДанныеДокумента.ВидДохода КАК ВидДохода,
		|	ДанныеДокумента.ПериодРегистрацииДокумента КАК ПериодРегистрацииДокумента,
		|	ДанныеДокумента.ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов КАК ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов,
		|	ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПоЗарплате.ПустаяСсылка) КАК ВидОперации,
		|	НАЧАЛОПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) КАК ДатаНачала,
		|	КОНЕЦПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) КАК ДатаОкончания,
		|	ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
		|	ДанныеДокумента.Сумма КАК Сумма,
		|	ДанныеДокумента.СуммаВычета КАК СуммаВычета,
		|	ДанныеДокумента.Ссылка КАК ДокументОснование,
		|	ЛОЖЬ КАК РассчитыватьПоРазовымНачислениямДокумента,
		|	ДанныеДокумента.Сторно КАК Сторно,
		|	ДанныеДокумента.СторнируемыйДокумент КАК СторнируемыйДокумент
		|ПОМЕСТИТЬ ВТНачисленияДляРаспределения
		|ИЗ
		|	ВТДанныеДокумента КАК ДанныеДокумента";
		
		Запрос.Выполнить();
		
		ОтражениеЗарплатыВБухучетеРасширенный.СоздатьВТРаспределениеПризПодарокПоСтатьям(
										Запрос.МенеджерВременныхТаблиц,
										Документы.ПризПодарок.ДанныеДляБухучетаЗарплатыПервичныхДокументов(РеквизитыДляПроведения).ТаблицаБухучетЗарплаты,
										РеквизитыДляПроведения.Организация,
										РеквизитыДляПроведения.ПериодРегистрации);
										
		//
		ИспользоватьБюджетныйТарифНСиПЗ = ОтражениеЗарплатыВБухучетеРасширенный.ИспользоватьБюджетныйТарифНСиПЗ(РеквизитыДляПроведения.ПериодРегистрации);
		Если ИспользоватьБюджетныйТарифНСиПЗ Тогда
			// Проверка подсистемы выполнена в ИспользоватьБюджетныйТарифНСиПЗ().
			МодульУчетБюджетныхУчреждений = ОбщегоНазначения.ОбщийМодуль("УчетБюджетныхУчреждений");
			МодульУчетБюджетныхУчреждений.СоздатьВТСтатьиБюджетныйТарифНСиПЗ(Запрос.МенеджерВременныхТаблиц);
		КонецЕсли;
		
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	Начисления.ПериодРегистрации КАК ПериодРегистрации,
		|	Начисления.ПериодРегистрации КАК МесяцНачисления,
		|	Начисления.ДатаДействия КАК ДатаДействия,
		|	Начисления.ДатаДействия КАК ДатаДохода,
		|	Начисления.ПериодДействия КАК ПериодДействия,
		|	Начисления.Организация КАК Организация,
		|	Начисления.Сотрудник КАК Сотрудник,
		|	Начисления.ФизическоеЛицо КАК ФизическоеЛицо,
		|	Начисления.Подразделение КАК Подразделение,
		|	Начисления.МестоПолученияДохода КАК МестоПолученияДохода,
		|	Начисления.ПодразделениеСотрудника КАК ПодразделениеСотрудника,
		|	Начисления.ТерриторияВыполненияРаботВОрганизации КАК ТерриторияВыполненияРаботВОрганизации,
		|	Начисления.Начисление КАК Начисление,
		|	Начисления.ВидДоходаИсполнительногоПроизводства КАК ВидДоходаИсполнительногоПроизводства,
		|	Начисления.ВидДохода КАК ВидДохода,
		|	Начисления.ПериодРегистрацииДокумента КАК ПериодРегистрацииДокумента,
		|	Начисления.ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов КАК ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов,
		|	Начисления.ДатаНачала КАК ДатаНачала,
		|	Начисления.ДатаОкончания КАК ДатаОкончания,
		|	Начисления.ДокументОснование КАК ДокументОснование,
		|	Начисления.ДокументОснование КАК ДокументСсылка,
		|	ЗНАЧЕНИЕ(Справочник.УсловияТруда.ПустаяСсылка) КАК УсловияТруда,
		|	Начисления.Подразделение КАК ПодразделениеОрганизации,
		|	БухучетНачислений.Сумма КАК СуммаДохода,
		|	ВЫБОР
		|		КОГДА Начисления.Сумма = 0
		|			ТОГДА Начисления.СуммаВычета
		|		КОГДА БухучетНачислений.ОблагаетсяЕНВД
		|			ТОГДА ВЫРАЗИТЬ(Начисления.СуммаВычета * БухучетНачислений.Сумма / Начисления.Сумма КАК ЧИСЛО(15, 2))
		|		ИНАЧЕ Начисления.СуммаВычета - (ВЫРАЗИТЬ(Начисления.СуммаВычета * (Начисления.Сумма - БухучетНачислений.Сумма) / Начисления.Сумма КАК ЧИСЛО(15, 2)))
		|	КОНЕЦ КАК СуммаВычетаВзносы,
		|	БухучетНачислений.СтатьяФинансирования КАК СтатьяФинансирования,
		|	БухучетНачислений.СтатьяРасходов КАК СтатьяРасходов,
		|	БухучетНачислений.СпособОтраженияЗарплатыВБухучете КАК СпособОтраженияЗарплатыВБухучете,
		|	БухучетНачислений.ОблагаетсяЕНВД КАК ОблагаетсяЕНВД,
		|	БухучетНачислений.Сумма КАК Сумма,
		|	ВЫБОР
		|		КОГДА Начисления.Сумма = 0
		|			ТОГДА Начисления.СуммаВычета
		|		КОГДА БухучетНачислений.ОблагаетсяЕНВД
		|			ТОГДА ВЫРАЗИТЬ(Начисления.СуммаВычета * БухучетНачислений.Сумма / Начисления.Сумма КАК ЧИСЛО(15, 2))
		|		ИНАЧЕ Начисления.СуммаВычета - (ВЫРАЗИТЬ(Начисления.СуммаВычета * (Начисления.Сумма - БухучетНачислений.Сумма) / Начисления.Сумма КАК ЧИСЛО(15, 2)))
		|	КОНЕЦ КАК СуммаВычета,
		|	Начисления.Сторно КАК Сторно,
		|	Начисления.СторнируемыйДокумент КАК СторнируемыйДокумент,
		|	Начисления.ИдентификаторСтроки КАК ИдентификаторСтроки
		|ПОМЕСТИТЬ ВТНачисления
		|ИЗ
		|	ВТНачисленияДляРаспределения КАК Начисления
		|		ЛЕВОЕ СОЕДИНЕНИЕ ВТРаспределениеПризПодарокПоСтатьям КАК БухучетНачислений
		|		ПО Начисления.ИдентификаторСтроки = БухучетНачислений.ИдентификаторСтроки
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|УНИЧТОЖИТЬ ВТНачисленияДляРаспределения
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|УНИЧТОЖИТЬ ВТРаспределениеПризПодарокПоСтатьям";
		
		Если ИспользоватьБюджетныйТарифНСиПЗ Тогда
			
			СхемаЗапроса = Новый СхемаЗапроса;
			СхемаЗапроса.УстановитьТекстЗапроса(Запрос.Текст);
			ЗапросВыбора = СхемаЗапроса.ПакетЗапросов[0];
			
			ОписаниеВТ = ЗапросВыбора.Операторы[0].Источники.Добавить(Тип("ОписаниеВременнойТаблицыСхемыЗапроса"), "ВТСтатьиБюджетныйТарифНСиПЗ", "СтатьиБюджетныйТарифНСиПЗ"); 
			ИменаПолейВТ = ОбщегоНазначения.ВыгрузитьКолонку(Запрос.МенеджерВременныхТаблиц.Таблицы["ВТСтатьиБюджетныйТарифНСиПЗ"].Колонки, "Имя");
			Для Каждого ИмяПоля Из ИменаПолейВТ Цикл
				ОписаниеВТ.Источник.ДоступныеПоля.Добавить(ИмяПоля);
			КонецЦикла;
			УсловиеСоединения = "БухучетНачислений.СтатьяФинансирования = СтатьиБюджетныйТарифНСиПЗ.СтатьяФинансирования";
			ОписаниеВТ.Соединения.Добавить("БухучетНачислений", УсловиеСоединения);
			ОписаниеВТ.Соединения[0].ТипСоединения = ТипСоединенияСхемыЗапроса.ПравоеВнешнее;
			
			ОписаниеПоля = 
			"	ВЫБОР
			|		КОГДА ЕстьNULL(СтатьиБюджетныйТарифНСиПЗ.БюджетныйТарифНСиПЗ, ЛОЖЬ)
			|			ТОГДА БухучетНачислений.Сумма
			|		ИНАЧЕ 0
			|	КОНЕЦ";
			ЗапросВыбора.Операторы[0].ВыбираемыеПоля.Добавить(ОписаниеПоля);
			ЗапросВыбора.Колонки[ЗапросВыбора.Колонки.Количество()-1].Псевдоним = "СуммаПоБюджетномуТарифуНСиПЗ";
			
			Запрос.Текст = СхемаЗапроса.ПолучитьТекстЗапроса();

		КонецЕсли;
		Запрос.Выполнить();
		
		Если ИспользоватьБюджетныйТарифНСиПЗ Тогда
			ЗарплатаКадры.УничтожитьВТ(Запрос.МенеджерВременныхТаблиц, "ВТСтатьиБюджетныйТарифНСиПЗ");
		КонецЕсли;
		
	Иначе
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	Начисления.ПериодРегистрации КАК ПериодРегистрации,
		|	Начисления.ПериодРегистрации КАК МесяцНачисления,
		|	Начисления.ДатаДействия КАК ДатаДействия,
		|	Начисления.ДатаДействия КАК ДатаДохода,
		|	Начисления.ПериодДействия КАК ПериодДействия,
		|	Начисления.Организация КАК Организация,
		|	Начисления.Сотрудник КАК Сотрудник,
		|	Начисления.ФизическоеЛицо КАК ФизическоеЛицо,
		|	Начисления.Подразделение КАК Подразделение,
		|	Начисления.МестоПолученияДохода КАК МестоПолученияДохода,
		|	Начисления.ПодразделениеСотрудника КАК ПодразделениеСотрудника,
		|	Начисления.ТерриторияВыполненияРаботВОрганизации КАК ТерриторияВыполненияРаботВОрганизации,
		|	Начисления.Начисление КАК Начисление,
		|	Начисления.ВидДоходаИсполнительногоПроизводства КАК ВидДоходаИсполнительногоПроизводства,
		|	Начисления.ВидДохода КАК ВидДохода,
		|	Начисления.ПериодРегистрацииДокумента КАК ПериодРегистрацииДокумента,
		|	Начисления.ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов КАК ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов,
		|	НАЧАЛОПЕРИОДА(Начисления.ПериодРегистрации, МЕСЯЦ) КАК ДатаНачала,
		|	КОНЕЦПЕРИОДА(Начисления.ПериодРегистрации, МЕСЯЦ) КАК ДатаОкончания,
		|	Начисления.Ссылка КАК ДокументОснование,
		|	Начисления.Ссылка КАК ДокументСсылка,
		|	ЗНАЧЕНИЕ(Справочник.УсловияТруда.ПустаяСсылка) КАК УсловияТруда,
		|	Начисления.Подразделение КАК ПодразделениеОрганизации,
		|	Начисления.Сумма КАК СуммаДохода,
		|	Начисления.СуммаВычета КАК СуммаВычетаВзносы,
		|	ЗНАЧЕНИЕ(Справочник.СтатьиФинансированияЗарплата.ПустаяСсылка) КАК СтатьяФинансирования,
		|	ЗНАЧЕНИЕ(Справочник.СтатьиРасходовЗарплата.ПустаяСсылка) КАК СтатьяРасходов,
		|	Начисления.СпособОтраженияЗарплатыВБухучете КАК СпособОтраженияЗарплатыВБухучете,
		|	ЛОЖЬ КАК ОблагаетсяЕНВД,
		|	Начисления.Сумма КАК Сумма,
		|	Начисления.СуммаВычета КАК СуммаВычета,
		|	Начисления.Сторно КАК Сторно,
		|	Начисления.СторнируемыйДокумент КАК СторнируемыйДокумент,
		|	Начисления.ИдентификаторСтроки КАК ИдентификаторСтроки
		|ПОМЕСТИТЬ ВТНачисления
		|ИЗ
		|	ВТДанныеДокумента КАК Начисления";
		Запрос.Выполнить();
	КонецЕсли;
	
	УчетНДФЛ.СоздатьВТСтавкаНДФЛПоСтавкеРезидента(Запрос.МенеджерВременныхТаблиц,"ВТДоходыФизическихЛиц");
	
	ТекстЗапроса = 
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	НачисленияДокумента.ФизическоеЛицо КАК ФизическоеЛицо,
		|	НачисленияДокумента.СтатьяФинансирования КАК СтатьяФинансирования,
		|	НачисленияДокумента.СтатьяРасходов КАК СтатьяРасходов,
		|	НачисленияДокумента.ВидДоходаИсполнительногоПроизводства КАК ВидДоходаИсполнительногоПроизводства,
		|	НачисленияДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки
		|ПОМЕСТИТЬ ВТБухучетФизическихЛиц
		|ИЗ
		|	ВТНачисления КАК НачисленияДокумента
		|;
		|";
	
	Если РеквизитыДляПроведения.НалогРассчитанВТабличнойЧасти Тогда
		// Вычеты и данные по НДФЛ рассчитаны в табличных частях с НДФЛ
		// Данные по сторно в таблице с начислениями
		ТекстЗапроса = ТекстЗапроса + 
		"////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
		|			ТОГДА ДанныеДокумента.НДФЛ
		|		ИНАЧЕ 0
		|	КОНЕЦ КАК НалогПоСтавке13,
		|	0 КАК Сумма,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка09)
		|			ТОГДА ДанныеДокумента.НДФЛ
		|		ИНАЧЕ 0
		|	КОНЕЦ КАК НалогПоСтавке09,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка35)
		|			ТОГДА ДанныеДокумента.НДФЛ
		|		ИНАЧЕ 0
		|	КОНЕЦ КАК НалогПоСтавке35,
		|	ДанныеДокумента.ФизическоеЛицо КАК ФизическоеЛицо,
		|	ДанныеДокумента.ПланируемаяДатаВыплаты КАК МесяцНалоговогоПериода,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.МестоПолученияДохода ЕСТЬ НЕ NULL 
		|				И ДанныеДокумента.МестоПолученияДохода <> НЕОПРЕДЕЛЕНО
		|				И ДанныеДокумента.МестоПолученияДохода <> ЗНАЧЕНИЕ(Справочник.ТерриторииВыполненияРабот.ПустаяСсылка)
		|				И ДанныеДокумента.МестоПолученияДохода <> ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
		|			ТОГДА ДанныеДокумента.МестоПолученияДохода
		|		ИНАЧЕ ДанныеДокумента.ТерриторияВыполненияРаботВОрганизации
		|	КОНЕЦ КАК Подразделение,
		|	ДанныеДокумента.КатегорияДохода КАК КатегорияДохода,
		|	ЕСТЬNULL(ДанныеДокумента.КодДохода, ЗНАЧЕНИЕ(Перечисление.КатегорииДоходовНДФЛ.ПустаяСсылка)) КАК КодДохода
		|ИЗ
		|	ВТДанныеДокумента КАК ДанныеДокумента
		|ГДЕ
		|	ДанныеДокумента.Сторно = Истина
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	0 КАК Налог,
		|	НДФЛ.*
		|ИЗ
		|	ВТДанныеНДФЛ КАК НДФЛ
		|
		|;";
	Иначе
		// Вычеты, данные по НДФЛ, сторно рассчитаны в начислениях
		ТекстЗапроса = ТекстЗапроса + 
		"////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
		|			ТОГДА ДанныеДокумента.НДФЛ
		|		ИНАЧЕ 0
		|	КОНЕЦ КАК НалогПоСтавке13,
		|	0 КАК Сумма,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка09)
		|			ТОГДА ДанныеДокумента.НДФЛ
		|		ИНАЧЕ 0
		|	КОНЕЦ КАК НалогПоСтавке09,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка35)
		|			ТОГДА ДанныеДокумента.НДФЛ
		|		ИНАЧЕ 0
		|	КОНЕЦ КАК НалогПоСтавке35,
		|	ДанныеДокумента.ФизическоеЛицо КАК ФизическоеЛицо,
		|	ДанныеДокумента.ПланируемаяДатаВыплаты КАК МесяцНалоговогоПериода,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.МестоПолученияДохода ЕСТЬ НЕ NULL 
		|				И ДанныеДокумента.МестоПолученияДохода <> НЕОПРЕДЕЛЕНО
		|				И ДанныеДокумента.МестоПолученияДохода <> ЗНАЧЕНИЕ(Справочник.ТерриторииВыполненияРабот.ПустаяСсылка)
		|				И ДанныеДокумента.МестоПолученияДохода <> ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
		|			ТОГДА ДанныеДокумента.МестоПолученияДохода
		|		ИНАЧЕ ДанныеДокумента.ТерриторияВыполненияРаботВОрганизации
		|	КОНЕЦ КАК Подразделение,
		|	ДанныеДокумента.КатегорияДохода КАК КатегорияДохода,
		|	ЕСТЬNULL(ДанныеДокумента.КодДохода, ЗНАЧЕНИЕ(Перечисление.КатегорииДоходовНДФЛ.ПустаяСсылка)) КАК КодДохода
		|ИЗ
		|	ВТДанныеДокумента КАК ДанныеДокумента
		|
		|;";
	КонецЕсли;
	
	ТекстЗапроса = ТекстЗапроса + 
		"////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	ДанныеДокумента.ФизическоеЛицо КАК ФизическоеЛицо,
		|	ДанныеДокумента.Сотрудник КАК Сотрудник,
		|	ДанныеДокумента.Организация КАК Организация,
		|	СтавкаНДФЛПоСтавкеРезидента.КатегорияДохода КАК КатегорияДохода,
		|	ДанныеДокумента.КодДохода КАК КодДохода,
		|	ДанныеДокумента.КодВычета КАК КодВычета,
		|	ДанныеДокумента.ПланируемаяДатаВыплаты КАК ДатаПолученияДохода,
		|	ДанныеДокумента.Сумма КАК СуммаДохода,
		|	ДанныеДокумента.СуммаВычета КАК СуммаВычета,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
		|			ТОГДА ДанныеДокумента.НДФЛ
		|		ИНАЧЕ 0
		|	КОНЕЦ КАК НалогПоСтавке13,
		|	0 КАК Сумма,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка09)
		|			ТОГДА ДанныеДокумента.НДФЛ
		|		ИНАЧЕ 0
		|	КОНЕЦ КАК НалогПоСтавке09,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка35)
		|			ТОГДА ДанныеДокумента.НДФЛ
		|		ИНАЧЕ 0
		|	КОНЕЦ КАК НалогПоСтавке35,
		|	ДанныеДокумента.НДФЛ КАК Сумма,
		|	ДанныеДокумента.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.МестоПолученияДохода ЕСТЬ НЕ NULL 
		|				И ДанныеДокумента.МестоПолученияДохода <> НЕОПРЕДЕЛЕНО
		|				И ДанныеДокумента.МестоПолученияДохода <> ЗНАЧЕНИЕ(Справочник.ТерриторииВыполненияРабот.ПустаяСсылка)
		|				И ДанныеДокумента.МестоПолученияДохода <> ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
		|			ТОГДА ДанныеДокумента.МестоПолученияДохода
		|		ИНАЧЕ ДанныеДокумента.ТерриторияВыполненияРаботВОрганизации
		|	КОНЕЦ КАК Подразделение,
		|	ДанныеДокумента.МестоПолученияДохода КАК МестоПолученияДохода,
		|	ДанныеДокумента.ПодразделениеСотрудника КАК ПодразделениеСотрудника,
		|	ДанныеДокумента.Начисление КАК Начисление,
		|	ДанныеДокумента.ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов КАК ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов,
		|	ДанныеДокумента.СтавкаНалогообложенияРезидента КАК СтавкаНалогообложенияРезидента,
		|	СтавкаНДФЛПоСтавкеРезидента.СтавкаНДФЛ КАК Ставка
		|ИЗ
		|	ВТДанныеДокумента КАК ДанныеДокумента
		|		ЛЕВОЕ СОЕДИНЕНИЕ ВТСтавкаНДФЛПоСтавкеРезидента КАК СтавкаНДФЛПоСтавкеРезидента
		|		ПО ДанныеДокумента.ФизическоеЛицо = СтавкаНДФЛПоСтавкеРезидента.ФизическоеЛицо
		|			И ДанныеДокумента.ПланируемаяДатаВыплаты = СтавкаНДФЛПоСтавкеРезидента.Период
		|ГДЕ
		|	ДанныеДокумента.КодДохода <> ЗНАЧЕНИЕ(Справочник.ВидыДоходовНДФЛ.ПустаяСсылка)
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	ДанныеДокумента.ФизическоеЛицо КАК ФизическоеЛицо,
		|	ДанныеДокумента.Сотрудник КАК Сотрудник,
		|	ДанныеДокумента.Организация КАК Организация,
		|	ДанныеДокумента.КодДохода КАК КодДохода,
		|	ДанныеДокумента.КодВычета КАК КодВычета,
		|	ДанныеДокумента.КатегорияДохода КАК КатегорияДохода,
		|	ДанныеДокумента.ПланируемаяДатаВыплаты КАК МесяцНалоговогоПериода,
		|	ДанныеДокумента.НДФЛ КАК Сумма,
		|	&СуммаСПревышения КАК СуммаСПревышения,
		|	ДанныеДокумента.ТерриторияВыполненияРаботВОрганизации КАК Подразделение,
		|	ДанныеДокумента.МестоПолученияДохода КАК МестоПолученияДохода,
		|	ДанныеДокумента.ПодразделениеСотрудника КАК ПодразделениеСотрудника,
		|	ДанныеДокумента.СтавкаНалогообложенияРезидента КАК СтавкаНалогообложенияРезидента
		|ИЗ
		|	ВТДанныеДокумента КАК ДанныеДокумента
		|ГДЕ
		|	ДанныеДокумента.КодДохода <> ЗНАЧЕНИЕ(Справочник.ВидыДоходовНДФЛ.ПустаяСсылка)
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	ДанныеДокумента.Организация КАК Организация,
		|	ДанныеДокумента.Сотрудник КАК Сотрудник,
		|	ДанныеДокумента.ФизическоеЛицо КАК ФизическоеЛицо,
		|	ДанныеДокумента.ПодразделениеСотрудника КАК Подразделение,
		|	ДанныеДокумента.МестоПолученияДохода КАК МестоПолученияДохода,
		|	ДанныеДокумента.ТерриторияВыполненияРаботВОрганизации КАК ТерриторияВыполненияРаботВОрганизации,
		|	ДанныеДокумента.Сумма КАК Сумма,
		|	ДанныеДокумента.Начисление КАК Начисление,
		|	ДанныеДокумента.УсловияТруда КАК УсловияТруда,
		|	ДанныеДокумента.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
		|	ДанныеДокумента.СуммаДохода КАК СуммаДохода,
		|	ДанныеДокумента.СуммаВычетаВзносы КАК СуммаВычетаВзносы,
		|	ДанныеДокумента.ДатаНачала КАК ДатаНачала,
		|	ДанныеДокумента.ДатаОкончания КАК ДатаОкончания,
		|	ДанныеДокумента.ДокументОснование КАК ДокументОснование,
		|	ДанныеДокумента.ОблагаетсяЕНВД КАК ОблагаетсяЕНВД,
		|	ДанныеДокумента.СтатьяФинансирования КАК СтатьяФинансирования,
		|	ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
		|	ДанныеДокумента.СпособОтраженияЗарплатыВБухучете КАК СпособОтраженияЗарплатыВБухучете
		|ИЗ
		|	ВТНачисления КАК ДанныеДокумента
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	ДанныеДокументаБезПревышения.Организация КАК Организация,
		|	ДанныеДокументаБезПревышения.Сотрудник КАК Сотрудник,
		|	ДанныеДокументаБезПревышения.ФизическоеЛицо КАК ФизическоеЛицо,
		|	ДанныеДокументаБезПревышения.ТерриторияВыполненияРаботВОрганизации КАК Подразделение,
		|	ДанныеДокументаБезПревышения.МестоПолученияДохода КАК МестоПолученияДохода,
		|	ДанныеДокументаБезПревышения.Подразделение КАК ПодразделениеСотрудника,
		|	ДанныеДокументаБезПревышения.НДФЛ КАК Сумма,
		|	ЗНАЧЕНИЕ(Перечисление.ВидыОсобыхНачисленийИУдержаний.НДФЛ) КАК ВидУдержания,
		|	ДанныеДокументаБезПревышения.Ссылка КАК ДокументОснование,
		|	БухучетФизическихЛиц.СтатьяФинансирования КАК СтатьяФинансирования,
		|	БухучетФизическихЛиц.СтатьяРасходов КАК СтатьяРасходов,
		|	БухучетФизическихЛиц.ВидДоходаИсполнительногоПроизводства КАК ВидДоходаИсполнительногоПроизводства,
		|	ДанныеДокументаБезПревышения.ПланируемаяДатаВыплаты КАК МесяцНалоговогоПериода,
		|	ДанныеДокументаБезПревышения.КатегорияДохода КАК КатегорияДохода,
		|	ДанныеДокументаБезПревышения.КодДохода КАК КодДохода
		|ИЗ
		|	ВТДанныеДокумента КАК ДанныеДокументаБезПревышения
		|		ЛЕВОЕ СОЕДИНЕНИЕ ВТБухучетФизическихЛиц КАК БухучетФизическихЛиц
		|		ПО ДанныеДокументаБезПревышения.ИдентификаторСтроки = БухучетФизическихЛиц.ИдентификаторСтроки
		|ГДЕ
		|	ДанныеДокументаБезПревышения.НДФЛ <> 0
		|";
	ШаблонЗапроса = "
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	ДанныеДокументаСПревышения.Организация,
		|	ДанныеДокументаСПревышения.Сотрудник,
		|	ДанныеДокументаСПревышения.ФизическоеЛицо,
		|	ДанныеДокументаСПревышения.ТерриторияВыполненияРаботВОрганизации,
		|	ДанныеДокументаСПревышения.МестоПолученияДохода,
		|	ДанныеДокументаСПревышения.Подразделение,
		|	&НДФЛСПревышения,
		|	ЗНАЧЕНИЕ(Перечисление.ВидыОсобыхНачисленийИУдержаний.ПустаяСсылка),
		|	ДанныеДокументаСПревышения.Ссылка,
		|	БухучетФизическихЛиц.СтатьяФинансирования,
		|	БухучетФизическихЛиц.СтатьяРасходов,
		|	БухучетФизическихЛиц.ВидДоходаИсполнительногоПроизводства,
		|	ДанныеДокументаСПревышения.ПланируемаяДатаВыплаты,
		|	ДанныеДокументаСПревышения.КатегорияДохода,
		|	ДанныеДокументаСПревышения.КодДохода
		|ИЗ
		|	ВТДанныеДокумента КАК ДанныеДокументаСПревышения
		|		ЛЕВОЕ СОЕДИНЕНИЕ ВТБухучетФизическихЛиц КАК БухучетФизическихЛиц
		|		ПО ДанныеДокументаСПревышения.ИдентификаторСтроки = БухучетФизическихЛиц.ИдентификаторСтроки
		|ГДЕ
		|	&НДФЛСПревышения <> 0";
	
	ИменаРесурсовНалога = УчетНДФЛ.РесурсыИсчисленногоНалогаВМассиве("НДФЛ", Истина);
	ТекстНалогов = "";
	Для каждого ИмяРесурса Из ИменаРесурсовНалога Цикл
		ТекстНалогов = ТекстНалогов + "
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
		|			ТОГДА ДанныеДокумента." + ИмяРесурса + "
		|		ИНАЧЕ 0
		|	КОНЕЦ КАК " + СтрЗаменить(ИмяРесурса, "НДФЛ", "Налог") + "," + Символы.ПС;
		ТекстЗапроса = ТекстЗапроса + СтрЗаменить(СтрЗаменить(ШаблонЗапроса, "&НДФЛСПревышения", "ДанныеДокументаСПревышения." + ИмяРесурса), "ПустаяСсылка", ИмяРесурса);
	КонецЦикла;
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "0 КАК Сумма,", ТекстНалогов);
	ТекстНалогов = "";
	ТекстСумм = "";
	Для каждого ИмяРесурса Из ИменаРесурсовНалога Цикл
		ТекстНалогов = ТекстНалогов + "НДФЛ." + СтрЗаменить(ИмяРесурса, "НДФЛ", "Налог") +" КАК " + СтрЗаменить(ИмяРесурса, "НДФЛ", "Налог") + "," + Символы.ПС;
		ТекстСумм = ТекстСумм + "ДанныеДокумента." + ИмяРесурса + " КАК " + СтрЗаменить(ИмяРесурса, "НДФЛ", "Сумма") + "," + Символы.ПС;
	КонецЦикла;
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СуммаСПревышения КАК СуммаСПревышения,", ТекстСумм);
	Запрос.Текст = СтрЗаменить(ТекстЗапроса, "0 КАК Налог,", ТекстНалогов);
	Результат = Запрос.ВыполнитьПакет();
	КоличествоРезультатов = Результат.ВГраница();
	
	Если РеквизитыДляПроведения.НалогРассчитанВТабличнойЧасти Тогда
		НДФЛСторно = Результат[КоличествоРезультатов-5].Выгрузить();
		Если НДФЛСторно.Количество() = 0 Тогда
			НДФЛСторно = Неопределено;
		КонецЕсли;
	Иначе
		НДФЛСторно = Неопределено;
	КонецЕсли;
	
	Если СтруктураВидовУчета.ОстальныеВидыУчета Или СтруктураВидовУчета.СтраховыеВзносы Тогда
		ДанныеДляПроведения.Вставить("Начисления", Результат[КоличествоРезультатов-1].Выгрузить());
		ДанныеДляПроведения.Вставить("МенеджерВременныхТаблиц", Запрос.МенеджерВременныхТаблиц);
		ОтражениеЗарплатыВБухучете.СоздатьВТНачисленияСДаннымиЕНВД(РеквизитыДляПроведения.Организация, РеквизитыДляПроведения.ПериодРегистрации, ДанныеДляПроведения.МенеджерВременныхТаблиц, ДанныеДляПроведения.Начисления);
	КонецЕсли;
	
	Если СтруктураВидовУчета.ОстальныеВидыУчета Тогда
		
		ДанныеДляПроведения.Вставить("НДФЛСторно", НДФЛСторно);
		ДанныеДляПроведения.Вставить("НДФЛ", Результат[КоличествоРезультатов-4].Выгрузить());
		ДанныеДляПроведения.Вставить("ДанныеДляНДФЛ", Результат[КоличествоРезультатов-3].Выгрузить());
		ДанныеДляПроведения.Вставить("ДанныеДляРасчетовСБюджетомПоНДФЛ", Результат[КоличествоРезультатов-2].Выгрузить());
		ДанныеДляПроведения.Вставить("НДФЛПоСотрудникам", Результат[КоличествоРезультатов].Выгрузить());
		
		Если ПолучитьФункциональнуюОпцию("РаботаВХозрасчетнойОрганизации") Тогда
			СтатьяРасходов = ОтражениеЗарплатыВБухучетеРасширенный.СтатьяОплатаТруда();
			ДанныеДляПроведения.НДФЛПоСотрудникам.ЗаполнитьЗначения(СтатьяРасходов, "СтатьяРасходов");
		КонецЕсли;
		
		Запрос.Текст = "ВЫБРАТЬ
		|	Организации.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
		|	ДанныеДокумента.ПериодРегистрацииДокумента КАК Период,
		|	ДанныеДокумента.Организация КАК Организация,
		|	ДанныеДокумента.Сотрудник КАК Сотрудник,
		|	ДанныеДокумента.ФизическоеЛицо КАК ФизическоеЛицо,
		|	ДанныеДокумента.Начисление КАК Начисление,
		|	СУММА(ДанныеДокумента.Сумма) КАК Сумма
		|ИЗ
		|	ВТНачисления КАК ДанныеДокумента
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
		|		ПО ДанныеДокумента.Организация = Организации.Ссылка
		|			И (НЕ ДанныеДокумента.ИсключаетсяИзРасчетнойБазыИсполнительныхЛистов)
		|
		|СГРУППИРОВАТЬ ПО
		|	Организации.ГоловнаяОрганизация,
		|	ДанныеДокумента.ПериодРегистрацииДокумента,
		|	ДанныеДокумента.Организация,
		|	ДанныеДокумента.Сотрудник,
		|	ДанныеДокумента.ФизическоеЛицо,
		|	ДанныеДокумента.Начисление";
		
		РезультатЗапроса = Запрос.Выполнить();
		ДанныеДляПроведения.Вставить("ДополнениеРасчетнойБазыУдержаний", РезультатЗапроса.Выгрузить());
		
	КонецЕсли;
	
	Возврат ДанныеДляПроведения;
	
КонецФункции

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

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

Процедура ЗаписатьСведенияОДоходахСтраховыеВзносы(Движения, РеквизитыДляПроведения)
	
	ДополнитьСведенияОДоходахСтраховыеВзносы(Движения, РеквизитыДляПроведения);
	
	Движения.СведенияОДоходахСтраховыеВзносы.Записать();
	Движения.СведенияОДоходахСтраховыеВзносы.Записывать = Ложь;
	
КонецПроцедуры

#Область ПервоначальноеЗаполнениеИОбновлениеИнформационнойБазы

Процедура ПроставитьКатегориюДохода(ПараметрыОбновления) Экспорт

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

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

#КонецОбласти 

Функция УстановитьКодДохода(ВидПризаПодарка) Экспорт
	
	Если ВидПризаПодарка = Перечисления.ВидыПризовПодарков.Подарок Тогда
		КодДоходаНДФЛ = Справочники.ВидыДоходовНДФЛ.Код2720;
	Иначе
		КодДоходаНДФЛ = Справочники.ВидыДоходовНДФЛ.Код2740;
	КонецЕсли;
	
	Возврат КодДоходаНДФЛ; 
	
КонецФункции 

Процедура УстановитьКатегориюДоходаНДФЛ(ТаблицаНДФЛ, КатегорияДохода) Экспорт
	Для Каждого ДанныеСотрудника Из ТаблицаНДФЛ Цикл 
		ДанныеСотрудника.КатегорияДохода = КатегорияДохода;
	КонецЦикла;
КонецПроцедуры 

Процедура УстановитьКодВычетаСотрудников(ТаблицаНачисления, КодВычетаНДФЛ) Экспорт
	Для Каждого ДанныеСотрудника Из ТаблицаНачисления Цикл 
		ДанныеСотрудника.КодВычета = КодВычетаНДФЛ;
	КонецЦикла;
КонецПроцедуры

Функция УстановитьВидДоходаСтраховыхВзносов(ПредусмотреноКолдоговором) Экспорт
	
	ВидДоходаСтраховыеВзносы = Справочники.ВидыДоходовПоСтраховымВзносам.ПустаяСсылка();
	
	Если ПредусмотреноКолдоговором Тогда
		ВидДоходаСтраховыеВзносы  = Справочники.ВидыДоходовПоСтраховымВзносам.ОблагаетсяЦеликом;
	Иначе
		ВидДоходаСтраховыеВзносы  = Справочники.ВидыДоходовПоСтраховымВзносам.НеЯвляетсяОбъектом;
	КонецЕсли;

	Возврат ВидДоходаСтраховыеВзносы;
	
КонецФункции

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

	Возврат Описание;
	
КонецФункции

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

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

Функция НовыйИдентификаторСтроки(НомерТаблицы) Экспорт
	Возврат НомерТаблицы * 1000000 + 1;
КонецФункции

#Область СозданиеНовогоДокумента

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

#КонецОбласти     

#КонецОбласти

#КонецЕсли

Связанные материалы