#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Сотрудники") Тогда
ЗарплатаКадры.ЗаполнитьПоОснованиюСотрудником(ЭтотОбъект, ДанныеЗаполнения);
ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
Если ДанныеЗаполнения.Свойство("Действие") И ДанныеЗаполнения.Действие = "ЗаполнитьПоПараметрамЗаполнения" Тогда
ЗаполнитьПоПараметрамЗаполнения(ДанныеЗаполнения);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если ЗарплатаКадры.ОтключитьБизнесЛогикуПриЗаписи(ЭтотОбъект) Тогда
Возврат;
КонецЕсли;
ДатаЗапрета = Документы.УведомлениеОПравеНаИмущественныйВычетДляНДФЛ.ДатаЗапрета(Дата, НалоговыйПериод);
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
ДанныеДляПроведения = ПолучитьДанныеДляПроведения();
Если ДанныеДляПроведения.Количество() = 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 = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли