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