Уведомление налогового органа о праве на вычеты / Модуль объекта

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

#Область ОбработчикиСобытий

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

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

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

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

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

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

Функция ПолучитьДанныеДляПроведения()
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник КАК Сотрудник,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод КАК НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаСтроительствоПриобретение КАК РасходыНаСтроительствоПриобретение,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.ПроцентыПоКредитам КАК ПроцентыПоКредитам,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.ПроцентыПриПерекредитовании КАК ПроцентыПриПерекредитовании,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаСвоеОбучение КАК РасходыНаСвоеОбучение,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаОбучениеДетей КАК РасходыНаОбучениеДетей,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаЛечение КАК РасходыНаЛечение,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.СтраховыеВзносыНаМедУслуги КАК СтраховыеВзносыНаМедУслуги,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаДорогостоящееЛечение КАК РасходыНаДорогостоящееЛечение,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.ВзносыНаДобровольноеСтрахованиеЖизни КАК ВзносыНаДобровольноеСтрахованиеЖизни,
	|	НАЧАЛОПЕРИОДА(УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Дата, МЕСЯЦ) КАК МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаЛекарства КАК РасходыНаЛекарства,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаФизкультуруИСпорт КАК РасходыНаФизкультуруИСпорт
	|ПОМЕСТИТЬ ВТДанныеДокумента
	|ИЗ
	|	Документ.УведомлениеОПравеНаИмущественныйВычетДляНДФЛ КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Ссылка = &Ссылка
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации КАК МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник КАК ФизическоеЛицо,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код311) КАК КодВычета,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод КАК Год,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаСтроительствоПриобретение КАК Сумма
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаСтроительствоПриобретение <> 0
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код312),
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.ПроцентыПоКредитам
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.ПроцентыПоКредитам <> 0
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код318),
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.ПроцентыПриПерекредитовании
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.ПроцентыПриПерекредитовании <> 0
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код320о),
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаСвоеОбучение
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаСвоеОбучение <> 0
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код321),
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаОбучениеДетей
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаОбучениеДетей <> 0
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код324),
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаЛечение
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаЛечение <> 0
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код325),
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.СтраховыеВзносыНаМедУслуги
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.СтраховыеВзносыНаМедУслуги <> 0
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код326),
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаДорогостоящееЛечение
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаДорогостоящееЛечение <> 0
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код329),
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.ВзносыНаДобровольноеСтрахованиеЖизни
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.ВзносыНаДобровольноеСтрахованиеЖизни <> 0
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код323),
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаЛекарства
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаЛекарства <> 0
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.МесяцРегистрации,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.Сотрудник,
	|	ЗНАЧЕНИЕ(Справочник.ВидыВычетовНДФЛ.Код329Спорт),
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.НалоговыйПериод,
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаФизкультуруИСпорт
	|ИЗ
	|	ВТДанныеДокумента КАК УведомлениеОПравеНаИмущественныйВычетДляНДФЛ
	|ГДЕ
	|	УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.РасходыНаФизкультуруИСпорт <> 0";
	
	Возврат Запрос.Выполнить().Выгрузить();

КонецФункции

Процедура ЗаполнитьПоПараметрамЗаполнения(ДанныеЗаполнения)
	ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения);
	
	ЗаполняемыеЗначения = Новый Структура(
		"Месяц, 
		|Ответственный");
	ЗарплатаКадры.ПолучитьЗначенияПоУмолчанию(ЗаполняемыеЗначения, ТекущаяДатаСеанса());
	
	ЗаполнитьЗначенияСвойств(ЭтотОбъект, ЗаполняемыеЗначения);	
КонецПроцедуры

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

#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

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