Зарплата и кадры бюджетного учреждения. Версия 1.0.63.2 . Информация об ошибках |
|||||
Код ошибки: | 10135015 | ||||
Дата публикации: | 25 октября 2013 г. | ||||
Описание: | Если в документе "Заявление об обмене, дубликате страхового свидетельства" в изменившихся данных в месте рождения установить флажок "особое место рождения", то при печати форм АДВ-2,3 выдается сообщение об ошибке. | ||||
Код ошибки: | 10134977 | ||||
Дата публикации: | 25 октября 2013 г. | ||||
Описание: | В обработке "Операции с лицевыми счетами сотрудников" при неправильном указании каталога экспорта возникает ошибка. | ||||
Код ошибки: | 10135017 | ||||
Дата публикации: | 25 октября 2013 г. | ||||
Описание: | При наличии у сотрудника в одном документе доходов, относящихся к разным подразделениям, после исправления такого документа отсторнированные суммы доходов по всем подразделениям могут попадать в одно подразделение, а не в разные, как ожидается. | ||||
Способ исправления: | Процедуру СформироватьДоходыПоКодамНДФЛ() о.м. ПроведениеРасчетов заменить следующим фрагментом: Процедура СформироватьДоходыПоКодамНДФЛ(НаборЗаписей, МенеджерВременныхТаблиц, ВыборкаПоШапкеДокумента, ДатаРегистрации, ДополнительныеПоля = "", ДополнительныеУсловияСвязи = "") Экспорт Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; ТекстЗапроса = "ВЫБРАТЬ | ДанныеДокумента.ИмяТЧ, | МИНИМУМ(ДанныеДокумента.НомерСтроки) КАК НомерСтроки, | НЕОПРЕДЕЛЕНО КАК ДополнительноеПоле, | ДанныеДокумента.ВидРасчета, | НАЧАЛОПЕРИОДА(ДанныеДокумента.ДатаНачала, МЕСЯЦ) КАК ДатаНачала, | ДанныеДокумента.КодВычета, | СУММА(ДанныеДокумента.СуммаДохода) КАК СуммаДохода, | СУММА(ДанныеДокумента.СуммаВычета) КАК СуммаВычета, | ДанныеДокумента.ПодразделениеОрганизации, | ДанныеДокумента.Сотрудник, | ДанныеДокумента.Сторно |ПОМЕСТИТЬ ВТСтрокиДоходов |ИЗ | ВТСторноНачисления КАК ДанныеДокумента | |СГРУППИРОВАТЬ ПО | НЕОПРЕДЕЛЕНО, | ДанныеДокумента.ИмяТЧ, | ДанныеДокумента.ВидРасчета, | ДанныеДокумента.КодВычета, | НАЧАЛОПЕРИОДА(ДанныеДокумента.ДатаНачала, МЕСЯЦ), | ДанныеДокумента.ПодразделениеОрганизации, | ДанныеДокумента.Сотрудник, | ДанныеДокумента.Сторно |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДанныеДокумента.ИмяТЧ, | ДанныеДокумента.НомерСтроки, | СтрокиДокумента.Физлицо, | ДанныеДокумента.Сотрудник, | СтрокиДокумента.ДатаВыплатыДохода, | СтрокиДокумента.ПериодРегистрации, | ДанныеДокумента.Сторно, | ДанныеДокумента.ВидРасчета, | СтрокиДокумента.КодДохода, | ВЫБОР | КОГДА СторноЗаписиДокумента.СуммаДохода ЕСТЬ NULL | ТОГДА ДанныеДокумента.СуммаДохода | КОГДА НЕ ДанныеДокумента.Сторно | И ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода > 0 | ТОГДА ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода | КОГДА ДанныеДокумента.Сторно | И ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода < 0 | ТОГДА ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода | ИНАЧЕ 0 | КОНЕЦ КАК СуммаДохода, | ДанныеДокумента.КодВычета, | ВЫБОР | КОГДА СторноЗаписиДокумента.СуммаДохода ЕСТЬ NULL | ТОГДА ДанныеДокумента.СуммаВычета | КОГДА НЕ ДанныеДокумента.Сторно | И ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода > 0 | ТОГДА ДанныеДокумента.СуммаВычета + СторноЗаписиДокумента.СуммаВычета | КОГДА ДанныеДокумента.Сторно | И ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода < 0 | ТОГДА ДанныеДокумента.СуммаВычета + СторноЗаписиДокумента.СуммаВычета | ИНАЧЕ 0 | КОНЕЦ КАК СуммаВычета, | ДанныеДокумента.ПодразделениеОрганизации, | НЕОПРЕДЕЛЕНО КАК ДополнительноеПоле, | СтрокиДокумента.КоличествоДетей, | СтрокиДокумента.СторнируемыйДокумент |ПОМЕСТИТЬ ВТНачисленияСоСторноЗаписями |ИЗ | ВТСтрокиДоходов КАК ДанныеДокумента | ЛЕВОЕ СОЕДИНЕНИЕ ВТСторноНачисления КАК СтрокиДокумента | ПО ДанныеДокумента.НомерСтроки = СтрокиДокумента.НомерСтроки | И ДанныеДокумента.ИмяТЧ = СтрокиДокумента.ИмяТЧ | ЛЕВОЕ СОЕДИНЕНИЕ ВТСтрокиДоходов КАК СторноЗаписиДокумента | ПО ДанныеДокумента.ВидРасчета = СторноЗаписиДокумента.ВидРасчета | И ДанныеДокумента.ИмяТЧ = СторноЗаписиДокумента.ИмяТЧ | И ДанныеДокумента.Сотрудник = СторноЗаписиДокумента.Сотрудник | И ДанныеДокумента.ДатаНачала = СторноЗаписиДокумента.ДатаНачала | И ДанныеДокумента.ПодразделениеОрганизации = СторноЗаписиДокумента.ПодразделениеОрганизации | И ДанныеДокумента.КодВычета = СторноЗаписиДокумента.КодВычета | И (НЕ ДанныеДокумента.Сторно | И СторноЗаписиДокумента.Сторно | ИЛИ ДанныеДокумента.Сторно | И НЕ СторноЗаписиДокумента.Сторно) | И (&ДополнительноеУсловиеСвязи) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НачисленияСоСторноЗаписями.НомерСтроки, | НачисленияСоСторноЗаписями.СторнируемыйДокумент |ИЗ | ВТНачисленияСоСторноЗаписями КАК НачисленияСоСторноЗаписями |ГДЕ | НачисленияСоСторноЗаписями.Сторно"; Если ЗначениеЗаполнено(ДополнительныеПоля) Тогда ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"НЕОПРЕДЕЛЕНО КАК ДополнительноеПоле,", ДополнительныеПоля); ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"НЕОПРЕДЕЛЕНО,", ДополнительныеПоля); КонецЕсли; Если Не ЗначениеЗаполнено(ДополнительныеУсловияСвязи) Тогда Запрос.Текст = СтрЗаменить(ТекстЗапроса,"&ДополнительноеУсловиеСвязи", "Истина") Иначе Запрос.Текст = СтрЗаменить(ТекстЗапроса,"&ДополнительноеУсловиеСвязи", ДополнительныеУсловияСвязи) КонецЕсли; ТаблицаСторнируемыхДокументов = Запрос.Выполнить().Выгрузить(); ТаблицаПромежуточныхИсправлений = ТаблицаСторнируемыхДокументов.СкопироватьКолонки("СторнируемыйДокумент"); ТаблицаПромежуточныхИсправлений.Колонки.Добавить("ПромежуточноеИсправление", ТаблицаСторнируемыхДокументов.Колонки.СторнируемыйДокумент.ТипЗначения); УточнитьСторнируемыеДокументы(ТаблицаСторнируемыхДокументов, ТаблицаПромежуточныхИсправлений); Запрос.УстановитьПараметр("ТаблицаСторнируемыхДокументов", ТаблицаСторнируемыхДокументов); Запрос.УстановитьПараметр("ТаблицаПромежуточныхИсправлений", ТаблицаПромежуточныхИсправлений); ТекстЗапроса = "ВЫБРАТЬ | ТаблицаСторнируемыхДокументов.НомерСтроки, | ТаблицаСторнируемыхДокументов.СторнируемыйДокумент |ПОМЕСТИТЬ ВТТаблицаСторнируемыхДокументов |ИЗ | &ТаблицаСторнируемыхДокументов КАК ТаблицаСторнируемыхДокументов |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТаблицаПромежуточныхИсправлений.ПромежуточноеИсправление, | ТаблицаПромежуточныхИсправлений.СторнируемыйДокумент |ПОМЕСТИТЬ ВТТаблицаПромежуточныхИсправлений |ИЗ | &ТаблицаПромежуточныхИсправлений КАК ТаблицаПромежуточныхИсправлений |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НДФЛСведенияОДоходах.Период, | НДФЛСведенияОДоходах.Регистратор, | НДФЛСведенияОДоходах.СуммаДохода КАК СуммаДохода, | НДФЛСведенияОДоходах.СуммаВычета КАК СуммаВычета, | НДФЛСведенияОДоходах.ФизЛицо, | НДФЛСведенияОДоходах.ПодразделениеОрганизации, | НДФЛСведенияОДоходах.КодДохода, | НДФЛСведенияОДоходах.ДатаПолученияДохода, | НДФЛСведенияОДоходах.ВидРасчета |ПОМЕСТИТЬ ВТСведенияРегистраБезУточнений |ИЗ | РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах |ГДЕ | НДФЛСведенияОДоходах.Регистратор В | (ВЫБРАТЬ | СторноЗаписи.СторнируемыйДокумент | ИЗ | ВТТаблицаСторнируемыхДокументов КАК СторноЗаписи) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | СведенияРегистраБезУточнений.Регистратор, | СведенияРегистраБезУточнений.ФизЛицо, | СведенияРегистраБезУточнений.КодДохода, | СведенияРегистраБезУточнений.ВидРасчета, | СведенияРегистраБезУточнений.ПодразделениеОрганизации, | МИНИМУМ(СведенияРегистраБезУточнений.ДатаПолученияДохода) КАК ДатаПолученияДохода, | МИНИМУМ(СведенияРегистраБезУточнений.Период) КАК Период |ПОМЕСТИТЬ ВТСторнируемыеСтрокиДоходов |ИЗ | ВТСведенияРегистраБезУточнений КАК СведенияРегистраБезУточнений | |СГРУППИРОВАТЬ ПО | СведенияРегистраБезУточнений.Регистратор, | СведенияРегистраБезУточнений.ФизЛицо, | СведенияРегистраБезУточнений.КодДохода, | СведенияРегистраБезУточнений.ВидРасчета, | СведенияРегистраБезУточнений.ПодразделениеОрганизации |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДоходыСУточнением.Период, | ДоходыСУточнением.Регистратор, | СУММА(ДоходыСУточнением.СуммаДохода) КАК СуммаДохода, | СУММА(ДоходыСУточнением.СуммаВычета) КАК СуммаВычета, | ДоходыСУточнением.ФизЛицо, | ДоходыСУточнением.ПодразделениеОрганизации, | ДоходыСУточнением.КодДохода, | ДоходыСУточнением.ДатаПолученияДохода, | ДоходыСУточнением.ВидРасчета |ПОМЕСТИТЬ ВТСведенияРегистра |ИЗ | (ВЫБРАТЬ | НДФЛСведенияОДоходах.Период КАК Период, | НДФЛСведенияОДоходах.Регистратор КАК Регистратор, | НДФЛСведенияОДоходах.ФизЛицо КАК ФизЛицо, | НДФЛСведенияОДоходах.КодДохода КАК КодДохода, | НДФЛСведенияОДоходах.ДатаПолученияДохода КАК ДатаПолученияДохода, | НДФЛСведенияОДоходах.ВидРасчета КАК ВидРасчета, | НДФЛСведенияОДоходах.ПодразделениеОрганизации КАК ПодразделениеОрганизации, | НДФЛСведенияОДоходах.СуммаДохода КАК СуммаДохода, | НДФЛСведенияОДоходах.СуммаВычета КАК СуммаВычета | ИЗ | ВТСведенияРегистраБезУточнений КАК НДФЛСведенияОДоходах | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | НДФЛСведенияОДоходах.Период, | СтрокиДоходов.Регистратор, | СтрокиДоходов.ФизЛицо, | СтрокиДоходов.КодДохода, | НДФЛСведенияОДоходах.ДатаПолученияДохода, | СтрокиДоходов.ВидРасчета, | СтрокиДоходов.ПодразделениеОрганизации, | НДФЛСведенияОДоходах.СуммаДохода, | НДФЛСведенияОДоходах.СуммаВычета | ИЗ | ВТСторнируемыеСтрокиДоходов КАК СтрокиДоходов | ЛЕВОЕ СОЕДИНЕНИЕ ВТТаблицаПромежуточныхИсправлений КАК ТаблицаПромежуточныхИсправлений | ПО СтрокиДоходов.Регистратор = ТаблицаПромежуточныхИсправлений.СторнируемыйДокумент | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах | ПО (ТаблицаПромежуточныхИсправлений.ПромежуточноеИсправление = НДФЛСведенияОДоходах.Регистратор) | И СтрокиДоходов.ФизЛицо = НДФЛСведенияОДоходах.ФизЛицо | И СтрокиДоходов.КодДохода = НДФЛСведенияОДоходах.КодДохода | И СтрокиДоходов.ВидРасчета = НДФЛСведенияОДоходах.ВидРасчета | И СтрокиДоходов.ПодразделениеОрганизации = НДФЛСведенияОДоходах.ПодразделениеОрганизации | ГДЕ | НДФЛСведенияОДоходах.ФизЛицо ЕСТЬ НЕ NULL ) КАК ДоходыСУточнением | |СГРУППИРОВАТЬ ПО | ДоходыСУточнением.Период, | ДоходыСУточнением.Регистратор, | ДоходыСУточнением.ФизЛицо, | ДоходыСУточнением.ПодразделениеОрганизации, | ДоходыСУточнением.КодДохода, | ДоходыСУточнением.ДатаПолученияДохода, | ДоходыСУточнением.ВидРасчета | |ИМЕЮЩИЕ | СУММА(ДоходыСУточнением.СуммаДохода) > 0 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДанныеДокумента.ИмяТЧ КАК ИмяТЧ, | ДанныеДокумента.НомерСтроки КАК НомерСтроки, | ДанныеДокумента.Физлицо, | ДанныеДокумента.ВидРасчета, | ДанныеДокумента.КодДохода, | ДанныеДокумента.СуммаДохода, | ДанныеДокумента.КодВычета, | ДанныеДокумента.СуммаВычета, | ДанныеДокумента.КоличествоДетей, | ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации, ДанныеДокумента.ПодразделениеОрганизации) КАК ПодразделениеОрганизации, | НЕОПРЕДЕЛЕНО КАК ДополнительноеПоле, | ЕСТЬNULL(НДФЛСведенияОДоходах.ДатаПолученияДохода, ВЫБОР | КОГДА ДанныеДокумента.КодДохода В (ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.КодДоходаПоУмолчанию), ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2530)) | ТОГДА ВЫБОР | КОГДА СотрудникиОрганизаций.ДатаУвольнения МЕЖДУ НАЧАЛОПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) И КОНЕЦПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) | ТОГДА СотрудникиОрганизаций.ДатаУвольнения | ИНАЧЕ КОНЕЦПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) | КОНЕЦ | ИНАЧЕ ДанныеДокумента.ДатаВыплатыДохода | КОНЕЦ) КАК ДатаПолученияДохода, | КОНЕЦПЕРИОДА(ЕСТЬNULL(НДФЛСведенияОДоходах.Период, ВЫБОР | КОГДА ДанныеДокумента.КодДохода В (ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.КодДоходаПоУмолчанию), ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2530)) | ТОГДА ВЫБОР | КОГДА СотрудникиОрганизаций.ДатаУвольнения МЕЖДУ НАЧАЛОПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) И КОНЕЦПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) | ТОГДА СотрудникиОрганизаций.ДатаУвольнения | ИНАЧЕ КОНЕЦПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) | КОНЕЦ | ИНАЧЕ ДанныеДокумента.ДатаВыплатыДохода | КОНЕЦ), МЕСЯЦ) КАК Период, | ВЫБОР | КОГДА НДФЛСведенияОДоходах.Регистратор ЕСТЬ NULL | ТОГДА ЛОЖЬ | ИНАЧЕ ИСТИНА | КОНЕЦ КАК ЕстьСторнируемыеДанныеУчета, | ЕСТЬNULL(НДФЛСведенияОДоходах.СуммаДохода, 0) КАК СуммаДоходаВУчете, | ЕСТЬNULL(НДФЛСведенияОДоходах.СуммаВычета, 0) КАК СуммаВычетаВУчете |ИЗ | ВТНачисленияСоСторноЗаписями КАК ДанныеДокумента | ЛЕВОЕ СОЕДИНЕНИЕ ВТТаблицаСторнируемыхДокументов КАК ТаблицаСторнируемыхДокументов | ПО ДанныеДокумента.НомерСтроки = ТаблицаСторнируемыхДокументов.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций | ПО ДанныеДокумента.Сотрудник = СотрудникиОрганизаций.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ ВТСведенияРегистра КАК НДФЛСведенияОДоходах | ПО (ТаблицаСторнируемыхДокументов.СторнируемыйДокумент = НДФЛСведенияОДоходах.Регистратор) | И ДанныеДокумента.Физлицо = НДФЛСведенияОДоходах.ФизЛицо | И ДанныеДокумента.ПодразделениеОрганизации = НДФЛСведенияОДоходах.ПодразделениеОрганизации | И (ВЫБОР | КОГДА НДФЛСведенияОДоходах.ВидРасчета.КодДоходаНДФЛ ЕСТЬ NULL | ТОГДА ДанныеДокумента.КодДохода = НДФЛСведенияОДоходах.КодДохода | ИНАЧЕ ДанныеДокумента.ВидРасчета = НДФЛСведенияОДоходах.ВидРасчета | КОНЕЦ) |ГДЕ | (ДанныеДокумента.СуммаДохода <> 0 | ИЛИ ДанныеДокумента.СуммаВычета <> 0) | |УПОРЯДОЧИТЬ ПО | ИмяТЧ, | НомерСтроки, | ДатаПолученияДохода УБЫВ"; Если ЗначениеЗаполнено(ДополнительныеПоля) Тогда ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"НЕОПРЕДЕЛЕНО КАК ДополнительноеПоле,", ДополнительныеПоля); ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"НЕОПРЕДЕЛЕНО,", ДополнительныеПоля); КонецЕсли; Запрос.Текст = ТекстЗапроса; Если ТипЗнч(НаборЗаписей) = Тип("ТаблицаЗначений") Тогда ВременнаяТаблица = НаборЗаписей Иначе ВременнаяТаблица = НаборЗаписей.ВыгрузитьКолонки(); КонецЕсли; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.СледующийПоЗначениюПоля("ИмяТЧ") Цикл Пока Выборка.СледующийПоЗначениюПоля("НомерСтроки") Цикл Если Выборка.ЕстьСторнируемыеДанныеУчета Тогда СторноВсего = -Выборка.СуммаДохода; СторноВычета = -Выборка.СуммаВычета; Пока Выборка.Следующий() Цикл СуммаДохода = -Мин(СторноВсего, Выборка.СуммаДоходаВУчете); СторноВсего = СторноВсего + СуммаДохода; Если СторноВычета = 0 Тогда СуммаВычета = 0 Иначе СуммаВычета = -Мин(СторноВычета, Выборка.СуммаВычетаВУчете); СторноВычета = СторноВычета + СуммаВычета; КонецЕсли; Движение = ВременнаяТаблица.Добавить(); ЗаполнитьЗначенияСвойств(Движение,ВыборкаПоШапкеДокумента,"ОбособленноеПодразделение"); // ОбособленноеПодразделение ЗаполнитьЗначенияСвойств(Движение,Выборка); // Период, Физлицо, КодДохода, СуммаДохода, СуммаВычета, КодВычета, ПодразделениеОрганизации, КоличествоДетей, ВидРасчета // измерения Движение.Организация = ВыборкаПоШапкеДокумента.ГоловнаяОрганизация; Движение.ПериодРегистрации = ДатаРегистрации; // ресурсы Движение.СуммаДохода = СуммаДохода; Движение.СуммаВычета = СуммаВычета; // реквизиты Движение.ИсчисленоИзЗарплаты= Истина; Если СторноВсего = 0 Тогда Прервать; КонецЕсли; КонецЦикла; Иначе Движение = ВременнаяТаблица.Добавить(); ЗаполнитьЗначенияСвойств(Движение,ВыборкаПоШапкеДокумента,"ОбособленноеПодразделение"); // ОбособленноеПодразделение ЗаполнитьЗначенияСвойств(Движение,Выборка); // Период, Физлицо, КодДохода, СуммаДохода, СуммаВычета, КодВычета, ПодразделениеОрганизации, КоличествоДетей, ВидРасчета // измерения Движение.Организация = ВыборкаПоШапкеДокумента.ГоловнаяОрганизация; Движение.ПериодРегистрации = ДатаРегистрации; // реквизиты Движение.ИсчисленоИзЗарплаты= Истина; КонецЕсли; КонецЦикла; КонецЦикла; Если ТипЗнч(НаборЗаписей) <> Тип("ТаблицаЗначений") Тогда СвернутьДвиженияНДФЛСведенияОДоходах(ВременнаяТаблица); НаборЗаписей.Загрузить(ВременнаяТаблица); КонецЕсли; КонецПроцедуры |
||||
Код ошибки: | 10134805 | ||||
Дата публикации: | 16 октября 2013 г. | ||||
Описание: | При многократном исправлении одного и того же документа "Начисление отпуска" могут неверно регистрироваться доходы в учете для целей исчисления НДФЛ. | ||||
Способ исправления: | Заменить процедуру СформироватьДоходыПоКодамНДФЛ() о.м. ПроведениеРасчетов следующим фрагментом: Процедура СформироватьДоходыПоКодамНДФЛ(НаборЗаписей, МенеджерВременныхТаблиц, ВыборкаПоШапкеДокумента, ДатаРегистрации, ДополнительныеПоля = "", ДополнительныеУсловияСвязи = "") Экспорт Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; ТекстЗапроса = "ВЫБРАТЬ | ДанныеДокумента.ИмяТЧ, | МИНИМУМ(ДанныеДокумента.НомерСтроки) КАК НомерСтроки, | НЕОПРЕДЕЛЕНО КАК ДополнительноеПоле, | ДанныеДокумента.ВидРасчета, | НАЧАЛОПЕРИОДА(ДанныеДокумента.ДатаНачала, МЕСЯЦ) КАК ДатаНачала, | ДанныеДокумента.КодВычета, | СУММА(ДанныеДокумента.СуммаДохода) КАК СуммаДохода, | СУММА(ДанныеДокумента.СуммаВычета) КАК СуммаВычета, | ДанныеДокумента.Сотрудник, | ДанныеДокумента.Сторно |ПОМЕСТИТЬ ВТСтрокиДоходов |ИЗ | ВТСторноНачисления КАК ДанныеДокумента | |СГРУППИРОВАТЬ ПО | НЕОПРЕДЕЛЕНО, | ДанныеДокумента.ИмяТЧ, | ДанныеДокумента.ВидРасчета, | ДанныеДокумента.КодВычета, | НАЧАЛОПЕРИОДА(ДанныеДокумента.ДатаНачала, МЕСЯЦ), | ДанныеДокумента.Сотрудник, | ДанныеДокумента.Сторно |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДанныеДокумента.ИмяТЧ, | ДанныеДокумента.НомерСтроки, | СтрокиДокумента.Физлицо, | ДанныеДокумента.Сотрудник, | СтрокиДокумента.ДатаВыплатыДохода, | СтрокиДокумента.ПериодРегистрации, | ДанныеДокумента.Сторно, | ДанныеДокумента.ВидРасчета, | СтрокиДокумента.КодДохода, | ВЫБОР | КОГДА СторноЗаписиДокумента.СуммаДохода ЕСТЬ NULL | ТОГДА ДанныеДокумента.СуммаДохода | КОГДА НЕ ДанныеДокумента.Сторно | И ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода > 0 | ТОГДА ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода | КОГДА ДанныеДокумента.Сторно | И ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода < 0 | ТОГДА ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода | ИНАЧЕ 0 | КОНЕЦ КАК СуммаДохода, | ДанныеДокумента.КодВычета, | ВЫБОР | КОГДА СторноЗаписиДокумента.СуммаДохода ЕСТЬ NULL | ТОГДА ДанныеДокумента.СуммаВычета | КОГДА НЕ ДанныеДокумента.Сторно | И ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода > 0 | ТОГДА ДанныеДокумента.СуммаВычета + СторноЗаписиДокумента.СуммаВычета | КОГДА ДанныеДокумента.Сторно | И ДанныеДокумента.СуммаДохода + СторноЗаписиДокумента.СуммаДохода < 0 | ТОГДА ДанныеДокумента.СуммаВычета + СторноЗаписиДокумента.СуммаВычета | ИНАЧЕ 0 | КОНЕЦ КАК СуммаВычета, | НЕОПРЕДЕЛЕНО КАК ДополнительноеПоле, | СтрокиДокумента.КоличествоДетей, | СтрокиДокумента.ПодразделениеОрганизации, | СтрокиДокумента.СторнируемыйДокумент |ПОМЕСТИТЬ ВТНачисленияСоСторноЗаписями |ИЗ | ВТСтрокиДоходов КАК ДанныеДокумента | ЛЕВОЕ СОЕДИНЕНИЕ ВТСторноНачисления КАК СтрокиДокумента | ПО ДанныеДокумента.НомерСтроки = СтрокиДокумента.НомерСтроки | И ДанныеДокумента.ИмяТЧ = СтрокиДокумента.ИмяТЧ | ЛЕВОЕ СОЕДИНЕНИЕ ВТСтрокиДоходов КАК СторноЗаписиДокумента | ПО ДанныеДокумента.ВидРасчета = СторноЗаписиДокумента.ВидРасчета | И ДанныеДокумента.ИмяТЧ = СторноЗаписиДокумента.ИмяТЧ | И ДанныеДокумента.Сотрудник = СторноЗаписиДокумента.Сотрудник | И ДанныеДокумента.ДатаНачала = СторноЗаписиДокумента.ДатаНачала | И ДанныеДокумента.КодВычета = СторноЗаписиДокумента.КодВычета | И (НЕ ДанныеДокумента.Сторно | И СторноЗаписиДокумента.Сторно | ИЛИ ДанныеДокумента.Сторно | И НЕ СторноЗаписиДокумента.Сторно) | И (&ДополнительноеУсловиеСвязи) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НачисленияСоСторноЗаписями.НомерСтроки, | НачисленияСоСторноЗаписями.СторнируемыйДокумент |ИЗ | ВТНачисленияСоСторноЗаписями КАК НачисленияСоСторноЗаписями |ГДЕ | НачисленияСоСторноЗаписями.Сторно"; Если ЗначениеЗаполнено(ДополнительныеПоля) Тогда ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"НЕОПРЕДЕЛЕНО КАК ДополнительноеПоле,", ДополнительныеПоля); ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"НЕОПРЕДЕЛЕНО,", ДополнительныеПоля); КонецЕсли; Если Не ЗначениеЗаполнено(ДополнительныеУсловияСвязи) Тогда Запрос.Текст = СтрЗаменить(ТекстЗапроса,"&ДополнительноеУсловиеСвязи", "Истина") Иначе Запрос.Текст = СтрЗаменить(ТекстЗапроса,"&ДополнительноеУсловиеСвязи", ДополнительныеУсловияСвязи) КонецЕсли; ТаблицаСторнируемыхДокументов = Запрос.Выполнить().Выгрузить(); ТаблицаПромежуточныхИсправлений = ТаблицаСторнируемыхДокументов.СкопироватьКолонки("СторнируемыйДокумент"); ТаблицаПромежуточныхИсправлений.Колонки.Добавить("ПромежуточноеИсправление", ТаблицаСторнируемыхДокументов.Колонки.СторнируемыйДокумент.ТипЗначения); УточнитьСторнируемыеДокументы(ТаблицаСторнируемыхДокументов, ТаблицаПромежуточныхИсправлений); Запрос.УстановитьПараметр("ТаблицаСторнируемыхДокументов", ТаблицаСторнируемыхДокументов); Запрос.УстановитьПараметр("ТаблицаПромежуточныхИсправлений", ТаблицаПромежуточныхИсправлений); ТекстЗапроса = "ВЫБРАТЬ | ТаблицаСторнируемыхДокументов.НомерСтроки, | ТаблицаСторнируемыхДокументов.СторнируемыйДокумент |ПОМЕСТИТЬ ВТТаблицаСторнируемыхДокументов |ИЗ | &ТаблицаСторнируемыхДокументов КАК ТаблицаСторнируемыхДокументов |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТаблицаПромежуточныхИсправлений.ПромежуточноеИсправление, | ТаблицаПромежуточныхИсправлений.СторнируемыйДокумент |ПОМЕСТИТЬ ВТТаблицаПромежуточныхИсправлений |ИЗ | &ТаблицаПромежуточныхИсправлений КАК ТаблицаПромежуточныхИсправлений |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НДФЛСведенияОДоходах.Период, | НДФЛСведенияОДоходах.Регистратор, | НДФЛСведенияОДоходах.СуммаДохода КАК СуммаДохода, | НДФЛСведенияОДоходах.СуммаВычета КАК СуммаВычета, | НДФЛСведенияОДоходах.ФизЛицо, | НДФЛСведенияОДоходах.ПодразделениеОрганизации, | НДФЛСведенияОДоходах.КодДохода, | НДФЛСведенияОДоходах.ДатаПолученияДохода, | НДФЛСведенияОДоходах.ВидРасчета |ПОМЕСТИТЬ ВТСведенияРегистраБезУточнений |ИЗ | РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах |ГДЕ | НДФЛСведенияОДоходах.Регистратор В | (ВЫБРАТЬ | СторноЗаписи.СторнируемыйДокумент | ИЗ | ВТТаблицаСторнируемыхДокументов КАК СторноЗаписи) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | СведенияРегистраБезУточнений.Регистратор, | СведенияРегистраБезУточнений.ФизЛицо, | СведенияРегистраБезУточнений.КодДохода, | СведенияРегистраБезУточнений.ВидРасчета, | МИНИМУМ(СведенияРегистраБезУточнений.ДатаПолученияДохода) КАК ДатаПолученияДохода, | МИНИМУМ(СведенияРегистраБезУточнений.Период) КАК Период |ПОМЕСТИТЬ ВТСторнируемыеСтрокиДоходов |ИЗ | ВТСведенияРегистраБезУточнений КАК СведенияРегистраБезУточнений | |СГРУППИРОВАТЬ ПО | СведенияРегистраБезУточнений.Регистратор, | СведенияРегистраБезУточнений.ФизЛицо, | СведенияРегистраБезУточнений.КодДохода, | СведенияРегистраБезУточнений.ВидРасчета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДоходыСУточнением.Период, | ДоходыСУточнением.Регистратор, | СУММА(ДоходыСУточнением.СуммаДохода) КАК СуммаДохода, | СУММА(ДоходыСУточнением.СуммаВычета) КАК СуммаВычета, | ДоходыСУточнением.ФизЛицо, | ДоходыСУточнением.ПодразделениеОрганизации, | ДоходыСУточнением.КодДохода, | ДоходыСУточнением.ДатаПолученияДохода, | ДоходыСУточнением.ВидРасчета |ПОМЕСТИТЬ ВТСведенияРегистра |ИЗ | (ВЫБРАТЬ | НДФЛСведенияОДоходах.Период КАК Период, | НДФЛСведенияОДоходах.Регистратор КАК Регистратор, | НДФЛСведенияОДоходах.ФизЛицо КАК ФизЛицо, | НДФЛСведенияОДоходах.КодДохода КАК КодДохода, | НДФЛСведенияОДоходах.ДатаПолученияДохода КАК ДатаПолученияДохода, | НДФЛСведенияОДоходах.ВидРасчета КАК ВидРасчета, | НДФЛСведенияОДоходах.ПодразделениеОрганизации КАК ПодразделениеОрганизации, | НДФЛСведенияОДоходах.СуммаДохода КАК СуммаДохода, | НДФЛСведенияОДоходах.СуммаВычета КАК СуммаВычета | ИЗ | ВТСведенияРегистраБезУточнений КАК НДФЛСведенияОДоходах | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | НДФЛСведенияОДоходах.Период, | СтрокиДоходов.Регистратор, | СтрокиДоходов.ФизЛицо, | СтрокиДоходов.КодДохода, | НДФЛСведенияОДоходах.ДатаПолученияДохода, | СтрокиДоходов.ВидРасчета, | НДФЛСведенияОДоходах.ПодразделениеОрганизации, | НДФЛСведенияОДоходах.СуммаДохода, | НДФЛСведенияОДоходах.СуммаВычета | ИЗ | ВТСторнируемыеСтрокиДоходов КАК СтрокиДоходов | ЛЕВОЕ СОЕДИНЕНИЕ ВТТаблицаПромежуточныхИсправлений КАК ТаблицаПромежуточныхИсправлений | ПО СтрокиДоходов.Регистратор = ТаблицаПромежуточныхИсправлений.СторнируемыйДокумент | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах | ПО (ТаблицаПромежуточныхИсправлений.ПромежуточноеИсправление = НДФЛСведенияОДоходах.Регистратор) | И СтрокиДоходов.ФизЛицо = НДФЛСведенияОДоходах.ФизЛицо | И СтрокиДоходов.КодДохода = НДФЛСведенияОДоходах.КодДохода | И СтрокиДоходов.ВидРасчета = НДФЛСведенияОДоходах.ВидРасчета | ГДЕ | НДФЛСведенияОДоходах.ФизЛицо ЕСТЬ НЕ NULL ) КАК ДоходыСУточнением | |СГРУППИРОВАТЬ ПО | ДоходыСУточнением.Период, | ДоходыСУточнением.Регистратор, | ДоходыСУточнением.ФизЛицо, | ДоходыСУточнением.ПодразделениеОрганизации, | ДоходыСУточнением.КодДохода, | ДоходыСУточнением.ДатаПолученияДохода, | ДоходыСУточнением.ВидРасчета | |ИМЕЮЩИЕ | СУММА(ДоходыСУточнением.СуммаДохода) > 0 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДанныеДокумента.ИмяТЧ КАК ИмяТЧ, | ДанныеДокумента.НомерСтроки КАК НомерСтроки, | ДанныеДокумента.Физлицо, | ДанныеДокумента.ВидРасчета, | ДанныеДокумента.КодДохода, | ДанныеДокумента.СуммаДохода, | ДанныеДокумента.КодВычета, | ДанныеДокумента.СуммаВычета, | ДанныеДокумента.КоличествоДетей, | ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации, ДанныеДокумента.ПодразделениеОрганизации) КАК ПодразделениеОрганизации, | НЕОПРЕДЕЛЕНО КАК ДополнительноеПоле, | ЕСТЬNULL(НДФЛСведенияОДоходах.ДатаПолученияДохода, ВЫБОР | КОГДА ДанныеДокумента.КодДохода В (ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.КодДоходаПоУмолчанию), ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2530)) | ТОГДА ВЫБОР | КОГДА СотрудникиОрганизаций.ДатаУвольнения МЕЖДУ НАЧАЛОПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) И КОНЕЦПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) | ТОГДА СотрудникиОрганизаций.ДатаУвольнения | ИНАЧЕ КОНЕЦПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) | КОНЕЦ | ИНАЧЕ ДанныеДокумента.ДатаВыплатыДохода | КОНЕЦ) КАК ДатаПолученияДохода, | КОНЕЦПЕРИОДА(ЕСТЬNULL(НДФЛСведенияОДоходах.Период, ВЫБОР | КОГДА ДанныеДокумента.КодДохода В (ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.КодДоходаПоУмолчанию), ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2530)) | ТОГДА ВЫБОР | КОГДА СотрудникиОрганизаций.ДатаУвольнения МЕЖДУ НАЧАЛОПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) И КОНЕЦПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) | ТОГДА СотрудникиОрганизаций.ДатаУвольнения | ИНАЧЕ КОНЕЦПЕРИОДА(ДанныеДокумента.ПериодРегистрации, МЕСЯЦ) | КОНЕЦ | ИНАЧЕ ДанныеДокумента.ДатаВыплатыДохода | КОНЕЦ), МЕСЯЦ) КАК Период, | ВЫБОР | КОГДА НДФЛСведенияОДоходах.Регистратор ЕСТЬ NULL | ТОГДА ЛОЖЬ | ИНАЧЕ ИСТИНА | КОНЕЦ КАК ЕстьСторнируемыеДанныеУчета, | ЕСТЬNULL(НДФЛСведенияОДоходах.СуммаДохода, 0) КАК СуммаДоходаВУчете, | ЕСТЬNULL(НДФЛСведенияОДоходах.СуммаВычета, 0) КАК СуммаВычетаВУчете |ИЗ | ВТНачисленияСоСторноЗаписями КАК ДанныеДокумента | ЛЕВОЕ СОЕДИНЕНИЕ ВТТаблицаСторнируемыхДокументов КАК ТаблицаСторнируемыхДокументов | ПО ДанныеДокумента.НомерСтроки = ТаблицаСторнируемыхДокументов.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций | ПО ДанныеДокумента.Сотрудник = СотрудникиОрганизаций.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ ВТСведенияРегистра КАК НДФЛСведенияОДоходах | ПО (ТаблицаСторнируемыхДокументов.СторнируемыйДокумент = НДФЛСведенияОДоходах.Регистратор) | И ДанныеДокумента.Физлицо = НДФЛСведенияОДоходах.ФизЛицо | И (ВЫБОР | КОГДА НДФЛСведенияОДоходах.ВидРасчета.КодДоходаНДФЛ ЕСТЬ NULL | ТОГДА ДанныеДокумента.КодДохода = НДФЛСведенияОДоходах.КодДохода | ИНАЧЕ ДанныеДокумента.ВидРасчета = НДФЛСведенияОДоходах.ВидРасчета | КОНЕЦ) |ГДЕ | (ДанныеДокумента.СуммаДохода <> 0 | ИЛИ ДанныеДокумента.СуммаВычета <> 0) | |УПОРЯДОЧИТЬ ПО | ИмяТЧ, | НомерСтроки, | ДатаПолученияДохода УБЫВ"; Если ЗначениеЗаполнено(ДополнительныеПоля) Тогда ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"НЕОПРЕДЕЛЕНО КАК ДополнительноеПоле,", ДополнительныеПоля); ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"НЕОПРЕДЕЛЕНО,", ДополнительныеПоля); КонецЕсли; Запрос.Текст = ТекстЗапроса; Если ТипЗнч(НаборЗаписей) = Тип("ТаблицаЗначений") Тогда ВременнаяТаблица = НаборЗаписей Иначе ВременнаяТаблица = НаборЗаписей.ВыгрузитьКолонки(); КонецЕсли; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.СледующийПоЗначениюПоля("ИмяТЧ") Цикл Пока Выборка.СледующийПоЗначениюПоля("НомерСтроки") Цикл Если Выборка.ЕстьСторнируемыеДанныеУчета Тогда СторноВсего = -Выборка.СуммаДохода; СторноВычета = -Выборка.СуммаВычета; Пока Выборка.Следующий() Цикл СуммаДохода = -Мин(СторноВсего, Выборка.СуммаДоходаВУчете); СторноВсего = СторноВсего + СуммаДохода; Если СторноВычета = 0 Тогда СуммаВычета = 0 Иначе СуммаВычета = -Мин(СторноВычета, Выборка.СуммаВычетаВУчете); СторноВычета = СторноВычета + СуммаВычета; КонецЕсли; Движение = ВременнаяТаблица.Добавить(); ЗаполнитьЗначенияСвойств(Движение,ВыборкаПоШапкеДокумента,"ОбособленноеПодразделение"); // ОбособленноеПодразделение ЗаполнитьЗначенияСвойств(Движение,Выборка); // Период, Физлицо, КодДохода, СуммаДохода, СуммаВычета, КодВычета, ПодразделениеОрганизации, КоличествоДетей, ВидРасчета // измерения Движение.Организация = ВыборкаПоШапкеДокумента.ГоловнаяОрганизация; Движение.ПериодРегистрации = ДатаРегистрации; // ресурсы Движение.СуммаДохода = СуммаДохода; Движение.СуммаВычета = СуммаВычета; // реквизиты Движение.ИсчисленоИзЗарплаты= Истина; Если СторноВсего = 0 Тогда Прервать; КонецЕсли; КонецЦикла; Иначе Движение = ВременнаяТаблица.Добавить(); ЗаполнитьЗначенияСвойств(Движение,ВыборкаПоШапкеДокумента,"ОбособленноеПодразделение"); // ОбособленноеПодразделение ЗаполнитьЗначенияСвойств(Движение,Выборка); // Период, Физлицо, КодДохода, СуммаДохода, СуммаВычета, КодВычета, ПодразделениеОрганизации, КоличествоДетей, ВидРасчета // измерения Движение.Организация = ВыборкаПоШапкеДокумента.ГоловнаяОрганизация; Движение.ПериодРегистрации = ДатаРегистрации; // реквизиты Движение.ИсчисленоИзЗарплаты= Истина; КонецЕсли; КонецЦикла; КонецЦикла; Если ТипЗнч(НаборЗаписей) <> Тип("ТаблицаЗначений") Тогда СвернутьДвиженияНДФЛСведенияОДоходах(ВременнаяТаблица); НаборЗаписей.Загрузить(ВременнаяТаблица); КонецЕсли; КонецПроцедуры |
||||
Исправлено в релизе: | 1.0.64 | ||||
Код ошибки: | 10134671 | ||||
Дата публикации: | 27 июля 2012 г. | ||||
Описание: | При расчете доплаты за ночные или вечерние часы сотрудников обособленных подразделений, выделенных на отдельный баланс, всегда используется процент по умолчанию (10% и 20% соответственно), независимо от того, какие настройки заданы для головной организации. |
||||
Исправлено в релизе: | 1.0.64 | ||||
Код ошибки: | 10134582 | ||||
Дата публикации: | 9 октября 2013 г. | ||||
Описание: | При эксплуатации конфигурации в клиент-серверном варианте под управлением СУБД Microsoft SQL 8.0 в документе "Справка о заработке для расчета пособий" может выдаваться ошибка СУБД при заполнении данных. | ||||
Способ исправления: | Заменить функцию ЗаработокДляВыплатыПособийСоцСтрахованияС2011года() о.м. ПроведениеРасчетов следующим фрагментом: Функция ЗаработокДляВыплатыПособийСоцСтрахованияС2011года(МассивЛет, Физлицо, Организация, УчитыватьЗаработокПредыдущихСтрахователей, ТолькоПоОбособленномуПодразделению = Ложь, УчитыватьВесьЗаработок = Ложь, КомментироватьРасчет = Ложь, КомментироватьДни = Ложь) Экспорт РаннийГод = 10000; ПозднийГод = 0; Для каждого Значение Из МассивЛет Цикл РаннийГод = Мин(Значение, РаннийГод); ПозднийГод = Макс(Значение, ПозднийГод); КонецЦикла; Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр("МассивЛет", МассивЛет); Запрос.УстановитьПараметр("ФизЛицо", ФизЛицо); Запрос.УстановитьПараметр("ОбособленноеПодразделение", Организация); Запрос.УстановитьПараметр("ПоВсейОрганизации", Не ТолькоПоОбособленномуПодразделению); Запрос.УстановитьПараметр("ГоловнаяОрганизация", ОбщегоНазначенияЗК.ГоловнаяОрганизация(Организация)); Запрос.УстановитьПараметр("Начало", Дата(РаннийГод, 1, 1)); Запрос.УстановитьПараметр("Окончание", КонецДня(Дата(ПозднийГод, 12, 31))); Запрос.УстановитьПараметр("ДатаДоЗакона212", ПроведениеРасчетов.ДатаЗаменыЕСНСтраховымиВзносами() - 1); Запрос.УстановитьПараметр("УчитыватьВесьЗаработок", УчитыватьВесьЗаработок); Запрос.УстановитьПараметр("ОграничениеПоПериодуРегистрации", Макс(ОбщегоНазначенияЗК.ПолучитьРабочуюДату(),КонецДня(Дата(ПозднийГод, 12, 31)))); ДеньПериода = Дата(РаннийГод, 1, 1); Запрос.Текст = "ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(ДеньПериода,"ДФ=гггг,М,д,Ч,м,с") + ") КАК Период ПОМЕСТИТЬ ВТПериоды"; Запрос.Выполнить(); ДеньПериода = ДеньПериода + 86400; ПериодыТекст = "ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(ДеньПериода,"ДФ=гггг,М,д,Ч,м,с") + ") КАК Период ПОМЕСТИТЬ ВТПериодыМесяц"; Пока ДеньПериода < Дата(ПозднийГод, 12, 31) Цикл ДеньПериода = ДеньПериода + 86400; ПериодыТекст = ПериодыТекст +" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(ДеньПериода,"ДФ=гггг,М,д,Ч,м,с") + ")"; Если День(ДеньПериода) = День(КонецМесяца(ДеньПериода)) Тогда Запрос.Текст = ПериодыТекст; Запрос.Выполнить(); ПериодыТекст = "ВЫБРАТЬ | ДатыПериода.Период |ПОМЕСТИТЬ ВТПериодыПромежуточная |ИЗ | ВТПериодыМесяц КАК ДатыПериода | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ДатыПериода.Период |ИЗ | ВТПериоды КАК ДатыПериода |; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ ВТПериоды |; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ ВТПериодыМесяц |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПериодыПромежуточная.Период |ПОМЕСТИТЬ ВТПериоды |ИЗ | ВТПериодыПромежуточная КАК ПериодыПромежуточная |; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ ВТПериодыПромежуточная"; Запрос.Текст = ПериодыТекст; Запрос.Выполнить(); ПериодыТекст = "ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(ДеньПериода,"ДФ=гггг,М,д,Ч,м,с") + ") КАК Период ПОМЕСТИТЬ ВТПериодыМесяц ГДЕ Ложь"; КонецЕсли; КонецЦикла; Запрос.Текст = "ВЫБРАТЬ | СотрудникиОрганизаций.Ссылка |ПОМЕСТИТЬ ВТСотрудники |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций |ГДЕ | СотрудникиОрганизаций.Организация = &ГоловнаяОрганизация | И СотрудникиОрганизаций.Физлицо = &Физлицо | И СотрудникиОрганизаций.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияНачало, | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияКонец, | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.Сторно, | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ВидРасчета |ПОМЕСТИТЬ ВТПериодыОтпускаПоУходуЗаРебенком |ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия( | Сотрудник В | (ВЫБРАТЬ | СотрудникиФизлица.Ссылка | ИЗ | ВТСотрудники КАК СотрудникиФизлица) | И ФизЛицо = &ФизЛицо | И ВидРасчета В (ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОтпускПоУходуЗаРебенкомБезОплаты), ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПособиеПоУходуЗаРебенкомДо1_5Лет), ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПособиеПоУходуЗаРебенкомДо3Лет)) | И Организация = &ГоловнаяОрганизация | И (ОбособленноеПодразделение = &ОбособленноеПодразделение | ИЛИ &ПоВсейОрганизации) | И ГОД(ПериодДействия) В (&МассивЛет) | И ПериодРегистрации <= &ОграничениеПоПериодуРегистрации) КАК ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия | |СГРУППИРОВАТЬ ПО | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействия, | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияНачало, | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияКонец, | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.Сторно, | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ВидРасчета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДатыПериода.Период, | ПериодыОтпускаПоУходуЗаРебенком.ВидРасчета |ПОМЕСТИТЬ ВТДатыОтпуска |ИЗ | ВТПериоды КАК ДатыПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТПериодыОтпускаПоУходуЗаРебенком КАК ПериодыОтпускаПоУходуЗаРебенком | ПО (ДатыПериода.Период МЕЖДУ ПериодыОтпускаПоУходуЗаРебенком.ПериодДействияНачало И ПериодыОтпускаПоУходуЗаРебенком.ПериодДействияКонец) |ГДЕ | ПериодыОтпускаПоУходуЗаРебенком.ВидРасчета ЕСТЬ НЕ NULL | |СГРУППИРОВАТЬ ПО | ДатыПериода.Период, | ПериодыОтпускаПоУходуЗаРебенком.ВидРасчета | |ИМЕЮЩИЕ | СУММА(ВЫБОР | КОГДА ПериодыОтпускаПоУходуЗаРебенком.Сторно | ТОГДА -1 | ИНАЧЕ 1 | КОНЕЦ) > 0 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | НАЧАЛОПЕРИОДА(ДатыОтпуска.Период, МЕСЯЦ) КАК ПериодДействия, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ДатыОтпуска.Период) КАК ДнейИсключаемыхОтсутствий |ПОМЕСТИТЬ ВТДнейОтпускаПоУходуЗаРебенком |ИЗ | ВТДатыОтпуска КАК ДатыОтпуска | |СГРУППИРОВАТЬ ПО | НАЧАЛОПЕРИОДА(ДатыОтпуска.Период, МЕСЯЦ) |; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ ВТПериоды"; Запрос.Выполнить(); ТекстВТСтраховыеВзносы = "ВЫБРАТЬ | СтраховыеВзносыСведенияОДоходахОбороты.РезультатОборот - СтраховыеВзносыСведенияОДоходахОбороты.СкидкаОборот КАК Заработок, | СтраховыеВзносыСведенияОДоходахОбороты.Период |ПОМЕСТИТЬ ВТДоходыПоМесяцам |ИЗ | РегистрНакопления.СтраховыеВзносыСведенияОДоходах.Обороты( | &Начало, | &Окончание, | Месяц, | ВидДохода.ВходитВБазуФСС | И ФизЛицо = &ФизЛицо | И Организация = &ГоловнаяОрганизация | И (ОбособленноеПодразделение = &ОбособленноеПодразделение | ИЛИ &ПоВсейОрганизации)) КАК СтраховыеВзносыСведенияОДоходахОбороты |ГДЕ | ГОД(СтраховыеВзносыСведенияОДоходахОбороты.Период) В (&МассивЛет) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОсновныеНачисленияОрганизаций.Ссылка |ПОМЕСТИТЬ ВТНеоблагаемыеВзносамиОтсутствия |ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций |ГДЕ | ОсновныеНачисленияОрганизаций.ЗачетНормыВремени | И НЕ ОсновныеНачисленияОрганизаций.ЗачетОтработанногоВремени | И НЕ ЕСТЬNULL(ОсновныеНачисленияОрганизаций.КодДоходаСтраховыеВзносы.ВходитВБазуФСС, ЛОЖЬ) | И ОсновныеНачисленияОрганизаций.СпособРасчета <> ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.НулеваяСумма) | И НЕ ОсновныеНачисленияОрганизаций.ОбозначениеВТабелеУчетаРабочегоВремени В (ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Прогулы), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.НеоплачиваемыйОтпускПоРазрешениюРаботодателя), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.НеоплачиваемыйОтпускПоЗаконодательству), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.НеоплачиваемыйДополнительныйОтпуск), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ОтпускНаОбучениеНеоплачиваемый), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ОтстранениеОтРаботыБезОплаты)) | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОтсутствиеПоБолезни) | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОтсутствиеПоБолезниПоБеременности) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействия, | СУММА(ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ДнейИсключаемыхОтсутствий) КАК ДнейИсключаемыхОтсутствий |ПОМЕСТИТЬ ВТПериодыИсключаемыхОтсутствий |ИЗ | (ВЫБРАТЬ | ОсновныеНачисления.ПериодДействия КАК ПериодДействия, | РАЗНОСТЬДАТ(ОсновныеНачисления.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ОсновныеНачисления.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1), ДЕНЬ) * ВЫБОР | КОГДА ОсновныеНачисления.Сторно | ТОГДА -1 | ИНАЧЕ 1 | КОНЕЦ КАК ДнейИсключаемыхОтсутствий | ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия( | Сотрудник В | (ВЫБРАТЬ | СотрудникиФизлица.Ссылка | ИЗ | ВТСотрудники КАК СотрудникиФизлица) | И ФизЛицо = &ФизЛицо | И ВидРасчета В | (ВЫБРАТЬ | НеоблагаемыеВзносамиОтсутствия.Ссылка | ИЗ | ВТНеоблагаемыеВзносамиОтсутствия КАК НеоблагаемыеВзносамиОтсутствия) | И Организация = &ГоловнаяОрганизация | И (ОбособленноеПодразделение = &ОбособленноеПодразделение | ИЛИ &ПоВсейОрганизации) | И ГОД(ПериодДействия) В (&МассивЛет) | И ПериодДействия > &ДатаДоЗакона212 | И ПериодРегистрации <= &ОграничениеПоПериодуРегистрации) КАК ОсновныеНачисления | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ОсновныеНачисления.ПериодДействия, | ОсновныеНачисления.ДнейИсключаемыхОтсутствий | ИЗ | ВТДнейОтпускаПоУходуЗаРебенком КАК ОсновныеНачисления | ГДЕ | ОсновныеНачисления.ПериодДействия > &ДатаДоЗакона212) КАК ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия | |СГРУППИРОВАТЬ ПО | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействия |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ДоходыПоМесяцам.Период |ПОМЕСТИТЬ ВТПериоды |ИЗ | ВТДоходыПоМесяцам КАК ДоходыПоМесяцам | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ПериодыИсключаемыхОтсутствий.ПериодДействия |ИЗ | ВТПериодыИсключаемыхОтсутствий КАК ПериодыИсключаемыхОтсутствий |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.Период КАК Месяц, | НЕ ЕСТЬNULL(ГражданствоФизЛиц.НеИмеетПравоНаПенсию, ЛОЖЬ) КАК ИмеетПравоНаСтрахование |ПОМЕСТИТЬ ВТДанныеОПравеНаСтрахование |ИЗ | (ВЫБРАТЬ | Периоды.Период КАК Период, | МАКСИМУМ(ГражданствоФизЛиц.Период) КАК ПериодРегистра | ИЗ | ВТПериоды КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц | ПО (ГражданствоФизЛиц.ФизЛицо = &ФизЛицо) | И (Периоды.Период >= НАЧАЛОПЕРИОДА(ГражданствоФизЛиц.Период, МЕСЯЦ)) | | СГРУППИРОВАТЬ ПО | Периоды.Период) КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц | ПО Периоды.ПериодРегистра = ГражданствоФизЛиц.Период | И (ГражданствоФизЛиц.ФизЛицо = &Физлицо)"; ТекстСтраховыеВзносы = "ВЫБРАТЬ | ГОД(Периоды.Период) КАК РасчетныйГод, | НАЧАЛОПЕРИОДА(Периоды.Период, ГОД) КАК БазовыйПериодНачало, | СУММА(ВЫБОР | КОГДА &УчитыватьВесьЗаработок | ТОГДА ЕСТЬNULL(ДоходыПоМесяцам.Заработок, 0) | КОГДА ДанныеОПравеНаСтрахование.ИмеетПравоНаСтрахование | ТОГДА ЕСТЬNULL(ДоходыПоМесяцам.Заработок, 0) | ИНАЧЕ 0 | КОНЕЦ) КАК Заработок, | СУММА(ВЫБОР | КОГДА &УчитыватьВесьЗаработок | ТОГДА ЕСТЬNULL(ПериодыИсключаемыхОтсутствий.ДнейИсключаемыхОтсутствий, 0) | КОГДА ДанныеОПравеНаСтрахование.ИмеетПравоНаСтрахование | ТОГДА ЕСТЬNULL(ПериодыИсключаемыхОтсутствий.ДнейИсключаемыхОтсутствий, 0) | ИНАЧЕ 0 | КОНЕЦ) КАК ДнейБолезниУходаЗаДетьми, | ЗНАЧЕНИЕ(Справочник.Работодатели.ТекущийРаботодатель) КАК Страхователь, | Периоды.Период КАК Период, | ЕСТЬNULL(ДанныеОПравеНаСтрахование.ИмеетПравоНаСтрахование, ЛОЖЬ) КАК ИмеетПравоНаСтрахование |ИЗ | ВТПериоды КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыПоМесяцам КАК ДоходыПоМесяцам | ПО Периоды.Период = ДоходыПоМесяцам.Период | ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОПравеНаСтрахование КАК ДанныеОПравеНаСтрахование | ПО Периоды.Период = ДанныеОПравеНаСтрахование.Месяц | ЛЕВОЕ СОЕДИНЕНИЕ ВТПериодыИсключаемыхОтсутствий КАК ПериодыИсключаемыхОтсутствий | ПО Периоды.Период = ПериодыИсключаемыхОтсутствий.ПериодДействия | |СГРУППИРОВАТЬ ПО | НАЧАЛОПЕРИОДА(Периоды.Период, ГОД), | ГОД(Периоды.Период), | Периоды.Период, | ЕСТЬNULL(ДанныеОПравеНаСтрахование.ИмеетПравоНаСтрахование, ЛОЖЬ) | |"; ТекстВТЕСН = "ВЫБРАТЬ | ОсновныеНачисленияОрганизаций.Ссылка |ПОМЕСТИТЬ ВТДополнительныеНачисления |ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций |ГДЕ | НЕ ОсновныеНачисленияОрганизаций.КодДоходаЕСН.ВходитВБазуФСС | И ОсновныеНачисленияОрганизаций.КодДоходаСтраховыеВзносы.ВходитВБазуФСС | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ДополнительныеНачисленияОрганизаций.Ссылка |ИЗ | ПланВидовРасчета.ДополнительныеНачисленияОрганизаций КАК ДополнительныеНачисленияОрганизаций |ГДЕ | НЕ ДополнительныеНачисленияОрганизаций.КодДоходаЕСН.ВходитВБазуФСС | И ДополнительныеНачисленияОрганизаций.КодДоходаСтраховыеВзносы.ВходитВБазуФСС |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СУММА(ДанныеУчета.Заработок) КАК Заработок, | НАЧАЛОПЕРИОДА(ДанныеУчета.Период, МЕСЯЦ) КАК Период |ПОМЕСТИТЬ ВТДоходыПоМесяцамЕСН |ИЗ | (ВЫБРАТЬ | ЕСНСведенияОДоходах.Результат - ЕСНСведенияОДоходах.Скидка КАК Заработок, | ЕСНСведенияОДоходах.Период КАК Период | ИЗ | РегистрНакопления.ЕСНСведенияОДоходах КАК ЕСНСведенияОДоходах | ГДЕ | ЕСНСведенияОДоходах.ФизЛицо = &ФизЛицо | И ЕСНСведенияОДоходах.Организация = &ГоловнаяОрганизация | И ЕСНСведенияОДоходах.КодДоходаЕСН.ВходитВБазуФСС | И ГОД(ЕСНСведенияОДоходах.Период) В (&МассивЛет) | И ЕСНСведенияОДоходах.Период МЕЖДУ &Начало И &Окончание | И (ЕСНСведенияОДоходах.ОбособленноеПодразделение = &ОбособленноеПодразделение | ИЛИ &ПоВсейОрганизации) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ОсновныеНачисленияРаботниковОрганизаций.Результат, | ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации | ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций | ГДЕ | ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо = &ФизЛицо | И ГОД(ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации) В (&МассивЛет) | И ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &Начало И &ДатаДоЗакона212 | И ОсновныеНачисленияРаботниковОрганизаций.Организация = &ГоловнаяОрганизация | И (ОсновныеНачисленияРаботниковОрганизаций.ОбособленноеПодразделение = &ОбособленноеПодразделение | ИЛИ &ПоВсейОрганизации) | И ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета В | (ВЫБРАТЬ | ВидыРасчета.Ссылка | ИЗ | ВТДополнительныеНачисления КАК ВидыРасчета) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ДополнительныеНачисленияРаботниковОрганизаций.Результат - ДополнительныеНачисленияРаботниковОрганизаций.СкидкаПриНалогообложении, | ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации | ИЗ | РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций | ГДЕ | ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо = &ФизЛицо | И ГОД(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации) В (&МассивЛет) | И ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &Начало И &ДатаДоЗакона212 | И ДополнительныеНачисленияРаботниковОрганизаций.Организация = &ГоловнаяОрганизация | И (ДополнительныеНачисленияРаботниковОрганизаций.ОбособленноеПодразделение = &ОбособленноеПодразделение | ИЛИ &ПоВсейОрганизации) | И ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета В | (ВЫБРАТЬ | ВидыРасчета.Ссылка | ИЗ | ВТДополнительныеНачисления КАК ВидыРасчета)) КАК ДанныеУчета | |СГРУППИРОВАТЬ ПО | НАЧАЛОПЕРИОДА(ДанныеУчета.Период, МЕСЯЦ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОсновныеНачисленияОрганизаций.Ссылка |ПОМЕСТИТЬ ВТНеоблагаемыеВзносамиОтсутствияЕСН |ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций |ГДЕ | ОсновныеНачисленияОрганизаций.ЗачетНормыВремени | И НЕ ОсновныеНачисленияОрганизаций.ЗачетОтработанногоВремени | И НЕ ЕСТЬNULL(ОсновныеНачисленияОрганизаций.КодДоходаЕСН.ВходитВБазуФСС, ЛОЖЬ) | И ОсновныеНачисленияОрганизаций.СпособРасчета <> ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.НулеваяСумма) | И НЕ ОсновныеНачисленияОрганизаций.ОбозначениеВТабелеУчетаРабочегоВремени В (ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Прогулы), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.НеоплачиваемыйОтпускПоРазрешениюРаботодателя), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.НеоплачиваемыйОтпускПоЗаконодательству), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.НеоплачиваемыйДополнительныйОтпуск), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ОтпускНаОбучениеНеоплачиваемый), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ОтстранениеОтРаботыБезОплаты)) | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОтсутствиеПоБолезни) | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОтсутствиеПоБолезниПоБеременности) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействия, | СУММА(ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ДнейИсключаемыхОтсутствий) КАК ДнейИсключаемыхОтсутствий |ПОМЕСТИТЬ ВТПериодыИсключаемыхОтсутствийЕСН |ИЗ | (ВЫБРАТЬ | ОсновныеНачисления.ПериодДействия КАК ПериодДействия, | РАЗНОСТЬДАТ(ОсновныеНачисления.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ОсновныеНачисления.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1), ДЕНЬ) * ВЫБОР | КОГДА ОсновныеНачисления.Сторно | ТОГДА -1 | ИНАЧЕ 1 | КОНЕЦ КАК ДнейИсключаемыхОтсутствий | ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия( | Сотрудник В | (ВЫБРАТЬ | СотрудникиФизлица.Ссылка | ИЗ | ВТСотрудники КАК СотрудникиФизлица) | И ФизЛицо = &ФизЛицо | И ВидРасчета В | (ВЫБРАТЬ | НеоблагаемыеВзносамиОтсутствия.Ссылка | ИЗ | ВТНеоблагаемыеВзносамиОтсутствияЕСН КАК НеоблагаемыеВзносамиОтсутствия) | И Организация = &ГоловнаяОрганизация | И (ОбособленноеПодразделение = &ОбособленноеПодразделение | ИЛИ &ПоВсейОрганизации) | И ГОД(ПериодДействия) В (&МассивЛет) | И ПериодДействия <= &ДатаДоЗакона212 | И ПериодРегистрации <= &ОграничениеПоПериодуРегистрации) КАК ОсновныеНачисления | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ОсновныеНачисления.ПериодДействия, | ОсновныеНачисления.ДнейИсключаемыхОтсутствий | ИЗ | ВТДнейОтпускаПоУходуЗаРебенком КАК ОсновныеНачисления | ГДЕ | ОсновныеНачисления.ПериодДействия <= &ДатаДоЗакона212) КАК ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия | |СГРУППИРОВАТЬ ПО | ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействия |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ДоходыПоМесяцам.Период |ПОМЕСТИТЬ ВТПериодыЕСН |ИЗ | ВТДоходыПоМесяцамЕСН КАК ДоходыПоМесяцам | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ПериодыИсключаемыхОтсутствий.ПериодДействия |ИЗ | ВТПериодыИсключаемыхОтсутствийЕСН КАК ПериодыИсключаемыхОтсутствий"; ТекстЕСН = "ВЫБРАТЬ | ГОД(Периоды.Период) КАК РасчетныйГод, | НАЧАЛОПЕРИОДА(Периоды.Период, ГОД) КАК БазовыйПериодНачало, | СУММА(ЕСТЬNULL(ДоходыПоМесяцам.Заработок, 0)) КАК Заработок, | СУММА(ЕСТЬNULL(ПериодыИсключаемыхОтсутствий.ДнейИсключаемыхОтсутствий, 0)) КАК ДнейБолезниУходаЗаДетьми, | ЗНАЧЕНИЕ(Справочник.Работодатели.ТекущийРаботодатель) КАК Страхователь, | Периоды.Период КАК Период, | ИСТИНА КАК ИмеетПравоНаСтрахование |ИЗ | ВТПериодыЕСН КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыПоМесяцамЕСН КАК ДоходыПоМесяцам | ПО Периоды.Период = ДоходыПоМесяцам.Период | ЛЕВОЕ СОЕДИНЕНИЕ ВТПериодыИсключаемыхОтсутствийЕСН КАК ПериодыИсключаемыхОтсутствий | ПО Периоды.Период = ПериодыИсключаемыхОтсутствий.ПериодДействия | |СГРУППИРОВАТЬ ПО | Периоды.Период, | НАЧАЛОПЕРИОДА(Периоды.Период, ГОД), | ГОД(Периоды.Период) | |"; ГодЗакона213ФЗ = Год(ПроведениеРасчетов.ДатаЗаменыЕСНСтраховымиВзносами()); Если ПозднийГод < ГодЗакона213ФЗ Тогда Запрос.Текст = ТекстВТЕСН + ";" + Символы.ПС + ТекстЕСН + Символы.ПС + "УПОРЯДОЧИТЬ ПО" + Символы.ПС + "Период"; ИначеЕсли РаннийГод >= ГодЗакона213ФЗ Тогда Запрос.Текст = ТекстВТСтраховыеВзносы + ";" + Символы.ПС + ТекстСтраховыеВзносы + Символы.ПС + "УПОРЯДОЧИТЬ ПО" + Символы.ПС + "Период"; Иначе Запрос.Текст = ТекстВТЕСН + ";" + Символы.ПС + ТекстВТСтраховыеВзносы + ";" + Символы.ПС + ТекстЕСН + Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС + ТекстСтраховыеВзносы + Символы.ПС + "УПОРЯДОЧИТЬ ПО" + Символы.ПС + "Период"; КонецЕсли; ДанныеРасчета = Запрос.Выполнить().Выгрузить(); Если КомментироватьРасчет Тогда ОписаниеРасчетныхЛет = ""; Для каждого Значение Из МассивЛет Цикл ОписаниеРасчетныхЛет = ОписаниеРасчетныхЛет + ?(ЗначениеЗаполнено(ОписаниеРасчетныхЛет),", ","") + Формат(Значение,"ЧГ=0"); КонецЦикла; КомментарийРасчетаСреднего = ОбщегоНазначенияЗК.КомментарийРасчета("Расчет среднего заработка у текущего работодателя за " + ОписаниеРасчетныхЛет + " год(ы)"); Год = 0; Для каждого СтрокаТЗ Из ДанныеРасчета Цикл Если Год <> СтрокаТЗ.РасчетныйГод Тогда КомментарийКалендарногоГода = ОбщегоНазначенияЗК.КомментарийРасчета(Формат(СтрокаТЗ.РасчетныйГод, "ЧГ=0") + " год", КомментарийРасчетаСреднего); Год = СтрокаТЗ.РасчетныйГод КонецЕсли; Месяц = Формат(СтрокаТЗ.Период, "ДФ=MMMM"); Если Не УчитыватьВесьЗаработок И Не СтрокаТЗ.ИмеетПравоНаСтрахование Тогда УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной("глКомпонентаСклоненияФИО"), Месяц, 6, Перечисления.ПолФизическихЛиц.Мужской, Месяц); ОписаниеПериода = НРег(Месяц) + " " + Формат(СтрокаТЗ.Период,"ДФ=гггг") + " г."; ОбщегоНазначенияЗК.КомментарийРасчета("Сотрудник в " + ОписаниеПериода + " не был застрахован, страховые взносы за него не уплачивались, месяц пропущен", КомментарийКалендарногоГода); Иначе ОбщегоНазначенияЗК.КомментарийРасчета("За " + НРег(Месяц) + " учтено заработка: " + СтрокаТЗ.Заработок + ?(КомментироватьДни,", дней болезни (отпуска по уходу за детьми): " + СтрокаТЗ.ДнейБолезниУходаЗаДетьми,""), КомментарийКалендарногоГода); КонецЕсли; КонецЦикла; КонецЕсли; ДанныеРасчета.Свернуть("РасчетныйГод,БазовыйПериодНачало,Страхователь","Заработок,ДнейБолезниУходаЗаДетьми"); ЕстьДанныеОДоходах = ДанныеРасчета.Количество() > 0; Если ЕстьДанныеОДоходах Тогда СтрокиКУдалению = Новый Массив; Для каждого СтрокаТЗ Из ДанныеРасчета Цикл Если СтрокаТЗ.Заработок <= 0 И (Не КомментироватьДни Или СтрокаТЗ.ДнейБолезниУходаЗаДетьми <= 0) Тогда СтрокиКУдалению.Добавить(СтрокаТЗ); Если КомментироватьРасчет Тогда Если СтрокаТЗ.Заработок = 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("За " + Формат(СтрокаТЗ.БазовыйПериодНачало,"ДФ=гггг") + " год данные о доходах не обнаружены, год пропущен", КомментарийРасчетаСреднего); Иначе ОбщегоНазначенияЗК.КомментарийРасчета("За " + Формат(СтрокаТЗ.БазовыйПериодНачало,"ДФ=гггг") + " год в целом получен отрицательный доход, год пропущен", КомментарийРасчетаСреднего); КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; Для каждого СтрокаКУдалению Из СтрокиКУдалению Цикл ДанныеРасчета.Удалить(СтрокаКУдалению) КонецЦикла; КонецЕсли; Если УчитыватьЗаработокПредыдущихСтрахователей Тогда Если КомментироватьРасчет Тогда КомментарийПредыдущихСтрахователей = ОбщегоНазначенияЗК.КомментарийРасчета("Данные о заработке на предыдущих местах работы"); КонецЕсли; Запрос.Текст = "ВЫБРАТЬ | ЗаработокСотрудниковУДругихСтрахователей.Страхователь КАК Страхователь, | ЗаработокСотрудниковУДругихСтрахователей.РасчетныйГод КАК РасчетныйГод, | ПРЕДСТАВЛЕНИЕССЫЛКИ(ЗаработокСотрудниковУДругихСтрахователей.Страхователь) КАК НаименованиеСтрахователя, | ЗаработокСотрудниковУДругихСтрахователей.Заработок, | ЗаработокСотрудниковУДругихСтрахователей.ДнейБолезниУходаЗаДетьми |ИЗ | РегистрСведений.ЗаработокСотрудниковУДругихСтрахователей КАК ЗаработокСотрудниковУДругихСтрахователей |ГДЕ | ЗаработокСотрудниковУДругихСтрахователей.ФизЛицо = &ФизЛицо | И ЗаработокСотрудниковУДругихСтрахователей.ГоловнаяОрганизация = &ГоловнаяОрганизация | И ЗаработокСотрудниковУДругихСтрахователей.Страхователь <> ЗНАЧЕНИЕ(Справочник.Работодатели.ТекущийРаботодатель) | И ЗаработокСотрудниковУДругихСтрахователей.РасчетныйГод В(&МассивЛет) | |УПОРЯДОЧИТЬ ПО | РасчетныйГод, | Страхователь"; Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Справок по предыдущим страхователям не обнаружено!", КомментарийПредыдущихСтрахователей); КонецЕсли; Иначе Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл НоваяСтрока = ДанныеРасчета.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока,Выборка); НоваяСтрока.БазовыйПериодНачало = Дата(Выборка.РасчетныйГод, 1, 1); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("По страхователю """ + Выборка.НаименованиеСтрахователя + """ за " + Формат(Выборка.РасчетныйГод,"ЧГ=0") + " год учтено заработка: " + Выборка.Заработок + ?(КомментироватьДни,", дней болезни (отпуска по уходу за детьми): " + Выборка.ДнейБолезниУходаЗаДетьми,""), КомментарийПредыдущихСтрахователей); КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; Если Не ЕстьДанныеОДоходах И ДанныеРасчета.Количество() = 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("За указанные расчетные годы данные о доходах не обнаружены!", КомментарийРасчетаСреднего); КонецЕсли; Возврат ДанныеРасчета КонецФункции // ЗаработокДляВыплатыПособийСоцСтрахованияС2011года() |
||||
Исправлено в релизе: | 1.0.64 | ||||
Код ошибки: | 10134456 | ||||
Дата публикации: | 9 октября 2013 г. | ||||
Описание: | В отчет "Форма-14" попадают неверные суммы районного коэффициента и северной надбавки, если в документах-начислениях (например, в б/л) производится их перерасчет в связи со сторнированием основных начислений. | ||||
Планируется исправить в релизе: | 1.0.64 | ||||
Код ошибки: | 10134444 | ||||
Дата публикации: | 4 октября 2013 г. | ||||
Описание: | Если сотрудник получает доходы только в обособленном подразделении с выделенным балансом, то в раздел 7 отчета «Регистр налогового учета по НДФЛ» для такого сотрудника не попадают сведения о выданных справках. | ||||
Исправлено в релизе: | 1.0.64 | ||||
Код ошибки: | 10134513 | ||||
Дата публикации: | 25 июня 2013 г. | ||||
Описание: | Если в настройках отчета "Унифицированная форма Т-13" установлен отбор по подразделению, и отбираемое подразделение имеет длинное наименование, например, "Отдел эксплуатации транспорта", то в поле отчета "Структурное подразделение" наименование обрезается: "Отдел эксплуатации трансп..." | ||||
Исправлено в релизе: | 1.0.64 | ||||
Код ошибки: | 10083196 | ||||
Дата публикации: | 30 мая 2013 г. | ||||
Описание: | Если в течение месяца было зарегистрировано кадровое перемещение сотрудника с изменением подразделения, то отчет "Табель учета рабочего времени" по форме 0504421 по этому сотруднику строится за все дни месяца по второму подразделению, по первому подразделению отчет не строится. | ||||
Код ошибки: | 10129389 | ||||
Дата публикации: | 17 мая 2013 г. | ||||
Описание: | В форме 0504425 начисленная заработная плата может неточно делиться по видам источников из-за погрешностей округления | ||||
Код ошибки: | 10123071 | ||||
Дата публикации: | 26 апреля 2013 г. | ||||
Описание: | При проведении документа "Начисление отпуска" по сотруднику, занятому по внутреннему совместительству в подразделении, отличном от подразделения по основному месту работы, может возникать сообщение о некорректном распределении НДФЛ по источникам финансирования. | ||||
Код ошибки: | 10118496 | ||||
Дата публикации: | 15 января 2013 г. | ||||
Описание: | Документ "Начисление по больничному" не регистрирует случай временной нетрудоспособности за счет работодателя. В результате, например, отчет "Анализ налогов и взносов" в варианте "Пособия" может формироваться неверно. | ||||
Код ошибки: | 10054960 | ||||
Дата публикации: | 30 октября 2012 г. | ||||
Описание: | Если для показателя расчета зарплаты указано назначение "Для всех организаций", то заданное значение показателя не заполняется в документе "Начисление зарплаты". | ||||
Способ обхода: | Использовать показатель с назначением "Для всей компании (организации)" и задавать значение для каждой организации. | ||||
Код ошибки: | 10116244 | ||||
Дата публикации: | 28 августа 2012 г. | ||||
Описание: | Показатели "Отработано времени в часах" и "Отработано времени в днях" при наличии сводного табеля используют для расчета график сотрудника вместо данных сводного табеля. |
||||
Способ обхода: | Следует вводить табель по дням или использовать показатели "Время в часах" ("Время в днях"). Изменяться поведение показателей "Отработано времени ..." не будет. |
||||
Код ошибки: | 10088726 | ||||
Дата публикации: | 20 июля 2012 г. | ||||
Описание: | Если сотрудник увольняется и ранее на него был зарегистрирован документ "Отпуск по уходу за ребенком", который на момент увольнения уже закончился, то при заполнении документа "Табель" в месяце увольнения на все дни проставляется ОЖ. | ||||
Код ошибки: | 20008219 | ||||
Дата публикации: | 19 июня 2012 г. | ||||
Описание: | Если командировка приходится на выходные, то после проведения соответствующего документа "Оплата по среднему" в отчете "Табель учета рабочего времени" такие выходные обозначаются В, а не К. | ||||
Код ошибки: | 10116246 | ||||
Дата публикации: | 8 июля 2010 г. | ||||
Описание: | В документе-исправлении <Начисление зарплаты> у видов расчета с произвольной формулой неверно рассчитывается показатель <Отработано времени в днях>. | ||||