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