Зарплата и кадры бюджетного учреждения. Версия 1.0.63.1 . Информация об ошибках

 
  Код ошибки: 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 г.  
  Описание: В документе-исправлении <Начисление зарплаты> у видов расчета с произвольной формулой неверно рассчитывается показатель <Отработано времени в днях>.