Зарплата и Управление Персоналом. Версия 2.5.45.1 . Информация об ошибках |
|||||
Код ошибки: | 10098667 | ||||
Дата публикации: | 31 января 2012 г. | ||||
Описание: | При многократной проверке комплекта документов перс.учета программой CheckXml-UFA из рабочего места подготовки данных для ПФР, может выдаваться ложное сообщение об ошибке вида: "В пакете документов для проверки должно быть не более одного файла АДВ-6-2(в текущем пакете:1) и не более одного файла РСВ-1(в текущем пакете:2)." | ||||
Способ исправления: | Заменить процедуру ЗапуститьПроверкуВCheckUFA() модуля общей формы ФормаПроверкиCheckUFA следующим фрагментом: Процедура ЗапуститьПроверкуВCheckUFA(ДокументОбъект) ИмяФайлаПроверки = ПроверяемыеДокументы.Получить(ДокументОбъект); Если ИмяФайлаПроверки = Неопределено Тогда Возврат; КонецЕсли; КомандаСистемы("Check.exe "+ ИмяФайлаПроверки, ПапкаПрограммы); МетаданныеДокумента = ДокументОбъект.Метаданные(); Если МетаданныеДокумента.Реквизиты.Найти("Год") <> Неопределено Тогда Год = ДокументОбъект.Год ИначеЕсли МетаданныеДокумента.Реквизиты.Найти("ОтчетныйПериод") <> Неопределено Тогда Если ТипЗнч(ДокументОбъект.ОтчетныйПериод) = Тип("Число") Тогда Год = ДокументОбъект.ОтчетныйПериод Иначе Год = Год(ДокументОбъект.ОтчетныйПериод) КонецЕсли; ИначеЕсли МетаданныеДокумента.Реквизиты.Найти("ПериодРегистрации") <> Неопределено Тогда Год = Год(ДокументОбъект.ПериодРегистрации) Иначе Год = Год(ДокументОбъект.Дата) КонецЕсли; МаскаИмениФайлаПроверки = ПолучитьМаскуФайлаПротоколаПроверки(ДокументОбъект, Год); ФайлыПротоколов = НайтиФайлы(ПапкаПрограммы, МаскаИмениФайлаПроверки); МаксимальнаяДатаФайла = ТекущаяДата() - 3600; ИмяФайлаПротокола = ""; Для Каждого ФайлПротокола Из ФайлыПротоколов Цикл ДатаИзмененияФайла = ФайлПротокола.ПолучитьВремяИзменения(); Если ДатаИзмененияФайла > МаксимальнаяДатаФайла И ДатаИзмененияФайла <= ТекущаяДата() Тогда ИмяФайлаПротокола = ФайлПротокола.ПолноеИмя; КонецЕсли; КонецЦикла; Если МетаданныеДокумента.Имя = "ПередачаСЗВ4ВПФР" Тогда КлючДокумента = "АДВ-11" Иначе КлючДокумента = "Пачка " + ДокументОбъект; КонецЕсли; Если ИмяФайлаПротокола <> "" Тогда ФайлПротокола = Новый Файл(ИмяФайлаПротокола); Если ФайлПротокола.Существует() Тогда Протокол = Новый ТекстовыйДокумент; Протокол.Прочитать(ИмяФайлаПротокола); СписокПроверенныхФайлов.Вставить(КлючДокумента, Протокол); УдалитьФайлы(ИмяФайлаПротокола); КонецЕсли; КонецЕсли; Для каждого Значение Из ПроверяемыеДокументы Цикл УдалитьФайлы(ПапкаПрограммы + "\" + Значение.Значение); КонецЦикла; КонецПроцедуры |
||||
Способ обхода: | Перед очередной проверкой очистить каталог установки программы CheckXml-UFA от всех XML-файлов, начинающихся с "PFR-700-Y-". | ||||
Планируется исправить в релизе: | 2.5.46 | ||||
Код ошибки: | 10098480 | ||||
Дата публикации: | 27 января 2012 г. | ||||
Описание: | При заполнении документа "Начисление зарплаты сотрудникам" подбором состав строк табличной части может быть искажен, если у подбираемого сотрудника в выбранном периоде есть вытесняющие начисления. | ||||
Способ исправления: | В общем модуле ЗаполнениеДокументовДополнительный заменить процедуру СформироватьЗапросЗначенийПоказателейУправленческогоУчета и в модуле документа НачислениеЗарплатыРаботникам заменить функции ЗаполнитьПоказателиСтроки, Автозаполнение на приведенные ниже: Процедура СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации = Ложь) Экспорт ТекстЗапроса = "ВЫБРАТЬ | КурсыВалютДляРасчетовСПерсоналом.Валюта, | КурсыВалютДляРасчетовСПерсоналом.Курс, | КурсыВалютДляРасчетовСПерсоналом.Кратность |ПОМЕСТИТЬ КурсыВалют |ИЗ | РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК КурсыВалютДляРасчетовСПерсоналом |ГДЕ | КурсыВалютДляРасчетовСПерсоналом.Период = &парамДатаВалютногоУчета | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | Константы.ВалютаРегламентированногоУчета, | 1, | 1 |ИЗ | Константы КАК Константы | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка), | 1, | 1 |; |"; ТекстЗапроса = ТекстЗапроса + НачислениеЗарплатыРаботникамПереопределяемый.ТекстЗапросаПоказателейВидаРасчетов(); ТекстЗапроса = ТекстЗапроса + " |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияПоказателейСхемМотивации.ПериодДействия КАК ПериодДействия, | ДвиженияРаботников.Физлицо КАК Физлицо, | ДвиженияРаботников.Подразделение КАК Подразделение, | ЗначенияПоказателейСхемМотивации.Показатель КАК Показатель, | ЗначенияПоказателейСхемМотивации.Значение КАК Значение, | ЗначенияПоказателейСхемМотивации.Валюта КАК Валюта |ПОМЕСТИТЬ ЗначенияЕжемесячныхПоказателей |ИЗ | ВТДвиженияРаботников КАК ДвиженияРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПоказателейСхемМотивации КАК ЗначенияПоказателейСхемМотивации | ПО (ЗначенияПоказателейСхемМотивации.Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) | И (ЗначенияПоказателейСхемМотивации.ПериодДействия = НАЧАЛОПЕРИОДА(&парамНачало, МЕСЯЦ)) | И (ВЫБОР | КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.Индивидуальный) | ИЛИ ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя ЕСТЬ NULL | ТОГДА ДвиженияРаботников.Физлицо = ЗначенияПоказателейСхемМотивации.Сотрудник.Физлицо | КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПоПодразделению) | ТОГДА ДвиженияРаботников.Подразделение = ЗначенияПоказателейСхемМотивации.Подразделение | ИНАЧЕ ИСТИНА | КОНЕЦ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Период, | ДвиженияРаботников.Физлицо, | ДвиженияРаботников.Подразделение, | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель, | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Значение, | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Валюта |ПОМЕСТИТЬ ЗначенияПериодическихПоказателей |ИЗ | ВТДвиженияРаботников КАК ДвиженияРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПериодическиеЗначенияПоказателейСхемМотивации.СрезПоследних(&парамКонец, Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) КАК ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних | ПО (ВЫБОР | КОГДА ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПоПодразделению) | ТОГДА ДвиженияРаботников.Подразделение = ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Подразделение | ИНАЧЕ ИСТИНА | КОНЕЦ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РазмерТарифныхСтавокСрезПоследних.Период, | РазмерТарифныхСтавокСрезПоследних.ТарифныйРазряд КАК ТарифныйРазряд, | РазмерТарифныхСтавокСрезПоследних.Размер, | РазмерТарифныхСтавокСрезПоследних.Валюта |ПОМЕСТИТЬ РазмерТарифныхСтавок |ИЗ | РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамНачало) КАК РазмерТарифныхСтавокСрезПоследних | |ИНДЕКСИРОВАТЬ ПО | ТарифныйРазряд |; |"; Если ПоВременнойСхемеМотивации Тогда ТекстЗапроса = ТекстЗапроса + "ВЫБРАТЬ РАЗЛИЧНЫЕ | ДвиженияРаботников.Период, | ДвиженияРаботников.Физлицо, | ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать) КАК Действие, | СхемыМотивацииРаботников.ВидРасчета, | ЛОЖЬ КАК ОсновноеНачисление, | СхемыМотивацииРаботников.Организация, | СхемыМотивацииРаботников.Показатель1, | СхемыМотивацииРаботников.Валюта1, | СхемыМотивацииРаботников.Показатель2, | СхемыМотивацииРаботников.Валюта2, | СхемыМотивацииРаботников.Показатель3, | СхемыМотивацииРаботников.Валюта3, | СхемыМотивацииРаботников.Показатель4, | СхемыМотивацииРаботников.Валюта4, | СхемыМотивацииРаботников.Показатель5, | СхемыМотивацииРаботников.Валюта5, | СхемыМотивацииРаботников.Показатель6, | СхемыМотивацииРаботников.Валюта6, | СхемыМотивацииРаботников.ТарифныйРазряд1, | СхемыМотивацииРаботников.ТарифныйРазряд2, | СхемыМотивацииРаботников.ТарифныйРазряд3, | СхемыМотивацииРаботников.ТарифныйРазряд4, | СхемыМотивацииРаботников.ТарифныйРазряд5, | СхемыМотивацииРаботников.ТарифныйРазряд6 |ПОМЕСТИТЬ ЗаписиПлановыхНачислений |ИЗ | РегистрСведений.СхемыМотивацииРаботников КАК СхемыМотивацииРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ДвиженияРаботников | ПО (СхемыМотивацииРаботников.ВидСхемыМотивации = &парамВидСхемыМотивации) | И (ДвиженияРаботников.Должность = СхемыМотивацииРаботников.Должность) | И (ДвиженияРаботников.Подразделение = СхемыМотивацииРаботников.Подразделение | ИЛИ СхемыМотивацииРаботников.Подразделение В (ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка), НЕОПРЕДЕЛЕНО)) | И (СхемыМотивацииРаботников.ВидРасчета ССЫЛКА ПланВидовРасчета.УправленческиеНачисления) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ДвиженияРаботников.Период, | ДвиженияРаботников.Физлицо, | ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать) КАК Действие, | СхемыМотивацииРаботников.ВидРасчета, | СхемыМотивацииРаботников.Организация, | СхемыМотивацииРаботников.Показатель1, | СхемыМотивацииРаботников.Валюта1, | СхемыМотивацииРаботников.Показатель2, | СхемыМотивацииРаботников.Валюта2, | СхемыМотивацииРаботников.Показатель3, | СхемыМотивацииРаботников.Валюта3, | СхемыМотивацииРаботников.Показатель4, | СхемыМотивацииРаботников.Валюта4, | СхемыМотивацииРаботников.Показатель5, | СхемыМотивацииРаботников.Валюта5, | СхемыМотивацииРаботников.Показатель6, | СхемыМотивацииРаботников.Валюта6, | NULL КАК ДокументОснование |ПОМЕСТИТЬ ЗаписиПлановыхУдержаний |ИЗ | РегистрСведений.СхемыМотивацииРаботников КАК СхемыМотивацииРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ДвиженияРаботников | ПО (СхемыМотивацииРаботников.ВидСхемыМотивации = &парамВидСхемыМотивации) | И (ДвиженияРаботников.Должность = СхемыМотивацииРаботников.Должность) | И (ДвиженияРаботников.Подразделение = СхемыМотивацииРаботников.Подразделение | ИЛИ СхемыМотивацииРаботников.Подразделение В (ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка), НЕОПРЕДЕЛЕНО)) | И (СхемыМотивацииРаботников.ВидРасчета ССЫЛКА ПланВидовРасчета.УправленческиеУдержания) |; |"; Иначе ТекстЗапроса = ТекстЗапроса + " |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | ПлановыеНачисленияРаботников.Период, | ПлановыеНачисленияРаботников.ФизЛицо КАК ФизЛицо, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ДействиеЗавершения | ИНАЧЕ ПлановыеНачисленияРаботников.Действие | КОНЕЦ КАК Действие, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ИЛИ ПлановыеНачисленияРаботников.ВидРасчетаЗавершения = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка) | ТОГДА ПлановыеНачисленияРаботников.ВидРасчета | ИНАЧЕ ПлановыеНачисленияРаботников.ВидРасчетаЗавершения | КОНЕЦ | ИНАЧЕ ПлановыеНачисленияРаботников.ВидРасчета | КОНЕЦ КАК ВидРасчета, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ВидРасчетаИзмерение = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ОсновноеНачисление, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель1Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель2Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель2 | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель3Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель3 | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель4Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель4 | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель5Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель5 | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель6Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель6 | КОНЕЦ КАК Показатель6, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта1Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта2Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта3Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта4Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта5Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта6Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта6 | КОНЕЦ КАК Валюта6, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд1Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд1 | КОНЕЦ КАК ТарифныйРазряд1, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд2Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд2 | КОНЕЦ КАК ТарифныйРазряд2, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд3Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд3 | КОНЕЦ КАК ТарифныйРазряд3, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд4Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд4 | КОНЕЦ КАК ТарифныйРазряд4, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд5Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд5 | КОНЕЦ КАК ТарифныйРазряд5, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд6Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд6 | КОНЕЦ КАК ТарифныйРазряд6 |ПОМЕСТИТЬ ЗаписиПлановыхНачислений |ИЗ | РегистрСведений.ПлановыеНачисленияРаботников.СрезПоследних( | &парамНачало, | Физлицо В | (ВЫБРАТЬ | Физлицо | ИЗ | РаботникиСрезПоследних)) КАК ПлановыеНачисленияРаботников |ГДЕ | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ДействиеЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ИНАЧЕ ПлановыеНачисленияРаботников.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | КОНЕЦ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ПлановыеНачисленияРаботников.Период, | ПлановыеНачисленияРаботников.ФизЛицо, | ПлановыеНачисленияРаботников.Действие, | ПлановыеНачисленияРаботников.ВидРасчета, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ВидРасчетаИзмерение = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ, | ПлановыеНачисленияРаботников.Показатель1, | ПлановыеНачисленияРаботников.Показатель2, | ПлановыеНачисленияРаботников.Показатель3, | ПлановыеНачисленияРаботников.Показатель4, | ПлановыеНачисленияРаботников.Показатель5, | ПлановыеНачисленияРаботников.Показатель6, | ПлановыеНачисленияРаботников.Валюта1, | ПлановыеНачисленияРаботников.Валюта2, | ПлановыеНачисленияРаботников.Валюта3, | ПлановыеНачисленияРаботников.Валюта4, | ПлановыеНачисленияРаботников.Валюта5, | ПлановыеНачисленияРаботников.Валюта6, | ПлановыеНачисленияРаботников.ТарифныйРазряд1, | ПлановыеНачисленияРаботников.ТарифныйРазряд2, | ПлановыеНачисленияРаботников.ТарифныйРазряд3, | ПлановыеНачисленияРаботников.ТарифныйРазряд4, | ПлановыеНачисленияРаботников.ТарифныйРазряд5, | ПлановыеНачисленияРаботников.ТарифныйРазряд6 |ИЗ | РегистрСведений.ПлановыеНачисленияРаботников КАК ПлановыеНачисленияРаботников |ГДЕ | ПлановыеНачисленияРаботников.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И ПлановыеНачисленияРаботников.Период > &парамНачало | И ПлановыеНачисленияРаботников.Период <= &парамКонец | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ПлановыеНачисленияРаботников.ПериодЗавершения, | ПлановыеНачисленияРаботников.ФизЛицо, | ПлановыеНачисленияРаботников.ДействиеЗавершения, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ИЛИ ПлановыеНачисленияРаботников.ВидРасчетаЗавершения = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка) | ТОГДА ПлановыеНачисленияРаботников.ВидРасчета | ИНАЧЕ ПлановыеНачисленияРаботников.ВидРасчетаЗавершения | КОНЕЦ, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ВидРасчетаИзмерение = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ, | ПлановыеНачисленияРаботников.Показатель1Завершения, | ПлановыеНачисленияРаботников.Показатель2Завершения, | ПлановыеНачисленияРаботников.Показатель3Завершения, | ПлановыеНачисленияРаботников.Показатель4Завершения, | ПлановыеНачисленияРаботников.Показатель5Завершения, | ПлановыеНачисленияРаботников.Показатель6Завершения, | ПлановыеНачисленияРаботников.Валюта1Завершения, | ПлановыеНачисленияРаботников.Валюта2Завершения, | ПлановыеНачисленияРаботников.Валюта3Завершения, | ПлановыеНачисленияРаботников.Валюта4Завершения, | ПлановыеНачисленияРаботников.Валюта5Завершения, | ПлановыеНачисленияРаботников.Валюта6Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд1Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд2Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд3Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд4Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд5Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд6Завершения |ИЗ | РегистрСведений.ПлановыеНачисленияРаботников КАК ПлановыеНачисленияРаботников | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботников КАК ВременныеПлановыеНачисленияРаботников | ПО ПлановыеНачисленияРаботников.ФизЛицо = ВременныеПлановыеНачисленияРаботников.ФизЛицо | И ПлановыеНачисленияРаботников.ВидРасчетаИзмерение = ВременныеПлановыеНачисленияРаботников.ВидРасчетаИзмерение | И ПлановыеНачисленияРаботников.Период < ВременныеПлановыеНачисленияРаботников.Период | И ПлановыеНачисленияРаботников.ПериодЗавершения >= ВременныеПлановыеНачисленияРаботников.Период |ГДЕ | ПлановыеНачисленияРаботников.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И ПлановыеНачисленияРаботников.ПериодЗавершения >= &парамНачало | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамКонец | И ВременныеПлановыеНачисленияРаботников.ФизЛицо ЕСТЬ NULL | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо, | ВидРасчета, | ТарифныйРазряд1, | ТарифныйРазряд2, | ТарифныйРазряд3, | ТарифныйРазряд4, | ТарифныйРазряд5, | ТарифныйРазряд6 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | ПлановыеУдержанияРаботников.Период, | ПлановыеУдержанияРаботников.ФизЛицо КАК ФизЛицо, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.ДействиеЗавершения | ИНАЧЕ ПлановыеУдержанияРаботников.Действие | КОНЕЦ КАК Действие, | ПлановыеУдержанияРаботников.ВидРасчета КАК ВидРасчета, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель1Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель2Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель2 | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель3Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель3 | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель4Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель4 | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель5Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель5 | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель6Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель6 | КОНЕЦ КАК Показатель6, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта1Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта2Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта3Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта4Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта5Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта6Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта6 | КОНЕЦ КАК Валюта6, | ПлановыеУдержанияРаботников.ДокументОснование |ПОМЕСТИТЬ ЗаписиПлановыхУдержаний |ИЗ | РегистрСведений.ПлановыеУдержанияРаботников.СрезПоследних( | &парамНачало, | Физлицо В | (ВЫБРАТЬ | Физлицо | ИЗ | РаботникиСрезПоследних)) КАК ПлановыеУдержанияРаботников |ГДЕ | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.ДействиеЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ИНАЧЕ ПлановыеУдержанияРаботников.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | КОНЕЦ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ПлановыеУдержанияРаботников.Период, | ПлановыеУдержанияРаботников.ФизЛицо, | ПлановыеУдержанияРаботников.Действие, | ПлановыеУдержанияРаботников.ВидРасчета, | ПлановыеУдержанияРаботников.Показатель1, | ПлановыеУдержанияРаботников.Показатель2, | ПлановыеУдержанияРаботников.Показатель3, | ПлановыеУдержанияРаботников.Показатель4, | ПлановыеУдержанияРаботников.Показатель5, | ПлановыеУдержанияРаботников.Показатель6, | ПлановыеУдержанияРаботников.Валюта1, | ПлановыеУдержанияРаботников.Валюта2, | ПлановыеУдержанияРаботников.Валюта3, | ПлановыеУдержанияРаботников.Валюта4, | ПлановыеУдержанияРаботников.Валюта5, | ПлановыеУдержанияРаботников.Валюта6, | ПлановыеУдержанияРаботников.ДокументОснование |ИЗ | РегистрСведений.ПлановыеУдержанияРаботников КАК ПлановыеУдержанияРаботников |ГДЕ | ПлановыеУдержанияРаботников.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И ПлановыеУдержанияРаботников.Период > &парамНачало | И ПлановыеУдержанияРаботников.Период <= &парамКонец | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ПлановыеУдержанияРаботников.ПериодЗавершения, | ПлановыеУдержанияРаботников.ФизЛицо, | ПлановыеУдержанияРаботников.ДействиеЗавершения, | ПлановыеУдержанияРаботников.ВидРасчета, | ПлановыеУдержанияРаботников.Показатель1Завершения, | ПлановыеУдержанияРаботников.Показатель2Завершения, | ПлановыеУдержанияРаботников.Показатель3Завершения, | ПлановыеУдержанияРаботников.Показатель4Завершения, | ПлановыеУдержанияРаботников.Показатель5Завершения, | ПлановыеУдержанияРаботников.Показатель6Завершения, | ПлановыеУдержанияРаботников.Валюта1Завершения, | ПлановыеУдержанияРаботников.Валюта2Завершения, | ПлановыеУдержанияРаботников.Валюта3Завершения, | ПлановыеУдержанияРаботников.Валюта4Завершения, | ПлановыеУдержанияРаботников.Валюта5Завершения, | ПлановыеУдержанияРаботников.Валюта6Завершения, | ПлановыеУдержанияРаботников.ДокументОснование |ИЗ | РегистрСведений.ПлановыеУдержанияРаботников КАК ПлановыеУдержанияРаботников | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеУдержанияРаботников КАК ВременныеПлановыеУдержанияРаботников | ПО ПлановыеУдержанияРаботников.ФизЛицо = ВременныеПлановыеУдержанияРаботников.ФизЛицо | И ПлановыеУдержанияРаботников.ВидРасчета = ВременныеПлановыеУдержанияРаботников.ВидРасчета | И ПлановыеУдержанияРаботников.Период < ВременныеПлановыеУдержанияРаботников.Период | И ПлановыеУдержанияРаботников.ПериодЗавершения >= ВременныеПлановыеУдержанияРаботников.Период | И ПлановыеУдержанияРаботников.ДокументОснование = ВременныеПлановыеУдержанияРаботников.ДокументОснование |ГДЕ | ПлановыеУдержанияРаботников.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И ПлановыеУдержанияРаботников.ПериодЗавершения >= &парамНачало | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамКонец | И ВременныеПлановыеУдержанияРаботников.ФизЛицо ЕСТЬ NULL | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо, | ВидРасчета |; |"; КонецЕсли; ТекстЗапроса = ТекстЗапроса + " |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗаписиПлановыхНачислений.Период, | ЗаписиПлановыхНачислений.ФизЛицо, | ЗаписиПлановыхНачислений.Действие, | ЗаписиПлановыхНачислений.ВидРасчета, | ЗаписиПлановыхНачислений.ОсновноеНачисление, | ВЫБОР | КОГДА ПоказательВидаРасчета1.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда1.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА ПоказательВидаРасчета2.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда2.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель2 | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА ПоказательВидаРасчета3.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда3.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель3 | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА ПоказательВидаРасчета4.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда4.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель4 | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА ПоказательВидаРасчета5.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда5.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель5 | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА ПоказательВидаРасчета6.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда6.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель6 | КОНЕЦ КАК Показатель6, | ВЫБОР | КОГДА ПоказательВидаРасчета1.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда1.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА ПоказательВидаРасчета2.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда2.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА ПоказательВидаРасчета3.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда3.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА ПоказательВидаРасчета4.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда4.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА ПоказательВидаРасчета5.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда5.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА ПоказательВидаРасчета6.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда6.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта6 | КОНЕЦ КАК Валюта6, | ПоказательВидаРасчета1.Показатель КАК ПоказательСсылка1, | ПоказательВидаРасчета2.Показатель КАК ПоказательСсылка2, | ПоказательВидаРасчета3.Показатель КАК ПоказательСсылка3, | ПоказательВидаРасчета4.Показатель КАК ПоказательСсылка4, | ПоказательВидаРасчета5.Показатель КАК ПоказательСсылка5, | ПоказательВидаРасчета6.Показатель КАК ПоказательСсылка6 |ПОМЕСТИТЬ ПлановыеНачисления |ИЗ | ЗаписиПлановыхНачислений КАК ЗаписиПлановыхНачислений | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета1 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета1.ВидРасчета | И (ПоказательВидаРасчета1.НомерПоказателя = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета2 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета2.ВидРасчета | И (ПоказательВидаРасчета2.НомерПоказателя = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета3 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета3.ВидРасчета | И (ПоказательВидаРасчета3.НомерПоказателя = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета4 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета4.ВидРасчета | И (ПоказательВидаРасчета4.НомерПоказателя = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета5 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета5.ВидРасчета | И (ПоказательВидаРасчета5.НомерПоказателя = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета6 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета6.ВидРасчета | И (ПоказательВидаРасчета6.НомерПоказателя = 6) | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда1 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд1 = РазмерТарифнойСтавкиРазряда1.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда2 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд2 = РазмерТарифнойСтавкиРазряда2.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда3 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд3 = РазмерТарифнойСтавкиРазряда3.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда4 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд4 = РазмерТарифнойСтавкиРазряда4.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда5 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд5 = РазмерТарифнойСтавкиРазряда5.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда6 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд6 = РазмерТарифнойСтавкиРазряда6.ТарифныйРазряд |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗаписиПлановыхУдержаний.Период, | ЗаписиПлановыхУдержаний.ФизЛицо, | ЗаписиПлановыхУдержаний.Действие, | ЗаписиПлановыхУдержаний.ВидРасчета, | ЗаписиПлановыхУдержаний.Показатель1 КАК Показатель1, | ЗаписиПлановыхУдержаний.Показатель2 КАК Показатель2, | ЗаписиПлановыхУдержаний.Показатель3 КАК Показатель3, | ЗаписиПлановыхУдержаний.Показатель4 КАК Показатель4, | ЗаписиПлановыхУдержаний.Показатель5 КАК Показатель5, | ЗаписиПлановыхУдержаний.Показатель6 КАК Показатель6, | ЗаписиПлановыхУдержаний.Валюта1 КАК Валюта1, | ЗаписиПлановыхУдержаний.Валюта2 КАК Валюта2, | ЗаписиПлановыхУдержаний.Валюта3 КАК Валюта3, | ЗаписиПлановыхУдержаний.Валюта4 КАК Валюта4, | ЗаписиПлановыхУдержаний.Валюта5 КАК Валюта5, | ЗаписиПлановыхУдержаний.Валюта6 КАК Валюта6, | ПоказательВидаРасчета1.Показатель КАК ПоказательСсылка1, | ПоказательВидаРасчета2.Показатель КАК ПоказательСсылка2, | ПоказательВидаРасчета3.Показатель КАК ПоказательСсылка3, | ПоказательВидаРасчета4.Показатель КАК ПоказательСсылка4, | ПоказательВидаРасчета5.Показатель КАК ПоказательСсылка5, | ПоказательВидаРасчета6.Показатель КАК ПоказательСсылка6, | ЗаписиПлановыхУдержаний.ДокументОснование |ПОМЕСТИТЬ ПлановыеУдержания |ИЗ | ЗаписиПлановыхУдержаний КАК ЗаписиПлановыхУдержаний | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета1 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета1.ВидРасчета | И (ПоказательВидаРасчета1.НомерПоказателя = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета2 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета2.ВидРасчета | И (ПоказательВидаРасчета2.НомерПоказателя = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета3 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета3.ВидРасчета | И (ПоказательВидаРасчета3.НомерПоказателя = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета4 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета4.ВидРасчета | И (ПоказательВидаРасчета4.НомерПоказателя = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета5 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета5.ВидРасчета | И (ПоказательВидаРасчета5.НомерПоказателя = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета6 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета6.ВидРасчета | И (ПоказательВидаРасчета6.НомерПоказателя = 6) |; |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПлановыеПоказатели.Период, | ПлановыеПоказатели.ФизЛицо, | ВЫБОР | КОГДА ПлановыеПоказатели.НомерПоказателя = 1 | ТОГДА ПлановыеПоказатели.ПоказательСсылка1 | КОГДА ПлановыеПоказатели.НомерПоказателя = 2 | ТОГДА ПлановыеПоказатели.ПоказательСсылка2 | КОГДА ПлановыеПоказатели.НомерПоказателя = 3 | ТОГДА ПлановыеПоказатели.ПоказательСсылка3 | КОГДА ПлановыеПоказатели.НомерПоказателя = 4 | ТОГДА ПлановыеПоказатели.ПоказательСсылка4 | КОГДА ПлановыеПоказатели.НомерПоказателя = 5 | ТОГДА ПлановыеПоказатели.ПоказательСсылка5 | КОГДА ПлановыеПоказатели.НомерПоказателя = 6 | ТОГДА ПлановыеПоказатели.ПоказательСсылка6 | КОНЕЦ КАК Показатель, | ВЫБОР | КОГДА ПлановыеПоказатели.НомерПоказателя = 1 | ТОГДА ПлановыеПоказатели.Показатель1 | КОГДА ПлановыеПоказатели.НомерПоказателя = 2 | ТОГДА ПлановыеПоказатели.Показатель2 | КОГДА ПлановыеПоказатели.НомерПоказателя = 3 | ТОГДА ПлановыеПоказатели.Показатель3 | КОГДА ПлановыеПоказатели.НомерПоказателя = 4 | ТОГДА ПлановыеПоказатели.Показатель4 | КОГДА ПлановыеПоказатели.НомерПоказателя = 5 | ТОГДА ПлановыеПоказатели.Показатель5 | КОГДА ПлановыеПоказатели.НомерПоказателя = 6 | ТОГДА ПлановыеПоказатели.Показатель6 | КОНЕЦ КАК Значение, | ВЫБОР | КОГДА ПлановыеПоказатели.НомерПоказателя = 1 | ТОГДА ПлановыеПоказатели.Валюта1 | КОГДА ПлановыеПоказатели.НомерПоказателя = 2 | ТОГДА ПлановыеПоказатели.Валюта2 | КОГДА ПлановыеПоказатели.НомерПоказателя = 3 | ТОГДА ПлановыеПоказатели.Валюта3 | КОГДА ПлановыеПоказатели.НомерПоказателя = 4 | ТОГДА ПлановыеПоказатели.Валюта4 | КОГДА ПлановыеПоказатели.НомерПоказателя = 5 | ТОГДА ПлановыеПоказатели.Валюта5 | КОГДА ПлановыеПоказатели.НомерПоказателя = 6 | ТОГДА ПлановыеПоказатели.Валюта6 | КОНЕЦ КАК Валюта |ПОМЕСТИТЬ ЗначенияПлановыхПоказателей |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ПлановыеНачисления.Период КАК Период, | ПлановыеНачисления.ФизЛицо КАК ФизЛицо, | ПоказателиВидаРасчета.НомерПоказателя КАК НомерПоказателя, | ПлановыеНачисления.ПоказательСсылка1 КАК ПоказательСсылка1, | ПлановыеНачисления.ПоказательСсылка2 КАК ПоказательСсылка2, | ПлановыеНачисления.ПоказательСсылка3 КАК ПоказательСсылка3, | ПлановыеНачисления.ПоказательСсылка4 КАК ПоказательСсылка4, | ПлановыеНачисления.ПоказательСсылка5 КАК ПоказательСсылка5, | ПлановыеНачисления.ПоказательСсылка6 КАК ПоказательСсылка6, | ПлановыеНачисления.Показатель1 КАК Показатель1, | ПлановыеНачисления.Показатель2 КАК Показатель2, | ПлановыеНачисления.Показатель3 КАК Показатель3, | ПлановыеНачисления.Показатель4 КАК Показатель4, | ПлановыеНачисления.Показатель5 КАК Показатель5, | ПлановыеНачисления.Показатель6 КАК Показатель6, | ПлановыеНачисления.Валюта1 КАК Валюта1, | ПлановыеНачисления.Валюта2 КАК Валюта2, | ПлановыеНачисления.Валюта3 КАК Валюта3, | ПлановыеНачисления.Валюта4 КАК Валюта4, | ПлановыеНачисления.Валюта5 КАК Валюта5, | ПлановыеНачисления.Валюта6 КАК Валюта6 | ИЗ | ПлановыеНачисления КАК ПлановыеНачисления | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказателиВидаРасчета | ПО ПлановыеНачисления.ВидРасчета = ПоказателиВидаРасчета.ВидРасчета | ГДЕ | ПоказателиВидаРасчета.ЗапрашиватьПриКадровыхПеремещениях | И ПоказателиВидаРасчета.Показатель.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ПлановыеУдержания.Период, | ПлановыеУдержания.ФизЛицо, | ПоказателиВидаРасчета.НомерПоказателя, | ПлановыеУдержания.ПоказательСсылка1, | ПлановыеУдержания.ПоказательСсылка2, | ПлановыеУдержания.ПоказательСсылка3, | ПлановыеУдержания.ПоказательСсылка4, | ПлановыеУдержания.ПоказательСсылка5, | ПлановыеУдержания.ПоказательСсылка6, | ПлановыеУдержания.Показатель1, | ПлановыеУдержания.Показатель2, | ПлановыеУдержания.Показатель3, | ПлановыеУдержания.Показатель4, | ПлановыеУдержания.Показатель5, | ПлановыеУдержания.Показатель6, | ПлановыеУдержания.Валюта1, | ПлановыеУдержания.Валюта2, | ПлановыеУдержания.Валюта3, | ПлановыеУдержания.Валюта4, | ПлановыеУдержания.Валюта5, | ПлановыеУдержания.Валюта6 | ИЗ | ПлановыеУдержания КАК ПлановыеУдержания | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказателиВидаРасчета | ПО ПлановыеУдержания.ВидРасчета = ПоказателиВидаРасчета.ВидРасчета | ГДЕ | ПоказателиВидаРасчета.ЗапрашиватьПриКадровыхПеремещениях | И ПоказателиВидаРасчета.Показатель.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется)) КАК ПлановыеПоказатели |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗначенияПоказателей.ПериодДействия, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Показатель, | ЗначенияПоказателей.Значение, | ВЫБОР | КОГДА ЗначенияПоказателей." + ЗаполнениеДокументовЗК.ВалютаПоказателяИмяПоляЗапроса() + " = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА ВЫБОР | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | ТОГДА ЗначенияПоказателей.Показатель.Валюта | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.СуммаПоказателя) | И ЗначенияПоказателей.Показатель.СуммируемыйПоказатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | ТОГДА ЗначенияПоказателей.Показатель.СуммируемыйПоказатель.Валюта | ИНАЧЕ ЗначенияПоказателей.Валюта | КОНЕЦ | ИНАЧЕ ЗначенияПоказателей." + ЗаполнениеДокументовЗК.ВалютаПоказателяИмяПоляЗапроса() + " | КОНЕЦ КАК Валюта |ПОМЕСТИТЬ ЗначенияПоказателейИсходнаяВалюта |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияЕжемесячныхПоказателей.ПериодДействия КАК ПериодДействия, | ЗначенияЕжемесячныхПоказателей.Физлицо КАК Физлицо, | ЗначенияЕжемесячныхПоказателей.Показатель КАК Показатель, | ЗначенияЕжемесячныхПоказателей.Значение КАК Значение, | ЗначенияЕжемесячныхПоказателей.Валюта КАК Валюта | ИЗ | ЗначенияЕжемесячныхПоказателей КАК ЗначенияЕжемесячныхПоказателей | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ЗначенияПериодическихПоказателей.Период, | ЗначенияПериодическихПоказателей.Физлицо, | ЗначенияПериодическихПоказателей.Показатель, | ЗначенияПериодическихПоказателей.Значение, | ЗначенияПериодическихПоказателей.Валюта | ИЗ | ЗначенияПериодическихПоказателей КАК ЗначенияПериодическихПоказателей | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ЗначенияПлановыхПоказателей.Период, | ЗначенияПлановыхПоказателей.Физлицо, | ЗначенияПлановыхПоказателей.Показатель, | ЗначенияПлановыхПоказателей.Значение, | ЗначенияПлановыхПоказателей.Валюта | ИЗ | ЗначенияПлановыхПоказателей КАК ЗначенияПлановыхПоказателей) КАК ЗначенияПоказателей |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗначенияПоказателей.ПериодДействия, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Показатель, | ЗначенияПоказателей.Значение КАК ИсходноеЗначение, | ВЫБОР | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | ТОГДА ЗначенияПоказателей.Значение * (КурсВалютыПоказателя.Курс / КурсВалютыПоказателя.Кратность) / (КурсВалютыУпрУчета.Курс / КурсВалютыУпрУчета.Кратность) | ИНАЧЕ ЗначенияПоказателей.Значение | КОНЕЦ КАК Значение, | ЗначенияПоказателей.Валюта, | ВЫБОР | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | И (НЕ ЗначенияПоказателей.Валюта В (Константы.ВалютаУправленческогоУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ВводитсяВВалюте, | КурсВалютыПоказателя.Курс / КурсВалютыПоказателя.Кратность / (КурсВалютыУпрУчета.Курс / КурсВалютыУпрУчета.Кратность) КАК КурсВалюты |ПОМЕСТИТЬ ЗначенияПоказателейИсходныйПериодДействия |ИЗ | ЗначенияПоказателейИсходнаяВалюта КАК ЗначенияПоказателей | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыПоказателя | ПО ЗначенияПоказателей.Валюта = КурсВалютыПоказателя.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыУпрУчета | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Константы КАК Константы | ПО (ИСТИНА) | ПО (КурсВалютыУпрУчета.Валюта = Константы.ВалютаУправленческогоУчета) | |ИНДЕКСИРОВАТЬ ПО | ЗначенияПоказателей.ПериодДействия, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Показатель"; Запрос.Текст = ТекстЗапроса; Запрос.Выполнить(); КонецПроцедуры // СформироватьЗапросЗначенийПоказателейУправленческогоУчета //Выполняет автоматическое заполнение показателей в строке // Процедура ЗаполнитьПоказателиСтроки(СтрокаТабличнойЧасти, ИмяТабличнойЧасти) Экспорт Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; ДатаНачала = ?(ЗначениеЗаполнено(СтрокаТабличнойЧасти.ДатаНачала), СтрокаТабличнойЧасти.ДатаНачала, ПериодРегистрации); Запрос.УстановитьПараметр("парамНачало", ДатаНачала); Запрос.УстановитьПараметр("парамКонец", КонецМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("парамПользователь", Ответственный); Запрос.УстановитьПараметр("парамДатаВалютногоУчета", НачалоМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("парамВидСхемыМотивации", ВидСхемыМотивации); Физлицо = ?(ИмяТабличнойЧасти = "Начисления", ОбщегоНазначения.ПолучитьЗначениеРеквизита(СтрокаТабличнойЧасти.Сотрудник, "Физлицо"), СтрокаТабличнойЧасти.Физлицо); Запрос.УстановитьПараметр("Физлицо", Физлицо); Запрос.УстановитьПараметр("ВидРасчета", СтрокаТабличнойЧасти.ВидРасчета); Запрос.Текст = "ВЫБРАТЬ | РаботникиСрезПоследних.ФизЛицо, | РаботникиСрезПоследних.Подразделение, | РаботникиСрезПоследних.Должность |ПОМЕСТИТЬ РаботникиСрезПоследних |ИЗ | РегистрСведений.Работники.СрезПоследних(&парамНачало, Физлицо = &Физлицо) КАК РаботникиСрезПоследних |ГДЕ | РаботникиСрезПоследних.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РаботникиСрезПоследних.ФизЛицо, | РаботникиСрезПоследних.Подразделение, | РаботникиСрезПоследних.Должность |ПОМЕСТИТЬ СписокРаботников |ИЗ | РаботникиСрезПоследних КАК РаботникиСрезПоследних |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | &парамНачало КАК Период, | СписокРаботников.ФизЛицо, | СписокРаботников.Подразделение, | СписокРаботников.Должность, | ИСТИНА КАК Подходит |ПОМЕСТИТЬ ВТДвиженияРаботников |ИЗ | СписокРаботников КАК СписокРаботников"; Запрос.Выполнить(); ЗаполнениеДокументовДополнительный.СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации); Запрос.Текст = "ВЫБРАТЬ | ЗначенияПоказателей.ПериодДействия, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Показатель, | ЗначенияПоказателей.ИсходноеЗначение, | ЗначенияПоказателей.Значение, | ЗначенияПоказателей.Валюта, | ЗначенияПоказателей.ВводитсяВВалюте, | ЗначенияПоказателей.КурсВалюты |ПОМЕСТИТЬ ЗначенияПоказателей |ИЗ | ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПериодыФизлиц.Период КАК Период, | ПериодыФизлиц.ФизЛицо КАК ФизЛицо, | ЗначенияПоказателей.Показатель КАК Показатель, | МАКСИМУМ(ЗначенияПоказателей.ПериодДействия) КАК ДатаЗначенияПоказателя | ИЗ | ВТДвиженияРаботников КАК ПериодыФизлиц | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателей | ПО ПериодыФизлиц.ФизЛицо = ЗначенияПоказателей.Физлицо | И ПериодыФизлиц.Период >= ЗначенияПоказателей.ПериодДействия | | СГРУППИРОВАТЬ ПО | ПериодыФизлиц.Период, | ПериодыФизлиц.ФизЛицо, | ЗначенияПоказателей.Показатель) КАК ДатыЗначенийПоказателей | ПО (ДатыЗначенийПоказателей.ФизЛицо = ЗначенияПоказателей.Физлицо) | И (ДатыЗначенийПоказателей.Показатель = ЗначенияПоказателей.Показатель) | И (ДатыЗначенийПоказателей.ДатаЗначенияПоказателя = ЗначенияПоказателей.ПериодДействия) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияПоказателя1.Значение КАК Показатель1, | ЗначенияПоказателя2.Значение КАК Показатель2, | ЗначенияПоказателя3.Значение КАК Показатель3, | ЗначенияПоказателя4.Значение КАК Показатель4, | ЗначенияПоказателя5.Значение КАК Показатель5, | ЗначенияПоказателя6.Значение КАК Показатель6 |ИЗ | ПоказателиВидаРасчета КАК ПоказателиВидаРасчета | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель1 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя1 | ПО Показатель1.Показатель = ЗначенияПоказателя1.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель1.ВидРасчета | И (Показатель1.НомерПоказателя = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель2 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя2 | ПО Показатель2.Показатель = ЗначенияПоказателя2.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель2.ВидРасчета | И (Показатель2.НомерПоказателя = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель3 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя3 | ПО Показатель3.Показатель = ЗначенияПоказателя3.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель3.ВидРасчета | И (Показатель3.НомерПоказателя = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель4 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя4 | ПО Показатель4.Показатель = ЗначенияПоказателя4.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель4.ВидРасчета | И (Показатель4.НомерПоказателя = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель5 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя5 | ПО Показатель5.Показатель = ЗначенияПоказателя5.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель5.ВидРасчета | И (Показатель5.НомерПоказателя = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель6 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя6 | ПО Показатель6.Показатель = ЗначенияПоказателя6.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель6.ВидРасчета | И (Показатель6.НомерПоказателя = 6) |ГДЕ | ПоказателиВидаРасчета.ВидРасчета = &ВидРасчета"; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда ЗаполнитьЗначенияСвойств(СтрокаТабличнойЧасти, Выборка); КонецЕсли; КонецПроцедуры // Выполняет автоматическое заполнение документа по данным документа и переданным параметрам // // Параметры: // нет // // Возвращаемое значение: // Логическое - удалось ли выполнить автоматическое заполнение документа // Функция Автозаполнение(Запрос = Неопределено, МассивФизлица = Неопределено) Экспорт Перем ВалютаУпрУчета; Перем КурсВалютыУпрУчета; ПроведениеРасчетовДополнительный.ПолучитьКурсВалютыУпрУчета(ПериодРегистрации, ПериодРегистрации, ВалютаУпрУчета, КурсВалютыУпрУчета, Константы.ВалютаРегламентированногоУчета.Получить()); КурсВалютыУпрУчета = КурсВалютыУпрУчета.Получить(ПериодРегистрации); Если КурсВалютыУпрУчета = 0 Тогда МассивРасшифровки = Новый Массив; МассивРасшифровки.Добавить("ОткрытьФормуСписка"); МассивРасшифровки.Добавить("РегистрыСведений.КурсыВалютДляРасчетовСПерсоналом"); Расшифровки = Новый Массив; Расшифровки.Добавить(Новый Структура("Представление,Расшифровка", "Заполните курс валют" + " ", МассивРасшифровки)); ОбщегоНазначения.ВывестиИнформациюОбОшибке(" не задан курс валюты управленческого учета (" + ВалютаУпрУчета + ") для расчетов с персоналом", , , Перечисления.ВидыСообщений.Ошибка, Расшифровки); Возврат Ложь; КонецЕсли; ОтборПоОтветственным = ЗначениеЗаполнено(Ответственный) И глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналу").РасчетЗарплатыПоОтветственным; // Проверим ответственного - является ли он расчетчиком вообще и для заданного // подразделения (если оно задано) Если ОтборПоОтветственным Тогда Запрос = Новый Запрос( "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | Подразделения.Ссылка |ИЗ | Справочник.Подразделения КАК Подразделения |ГДЕ | ((НЕ &ОтборПоПодразделениям) | ИЛИ Подразделения.Ссылка В ИЕРАРХИИ (&Подразделение)) | И Подразделения.Ссылка В ИЕРАРХИИ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Расчетчики.Подразделение | ИЗ | РегистрСведений.РасчетчикиЗарплаты.СрезПоследних(&ПериодРегистрации) КАК Расчетчики | ГДЕ | Расчетчики.Пользователь = &Ответственный)"); Запрос.УстановитьПараметр("ОтборПоПодразделениям", ЗначениеЗаполнено(Подразделение)); Запрос.УстановитьПараметр("Подразделение", Подразделение); Запрос.УстановитьПараметр("ПериодРегистрации", ПериодРегистрации); Запрос.УстановитьПараметр("Ответственный", Ответственный); Если Запрос.Выполнить().Пустой() Тогда ОбщегоНазначения.ВывестиИнформациюОбОшибке( СтрЗаменить("Ответственный за этот документ не является расчетчиком %1 компании", "%1", ?(ЗначениеЗаполнено(Подразделение), "для выбранного подразделения", "ни для одного из подразделений"))); Возврат Ложь; КонецЕсли; КонецЕсли; ОтборПоВТСписокРаботников = Запрос <> Неопределено; // если временная таблица не передана, создаем имитацию // для работоспособности последующих запросов, // отбора по ней все равно не будет выполняться Если Не ОтборПоВТСписокРаботников Тогда Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | NULL КАК Сотрудник, | NULL КАК Физлицо |ПОМЕСТИТЬ ВТСписокРаботников"; Иначе Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; КонецЕсли; Запрос.Выполнить(); // Установим параметры запроса Запрос.УстановитьПараметр("парамНачало", ПериодРегистрации); Запрос.УстановитьПараметр("парамКонец", КонецМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("парамПользователь", Ответственный); Запрос.УстановитьПараметр("парамПодразделение", Подразделение); Запрос.УстановитьПараметр("парамРегистратор", Ссылка); Запрос.УстановитьПараметр("парамДатаВалютногоУчета", НачалоМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("парамВидСхемыМотивации", ВидСхемыМотивации); Запрос.УстановитьПараметр("ОтборПоВТСписокРаботников", ОтборПоВТСписокРаботников); Запрос.УстановитьПараметр("ОтборПоОтветственным", ОтборПоОтветственным); Запрос.УстановитьПараметр("ОтборПоПодразделениям", ЗначениеЗаполнено(Подразделение)); Запрос.УстановитьПараметр("Физлица", МассивФизлица); Запрос.УстановитьПараметр("ОтборПоФизлицам", МассивФизлица <> Неопределено); Запрос.Текст = "ВЫБРАТЬ | Подразделения.Ссылка |ПОМЕСТИТЬ Подразделения |ИЗ | Справочник.Подразделения КАК Подразделения |ГДЕ | ((НЕ &ОтборПоОтветственным) | ИЛИ Подразделения.Ссылка В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Расчетчики.Подразделение | ИЗ | РегистрСведений.РасчетчикиЗарплаты.СрезПоследних(&парамНачало) КАК Расчетчики | ГДЕ | Расчетчики.Пользователь = &парамПользователь)) | И ((НЕ &ОтборПоПодразделениям) | ИЛИ Подразделения.Ссылка В ИЕРАРХИИ (&парамПодразделение)) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | Работники.ФизЛицо, | Работники.Подразделение, | Работники.Должность, | Работники.ГрафикРаботы |ПОМЕСТИТЬ РаботникиСрезПоследних |ИЗ | РегистрСведений.Работники.СрезПоследних( | &парамНачало, | ((НЕ &ОтборПоФизлицам) | ИЛИ ФизЛицо В (&Физлица)) | И ((НЕ &ОтборПоВТСписокРаботников) | ИЛИ Физлицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | ВТСписокРаботников КАК СписокРаботников))) КАК Работники |ГДЕ | Работники.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | &парамНачало КАК Период, | Работники.ФизЛицо КАК Физлицо, | ИСТИНА КАК Подходит, | Работники.Подразделение КАК Подразделение, | Работники.ГрафикРаботы КАК ГрафикРаботы, | Работники.Должность КАК Должность |ПОМЕСТИТЬ СписокРаботников |ИЗ | РаботникиСрезПоследних КАК Работники | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Работники.Период, | Работники.ФизЛицо, | ВЫБОР | КОГДА Работники.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ, | Работники.Подразделение, | Работники.ГрафикРаботы, | Работники.Должность |ИЗ | РегистрСведений.Работники КАК Работники |ГДЕ | Работники.Период > &парамНачало | И Работники.Период <= &парамКонец | И ((НЕ &ОтборПоФизлицам) | ИЛИ Работники.ФизЛицо В (&Физлица)) | И ((НЕ &ОтборПоВТСписокРаботников) | ИЛИ Работники.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | ВТСписокРаботников КАК СписокРаботников)) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | РаботникиОрганизаций.Сотрудник КАК Сотрудник, | РаботникиОрганизаций.Сотрудник.Физлицо КАК Физлицо, | РаботникиОрганизаций.Сотрудник.ВидЗанятости КАК ВидЗанятости, | РаботникиОрганизаций.Сотрудник.ВидДоговора КАК ВидДоговора |ПОМЕСТИТЬ РаботникиОрганизаций |ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних( | &парамКонец, | Сотрудник.Физлицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников)) КАК РаботникиОрганизаций |ГДЕ | ВЫБОР | КОГДА РаботникиОрганизаций.ПериодЗавершения <= &парамКонец | И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизаций.ПричинаИзмененияСостоянияЗавершения | ИНАЧЕ РаботникиОрганизаций.ПричинаИзмененияСостояния | КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | СправочникСотрудники.Ссылка, | СправочникСотрудники.Физлицо, | СправочникСотрудники.ВидДоговора |ПОМЕСТИТЬ СправочникСотрудники |ИЗ | Справочник.СотрудникиОрганизаций КАК СправочникСотрудники |ГДЕ | СправочникСотрудники.Физлицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МАКСИМУМ(РаботникиОсновноеМесто.Сотрудник) КАК Сотрудник, | РаботникиОсновноеМесто.Физлицо КАК Физлицо, | 1 КАК Приоритет |ПОМЕСТИТЬ СписокСотрудников |ИЗ | РаботникиОрганизаций КАК РаботникиОсновноеМесто |ГДЕ | РаботникиОсновноеМесто.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы) | |СГРУППИРОВАТЬ ПО | РаботникиОсновноеМесто.Физлицо | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | МАКСИМУМ(РаботникиСовместительство.Сотрудник), | РаботникиСовместительство.Физлицо, | 2 |ИЗ | РаботникиОрганизаций КАК РаботникиСовместительство |ГДЕ | РаботникиСовместительство.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство) | |СГРУППИРОВАТЬ ПО | РаботникиСовместительство.Физлицо | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | МАКСИМУМ(СотрудникиДУ.Ссылка), | СотрудникиДУ.Физлицо, | ВЫБОР | КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ДоговорУправленческий) | ТОГДА 3 | КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор) | ТОГДА 4 | ИНАЧЕ 5 | КОНЕЦ |ИЗ | СправочникСотрудники КАК СотрудникиДУ | |СГРУППИРОВАТЬ ПО | СотрудникиДУ.Физлицо, | ВЫБОР | КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ДоговорУправленческий) | ТОГДА 3 | КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор) | ТОГДА 4 | ИНАЧЕ 5 | КОНЕЦ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СписокФизическихЛиц.Физлицо КАК Физлицо, | МИНИМУМ(СписокФизическихЛиц.Приоритет) КАК Приоритет |ПОМЕСТИТЬ СписокФизическихЛиц |ИЗ | СписокСотрудников КАК СписокФизическихЛиц | |СГРУППИРОВАТЬ ПО | СписокФизическихЛиц.Физлицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СписокСотрудников.Сотрудник КАК Сотрудник, | СписокСотрудников.Физлицо КАК Физлицо |ПОМЕСТИТЬ Сотрудники |ИЗ | СписокСотрудников КАК СписокСотрудников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокФизическихЛиц КАК СписокФизическихЛиц | ПО СписокСотрудников.Физлицо = СписокФизическихЛиц.Физлицо | И СписокСотрудников.Приоритет = СписокФизическихЛиц.Приоритет |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Сотрудники.Сотрудник КАК Сотрудник, | Работники.Физлицо КАК Физлицо, | Работники.Период КАК Период, | Работники.Должность КАК Должность, | Работники.Подходит, | Работники.Подразделение, | Работники.ГрафикРаботы, | ЕСТЬNULL(Работники.ГрафикРаботы.СуммированныйУчетРабочегоВремени, ЛОЖЬ) КАК СуммированныйУчетРабочегоВремени, | Работники.Физлицо.Наименование КАК ФизлицоНаименование |ПОМЕСТИТЬ ВТДвиженияРаботников |ИЗ | СписокРаботников КАК Работники | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Сотрудники КАК Сотрудники | ПО Работники.Физлицо = Сотрудники.Физлицо"; Запрос.Выполнить(); ЗаполнятьНачисления = ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНачислений; ЗаполнятьУдержания = ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетУдержаний; Если ЗаполнятьНачисления ИЛИ ЗаполнятьУдержания Тогда ЗаполнениеДокументовДополнительный.СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации); ТекстЗапроса = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ОсновныеНачисления.ФизЛицо КАК Физлицо, | ОсновныеНачисления.ВидРасчета КАК ВидРасчета, | ОсновныеНачисления.Подразделение КАК Подразделение |ПОМЕСТИТЬ ЗарегистрированныеНачисления |ИЗ | РегистрРасчета.УправленческиеНачисления КАК ОсновныеНачисления |ГДЕ | ОсновныеНачисления.ПериодРегистрации = &парамНачало | И ОсновныеНачисления.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И ОсновныеНачисления.Регистратор <> &парамРегистратор | И ОсновныеНачисления.ВидСхемыМотивации = &парамВидСхемыМотивации | |ИНДЕКСИРОВАТЬ ПО | Физлицо, | ВидРасчета, | Подразделение |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | УправленческиеУдержания.ФизЛицо, | УправленческиеУдержания.ВидРасчета |ПОМЕСТИТЬ ЗарегистрированныеУдержания |ИЗ | РегистрРасчета.УправленческиеУдержания КАК УправленческиеУдержания |ГДЕ | УправленческиеУдержания.ПериодРегистрации = &парамНачало | И УправленческиеУдержания.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И УправленческиеУдержания.Регистратор <> &парамРегистратор | И УправленческиеУдержания.ВидСхемыМотивации = &парамВидСхемыМотивации | |ИНДЕКСИРОВАТЬ ПО | УправленческиеУдержания.ФизЛицо, | УправленческиеУдержания.ВидРасчета |; |"; Если ЗаполнятьНачисления Тогда ТекстЗапроса = ТекстЗапроса + " |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВЫБОР | КОГДА ПлановыеНачисления.Период < &парамНачало | ТОГДА &парамНачало | ИНАЧЕ ПлановыеНачисления.Период | КОНЕЦ КАК Период, | ПлановыеНачисления.ФизЛицо, | ПлановыеНачисления.Действие, | ПлановыеНачисления.ВидРасчета, | ПлановыеНачисления.ПоказательСсылка1, | ПлановыеНачисления.ПоказательСсылка2, | ПлановыеНачисления.ПоказательСсылка3, | ПлановыеНачисления.ПоказательСсылка4, | ПлановыеНачисления.ПоказательСсылка5, | ПлановыеНачисления.ПоказательСсылка6, | ИСТИНА КАК ЭтоНачисление, | ПлановыеНачисления.ВидРасчета.НачисляетсяВЦеломЗаМесяц КАК НачисляетсяВЦеломЗаМесяц, | ПлановыеНачисления.ВидРасчета.ЗачетОтработанногоВремени КАК ОсновноеНачисление, | NULL КАК ДокументОснование |ПОМЕСТИТЬ НачисленияУдержанияЗаработнойПлаты |ИЗ | ПлановыеНачисления КАК ПлановыеНачисления |"; Если ЗаполнятьУдержания Тогда ТекстЗапроса = ТекстЗапроса + " |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ВЫБОР | КОГДА ПлановыеУдержания.Период < &парамНачало | ТОГДА &парамНачало | ИНАЧЕ ПлановыеУдержания.Период | КОНЕЦ КАК Период, | ПлановыеУдержания.ФизЛицо, | ПлановыеУдержания.Действие, | ПлановыеУдержания.ВидРасчета, | ПлановыеУдержания.ПоказательСсылка1, | ПлановыеУдержания.ПоказательСсылка2, | ПлановыеУдержания.ПоказательСсылка3, | ПлановыеУдержания.ПоказательСсылка4, | ПлановыеУдержания.ПоказательСсылка5, | ПлановыеУдержания.ПоказательСсылка6, | ЛОЖЬ, | ИСТИНА, | ЛОЖЬ, | ПлановыеУдержания.ДокументОснование |ИЗ | ПлановыеУдержания КАК ПлановыеУдержания |"; КонецЕсли; Иначе Если ЗаполнятьУдержания Тогда ТекстЗапроса = ТекстЗапроса + " |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВЫБОР | КОГДА ПлановыеУдержания.Период < &парамНачало | ТОГДА &парамНачало | ИНАЧЕ ПлановыеУдержания.Период | КОНЕЦ КАК Период, | ПлановыеУдержания.ФизЛицо, | ПлановыеУдержания.Действие, | ПлановыеУдержания.ВидРасчета, | ПлановыеУдержания.ПоказательСсылка1, | ПлановыеУдержания.ПоказательСсылка2, | ПлановыеУдержания.ПоказательСсылка3, | ПлановыеУдержания.ПоказательСсылка4, | ПлановыеУдержания.ПоказательСсылка5, | ПлановыеУдержания.ПоказательСсылка6, | ЛОЖЬ КАК ЭтоНачисление, | ИСТИНА КАК НачисляетсяВЦеломЗаМесяц, | ЛОЖЬ КАК ОсновноеНачисление, | ПлановыеУдержания.ДокументОснование |ПОМЕСТИТЬ НачисленияУдержанияЗаработнойПлаты |ИЗ | ПлановыеУдержания КАК ПлановыеУдержания |"; КонецЕсли; КонецЕсли; НачислениеЗарплатыРаботникамПереопределяемый.ДобавитьОбъединениеДополнительныхНачисленийУдержаний(ТекстЗапроса, ЗаполнятьНачисления, ЗаполнятьУдержания); ТекстЗапроса = ТекстЗапроса + " |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НачисленияУдержания.Период, | НачисленияУдержания.ФизЛицо |ПОМЕСТИТЬ ПериодыФизлиц |ИЗ | НачисленияУдержанияЗаработнойПлаты КАК НачисленияУдержания | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ВТДвиженияРаботников.Период, | ВТДвиженияРаботников.Физлицо |ИЗ | ВТДвиженияРаботников КАК ВТДвиженияРаботников |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПоследниеЗначенияПоказателей.Период КАК ПериодДействия, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Показатель, | ЗначенияПоказателей.ИсходноеЗначение, | ЗначенияПоказателей.Значение, | ЗначенияПоказателей.Валюта, | ЗначенияПоказателей.ВводитсяВВалюте, | ЗначенияПоказателей.КурсВалюты |ПОМЕСТИТЬ ЗначенияПоказателей |ИЗ | ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | МАКСИМУМ(ЗначенияПоказателей.ПериодДействия) КАК ПериодДействия, | ПериодыФизлиц.Период КАК Период, | ЗначенияПоказателей.Физлицо КАК Физлицо, | ЗначенияПоказателей.Показатель КАК Показатель | ИЗ | ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПериодыФизлиц КАК ПериодыФизлиц | ПО ЗначенияПоказателей.Физлицо = ПериодыФизлиц.ФизЛицо | И ЗначенияПоказателей.ПериодДействия <= ПериодыФизлиц.Период | | СГРУППИРОВАТЬ ПО | ЗначенияПоказателей.Физлицо, | ПериодыФизлиц.Период, | ЗначенияПоказателей.Показатель) КАК ПоследниеЗначенияПоказателей | ПО ЗначенияПоказателей.Физлицо = ПоследниеЗначенияПоказателей.Физлицо | И ЗначенияПоказателей.Показатель = ПоследниеЗначенияПоказателей.Показатель | И ЗначенияПоказателей.ПериодДействия = ПоследниеЗначенияПоказателей.ПериодДействия |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ПериодыФизлиц.Период, | ПериодыФизлиц.ФизЛицо, | ДвиженияРаботников.Сотрудник, | ДвиженияРаботников.Период КАК ПериодРаботники, | ДвиженияРаботников.Подходит, | ДвиженияРаботников.Должность, | ДвиженияРаботников.Подразделение, | ДвиженияРаботников.ГрафикРаботы, | ДвиженияРаботников.СуммированныйУчетРабочегоВремени |ПОМЕСТИТЬ ДополнительныеДанныеЗаполнения |ИЗ | ПериодыФизлиц КАК ПериодыФизлиц | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПериодыФизлиц.Период КАК Период, | ПериодыФизлиц.ФизЛицо КАК ФизЛицо, | МАКСИМУМ(ДвиженияРаботников.Период) КАК ПериодДвижения | ИЗ | ПериодыФизлиц КАК ПериодыФизлиц | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ДвиженияРаботников | ПО ПериодыФизлиц.Период >= ДвиженияРаботников.Период | И ПериодыФизлиц.ФизЛицо = ДвиженияРаботников.Физлицо | | СГРУППИРОВАТЬ ПО | ПериодыФизлиц.Период, | ПериодыФизлиц.ФизЛицо) КАК КрайниеДатыДвиженийРаботников | ПО ПериодыФизлиц.Период = КрайниеДатыДвиженийРаботников.Период | И ПериодыФизлиц.ФизЛицо = КрайниеДатыДвиженийРаботников.ФизЛицо | ЛЕВОЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ДвиженияРаботников | ПО (ДвиженияРаботников.Физлицо = ПериодыФизлиц.ФизЛицо) | И (КрайниеДатыДвиженийРаботников.ПериодДвижения = ДвиженияРаботников.Период) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ПериодыФизлиц.Период, | ПериодыФизлиц.ФизЛицо, | НачисленияУдержания.Период КАК ПериодНачисления, | НачисленияУдержания.ВидРасчета, | НачисленияУдержания.ПоказательСсылка1, | НачисленияУдержания.ПоказательСсылка2, | НачисленияУдержания.ПоказательСсылка3, | НачисленияУдержания.ПоказательСсылка4, | НачисленияУдержания.ПоказательСсылка5, | НачисленияУдержания.ПоказательСсылка6, | НачисленияУдержания.ЭтоНачисление, | НачисленияУдержания.Действие, | НачисленияУдержания.НачисляетсяВЦеломЗаМесяц, | НачисленияУдержания.ОсновноеНачисление, | НачисленияУдержания.ДокументОснование |ПОМЕСТИТЬ ДействующиеНачисления |ИЗ | ПериодыФизлиц КАК ПериодыФизлиц | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПериодыФизлиц.Период КАК ПериодНачисления, | ПериодыФизлиц.ФизЛицо КАК ФизЛицо, | НачисленияУдержания.ВидРасчета, | МАКСИМУМ(НачисленияУдержания.Период) КАК ПериодДвижения | ИЗ | ПериодыФизлиц КАК ПериодыФизлиц | ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачисленияУдержанияЗаработнойПлаты КАК НачисленияУдержания | ПО ПериодыФизлиц.Период >= НачисленияУдержания.Период | И ПериодыФизлиц.ФизЛицо = НачисленияУдержания.ФизЛицо | | СГРУППИРОВАТЬ ПО | ПериодыФизлиц.Период, | ПериодыФизлиц.ФизЛицо, | НачисленияУдержания.ВидРасчета) КАК КрайниеДатыДвиженийРаботников | ПО ПериодыФизлиц.Период = КрайниеДатыДвиженийРаботников.ПериодНачисления | И ПериодыФизлиц.ФизЛицо = КрайниеДатыДвиженийРаботников.ФизЛицо | ЛЕВОЕ СОЕДИНЕНИЕ НачисленияУдержанияЗаработнойПлаты КАК НачисленияУдержания | ПО (НачисленияУдержания.ФизЛицо = ПериодыФизлиц.ФизЛицо) | И (КрайниеДатыДвиженийРаботников.ПериодДвижения = НачисленияУдержания.Период) | И (КрайниеДатыДвиженийРаботников.ВидРасчета = НачисленияУдержания.ВидРасчета) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ДополнительныеДанные.Сотрудник, | ДействующиеНачисления.ФизЛицо, | ДействующиеНачисления.Период КАК Период, | ДополнительныеДанные.ПериодРаботники, | ДополнительныеДанные.Должность, | ВЫБОР | КОГДА (НЕ &ОтборПоПодразделениям) | ИЛИ ДополнительныеДанные.Подразделение В ИЕРАРХИИ | (ВЫБРАТЬ | Подразделения.Ссылка | ИЗ | Подразделения) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК Подходит, | ДополнительныеДанные.Подразделение, | ДополнительныеДанные.ГрафикРаботы, | ДополнительныеДанные.СуммированныйУчетРабочегоВремени, | ВЫБОР | КОГДА ДополнительныеДанные.Сотрудник.ДатаУвольненияИзКомпании МЕЖДУ &парамНачало И &парамКонец | ТОГДА ДополнительныеДанные.Сотрудник.ДатаУвольненияИзКомпании | ИНАЧЕ &парамКонец | КОНЕЦ КАК ДатаОкончания, | ВЫБОР | КОГДА ДействующиеНачисления.ЭтоНачисление | И ЗарегистрированныеНачисления.Физлицо ЕСТЬ NULL | ИЛИ (НЕ ДействующиеНачисления.ЭтоНачисление) | И ЗарегистрированныеУдержания.ФизЛицо ЕСТЬ NULL | ТОГДА ЛОЖЬ | ИНАЧЕ ИСТИНА | КОНЕЦ КАК УжеПроведен, | ДействующиеНачисления.Период КАК ПериодНачисления, | ДействующиеНачисления.Действие, | ДействующиеНачисления.ВидРасчета, | ДействующиеНачисления.ВидРасчета.СпособРасчета КАК СпособРасчета, | ДействующиеНачисления.НачисляетсяВЦеломЗаМесяц КАК НачисляетсяВЦеломЗаМесяц, | ДействующиеНачисления.ОсновноеНачисление КАК ОсновноеНачисление, | ДействующиеНачисления.ЭтоНачисление КАК ЭтоНачисление, | ДействующиеНачисления.ДокументОснование КАК ДокументОснование, | ЗначениеПоказателя1.Значение КАК Показатель1, | ЗначениеПоказателя2.Значение КАК Показатель2, | ЗначениеПоказателя3.Значение КАК Показатель3, | ЗначениеПоказателя4.Значение КАК Показатель4, | ЗначениеПоказателя5.Значение КАК Показатель5, | ЗначениеПоказателя6.Значение КАК Показатель6, | ЗначениеПоказателя1.Валюта КАК Валюта1, | ЗначениеПоказателя2.Валюта КАК Валюта2, | ЗначениеПоказателя3.Валюта КАК Валюта3, | ЗначениеПоказателя4.Валюта КАК Валюта4, | ЗначениеПоказателя5.Валюта КАК Валюта5, | ЗначениеПоказателя6.Валюта КАК Валюта6, | ЗначениеПоказателя1.КурсВалюты КАК КурсВалюты1, | ЗначениеПоказателя2.КурсВалюты КАК КурсВалюты2, | ЗначениеПоказателя3.КурсВалюты КАК КурсВалюты3, | ЗначениеПоказателя4.КурсВалюты КАК КурсВалюты4, | ЗначениеПоказателя5.КурсВалюты КАК КурсВалюты5, | ЗначениеПоказателя6.КурсВалюты КАК КурсВалюты6, | ДополнительныеДанные.Сотрудник.Наименование КАК СотрудникНаименование |ИЗ | ДействующиеНачисления КАК ДействующиеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДополнительныеДанныеЗаполнения КАК ДополнительныеДанные | ПО (ДополнительныеДанные.ФизЛицо = ДействующиеНачисления.ФизЛицо) | И (ДополнительныеДанные.Период = ДействующиеНачисления.Период) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя1 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя1.Физлицо | И ДействующиеНачисления.ПоказательСсылка1 = ЗначениеПоказателя1.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя2 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя2.Физлицо | И ДействующиеНачисления.ПоказательСсылка2 = ЗначениеПоказателя2.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя3 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя3.Физлицо | И ДействующиеНачисления.ПоказательСсылка3 = ЗначениеПоказателя3.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя4 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя4.Физлицо | И ДействующиеНачисления.ПоказательСсылка4 = ЗначениеПоказателя4.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя5 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя5.Физлицо | И ДействующиеНачисления.ПоказательСсылка5 = ЗначениеПоказателя5.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя6 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя6.Физлицо | И ДействующиеНачисления.ПоказательСсылка6 = ЗначениеПоказателя6.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗарегистрированныеНачисления КАК ЗарегистрированныеНачисления | ПО ДействующиеНачисления.ФизЛицо = ЗарегистрированныеНачисления.Физлицо | И (ДополнительныеДанные.Подразделение = ЗарегистрированныеНачисления.Подразделение) | И (ЗарегистрированныеНачисления.ВидРасчета.ЗачетОтработанногоВремени) | ЛЕВОЕ СОЕДИНЕНИЕ ЗарегистрированныеУдержания КАК ЗарегистрированныеУдержания | ПО ДействующиеНачисления.ФизЛицо = ЗарегистрированныеУдержания.ФизЛицо | И ДействующиеНачисления.ВидРасчета = ЗарегистрированныеУдержания.ВидРасчета | | |УПОРЯДОЧИТЬ ПО | ЭтоНачисление УБЫВ, | СотрудникНаименование, | ДополнительныеДанные.Сотрудник, | ДополнительныеДанные.ПериодРаботники, | ПериодНачисления, | ОсновноеНачисление УБЫВ, | ДействующиеНачисления.ВидРасчета"; Запрос.Текст = ТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); НачисленияУдержанияВыборка = РезультатЗапроса.Выбрать(); МассивВалютСНезаданнымКурсом = Новый Соответствие; // АВТОЗАПОЛНЕНИЕ ТЧ "Начисления" Если ЗаполнятьНачисления Тогда ТЗНачисления = СформироватьТаблицуНачислений(НачисленияУдержанияВыборка, МассивВалютСНезаданнымКурсом); Если МассивВалютСНезаданнымКурсом.Количество() > 0 Тогда Возврат Ложь; КонецЕсли; // заполняем номера, чтобы идентифицировать строки при удалении вытесняемых ТЗНачисления.Колонки.Добавить("НомерСтрокиДокумента", Новый ОписаниеТипов("Число")); ТЗНачисления.Колонки.Добавить("НомерСтрокиНабораЗаписей", Новый ОписаниеТипов("Число")); Для Каждого СтрокаНачисления Из ТЗНачисления Цикл НоваяСтрока = Начисления.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаНачисления); СтрокаНачисления.НомерСтрокиДокумента = НоваяСтрока.НомерСтроки; КонецЦикла; // проверим записи начислений на не пустой фактический период действия НаборЗаписейДляПроверки = РегистрыРасчета.УправленческиеНачисления.СоздатьНаборЗаписей(); Если Ссылка.Пустая() Тогда СcылкаОбъекта = Документы.НачислениеЗарплатыРаботникам.ПолучитьСсылку(); УстановитьСсылкуНового(СcылкаОбъекта); Иначе СcылкаОбъекта = Ссылка; КонецЕсли; НаборЗаписейДляПроверки.Отбор.Регистратор.Значение = СcылкаОбъекта; НомерЗаписи = 1; Для Каждого Строка Из ТЗНачисления Цикл Движение = НаборЗаписейДляПроверки.Добавить(); // свойства Движение.ПериодРегистрации = ПериодРегистрации; Движение.ПериодДействияНачало = Строка.ДатаНачала; Движение.ПериодДействияКонец = Строка.ДатаОкончания; Движение.ВидРасчета = Строка.ВидРасчета; // измерения Движение.Физлицо = Строка.Физлицо; // реквизиты поддержки графика Движение.ГрафикРаботы = Строка.ГрафикРаботы; Движение.ВидУчетаВремени = ПроведениеРасчетов.ПолучитьВидУчетаВремени(Строка.СпособРасчета, Неопределено, Строка.СуммированныйУчетРабочегоВремени); // запоминаем номер записи Строка.НомерСтрокиНабораЗаписей = НомерЗаписи; НомерЗаписи = НомерЗаписи + 1; КонецЦикла; НаборЗаписейДляПроверки.Записать(); ЗапросПроверки = Новый Запрос; ЗапросПроверки.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | УправленческиеНачисления.НомерСтроки КАК НомерСтроки |ИЗ | РегистрРасчета.УправленческиеНачисления КАК УправленческиеНачисления | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.УправленческиеНачисления.ФактическийПериодДействия(Регистратор = &парамСсылка) КАК УправленческиеНачисленияФактическийПериодДействия | ПО УправленческиеНачисления.НомерСтроки = УправленческиеНачисленияФактическийПериодДействия.НомерСтроки | И УправленческиеНачисления.Регистратор = УправленческиеНачисленияФактическийПериодДействия.Регистратор |ГДЕ | УправленческиеНачисления.Регистратор = &парамСсылка | И УправленческиеНачисленияФактическийПериодДействия.Регистратор ЕСТЬ NULL | |УПОРЯДОЧИТЬ ПО | НомерСтроки УБЫВ"; ЗапросПроверки.УстановитьПараметр("парамСсылка", Ссылка); // выполним удаление строк табличной части, которые соответствуют полностью вытесняемым видам расчета Выборка = ЗапросПроверки.Выполнить().Выбрать(); // найдем нужные строки благодаря предварительной идентификации УдаляемыеСтрокиДокумента = Новый Массив; Пока Выборка.Следующий() Цикл СтрокаНачисления = ТЗНачисления.Найти(Выборка.НомерСтроки, "НомерСтрокиНабораЗаписей"); Если СтрокаНачисления <> Неопределено Тогда УдаляемыеСтрокиДокумента.Добавить(Начисления[СтрокаНачисления.НомерСтрокиДокумента - 1]); КонецЕсли; КонецЦикла; // удаляем собранные строки Для Каждого УдаляемаяСтрока Из УдаляемыеСтрокиДокумента Цикл Начисления.Удалить(УдаляемаяСтрока); КонецЦикла; // удалим проверочный набор записей НаборЗаписейДляПроверки.Очистить(); НаборЗаписейДляПроверки.Записать(); КонецЕсли; // АВТОЗАПОЛНЕНИЕ ТЧ "Удержания" Если ЗаполнятьУдержания Тогда НачисленияУдержанияВыборка.Сбросить(); ТЗУдержания = СформироватьТаблицуУдержаний(НачисленияУдержанияВыборка, МассивВалютСНезаданнымКурсом); Если МассивВалютСНезаданнымКурсом.Количество() > 0 Тогда Возврат Ложь; КонецЕсли; Если МассивФизлица = Неопределено Тогда //Заполняем по всем сотрудникам Удержания.Загрузить(ТЗУдержания); Иначе Для Каждого СтрокаУдержания Из ТЗУдержания Цикл НоваяСтрока = Удержания.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаУдержания); КонецЦикла; КонецЕсли; КонецЕсли; КонецЕсли; // АВТОЗАПОЛНЕНИЕ ТЧ Погашение займов Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПогашениеЗаймов Тогда Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ПогашениеЗаймовРаботникамиОстатки.ФизЛицо, | ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма, | ПогашениеЗаймовРаботникамиОстатки.ФизЛицо.Наименование КАК ФизЛицоНаименование |ИЗ | РегистрНакопления.ПогашениеЗаймовРаботниками.Остатки( | &парамКонец, | Физлицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников)) КАК ПогашениеЗаймовРаботникамиОстатки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОЗаймах КАК СведенияОЗаймах | ПО ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма = СведенияОЗаймах.ДоговорЗайма | И ПогашениеЗаймовРаботникамиОстатки.ФизЛицо = СведенияОЗаймах.ФизЛицо | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПогашениеЗаймовРаботниками КАК ПогашениеЗаймовРаботникамиОбороты | ПО ПогашениеЗаймовРаботникамиОстатки.ФизЛицо = ПогашениеЗаймовРаботникамиОбороты.ФизЛицо | И ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма = ПогашениеЗаймовРаботникамиОбороты.ДоговорЗайма | И (ПогашениеЗаймовРаботникамиОбороты.Период МЕЖДУ &парамНачало И &парамКонец) | И (ПогашениеЗаймовРаботникамиОбороты.УдержаноИзЗарплаты) |ГДЕ | ПогашениеЗаймовРаботникамиОбороты.ФизЛицо ЕСТЬ NULL | И (ПогашениеЗаймовРаботникамиОстатки.ОсновнойДолгОстаток <> 0 | ИЛИ ПогашениеЗаймовРаботникамиОстатки.ПроцентыОстаток <> 0) | И (СведенияОЗаймах.НачалоПогашения <= &парамНачало | ИЛИ СведенияОЗаймах.ПроцентЗаПользованиеЗаймом > 0) | |УПОРЯДОЧИТЬ ПО | ФизЛицоНаименование"; // Установим параметры запроса Запрос.УстановитьПараметр("парамНачало" , ПериодРегистрации); Запрос.УстановитьПараметр("парамКонец" , КонецМесяца(ПериодРегистрации)); ТЗПогашениеЗаймов = Запрос.Выполнить().Выгрузить(); Если МассивФизлица = Неопределено Тогда //Заполняем по всем сотрудникам ПогашениеЗаймов.Загрузить(ТЗПогашениеЗаймов); Иначе Для Каждого СтрокаПогашениеЗаймов Из ТЗПогашениеЗаймов Цикл НоваяСтрока = ПогашениеЗаймов.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаПогашениеЗаймов); КонецЦикла; КонецЕсли; КонецЕсли; Возврат Истина; КонецФункции |
||||
Планируется исправить в релизе: | 2.5.47 | ||||
Код ошибки: | 10098113 | ||||
Дата публикации: | 27 января 2012 г. | ||||
Описание: | При переносе данных из ЗУП базовой или КОРП в ЗБУ возникает сообщение об ошибке. | ||||
Планируется исправить в релизе: | 2.5.47 | ||||
Код ошибки: | 10096774 | ||||
Дата публикации: | 27 января 2012 г. | ||||
Описание: | При конвертации из ЗиК в ЗУП/ЗБУ возникает сообщение об ошибке, если в ЗиК в документах "Ввод расчета сотруднику/списку сотрудников" в качестве величины указано не число, а значение из справочника "Процентные надбавки по стажу". | ||||
Планируется исправить в релизе: | 2.5.47 | ||||
Код ошибки: | 10097876 | ||||
Дата публикации: | 23 января 2012 г. | ||||
Описание: | Документ "Справка 2-НДФЛ для передачи в ИФНС" ошибочно не проводится, если в нем содержатся доходы физлиц, имеющих статус высококвалифицированных специалистов, отличные от оплаты труда, например, дивиденды. | ||||
Исправлено в релизе: | 2.5.46 | ||||
Код ошибки: | 10097986 | ||||
Дата публикации: | 23 января 2012 г. | ||||
Описание: | Неверно формируется файл со сведениями 2-НДФЛ за 2011 год (тег СведДох имеет неверную структуру). | ||||
Способ исправления: | Заменить функцию Файл2011() модуля документа СправкаПоНДФЛВНалоговыйОрган следующим фрагментом: Функция Файл2011(Отказ, СоответствиеКодовСтран, СоответствиеИменСтран, СоответствиеДокументовУдостоверяющиеЛичность, СоответствиеКодовРегионов, СоответствиеСтавок, СоответствиеКодовДоходов, СоответствиеКодовВычетов, СоответствиеСтавокДоходов) ОбработкаКомментариев = глЗначениеПеременной("глОбработкаСообщений"); //----------------------------------------------------------------------------- // СВЕДЕНИЯ О НАЛОГОВОМ АГЕНТЕ СтруктураДанныхНА = СправкиПоНДФЛ.ДанныеНалоговогоАгентаДля2НДФЛ(Организация, НалоговыйПериод, ОКАТО_КПП, Дата, Телефон, ДолжностьПодписавшегоЛица, СправкуПодписал); СтруктураДанныхНА.Признак = ?(ОснованиеДляПредставленияСправок = Перечисления.ОснованияДляПредставленияСправок2НДФЛ.ОНевозможностиУдержанияНДФЛ,"2","1"); СправкиПоНДФЛ.ПроверитьОбщиеДанныеСправки(СтруктураДанныхНА, Отказ, ОбработкаКомментариев); ОрганизацияЭтоФизЛицо = Не СтруктураДанныхНА.ЭтоЮрЛицо; //----------------------------------------------------------------------------- // ФОРМИРОВАНИЕ ДЕРЕВА ДАННЫХ Если Не Отказ Тогда // Загружаем формат файла сведений МакетФормата = ПолучитьМакет("ФорматНДФЛ2011"); // Создаем начальное дерево ДеревоВыгрузки = ПроцедурыПерсонифицированногоУчета.СоздатьДеревоXML(); Атрибуты = Новый Соответствие; Атрибуты.Вставить("ИдФайл", ИмяФайла); Атрибуты.Вставить("ВерсПрог", "1С:" + РегламентированнаяОтчетность.ИДКонфигурации() + " " + РегламентированнаяОтчетность.РедакцияКонфигурации()); Атрибуты.Вставить("ВерсФорм", "5.02"); Узел2НДФЛ = ПроцедурыПерсонифицированногоУчета.ДобавитьУзелВДеревоXML(ДеревоВыгрузки, "Файл", "", Атрибуты); // Информационная часть ФорматФайла = ЗагрузитьФорматНабораЗаписей(МакетФормата, "Файл", ОрганизацияЭтоФизЛицо); // Общие сведения служебной части НаборЗаписейОбщСвСЧ = ФорматФайла.СвРекв.Значение; НаборЗаписейОбщСвСЧ.ОКАТО.Значение = СтруктураДанныхНА.ОКАТО; НаборЗаписейОбщСвСЧ.ПризнакФ.Значение = СтруктураДанныхНА.Признак; НаборЗаписейОбщСвСЧ.ОтчетГод.Значение = СтруктураДанныхНА.НалоговыйПериодСтрокой; ФорматСправка = ФорматФайла.Документ.Значение; ФорматСправка.ОтчетГод.Значение = СтруктураДанныхНА.НалоговыйПериодСтрокой; ФорматСправка.ДатаДок.Значение = СтруктураДанныхНА.Дата; ФорматСправка.Признак.Значение = СтруктураДанныхНА.Признак; ФорматСправка.КодНО.Значение = СтруктураДанныхНА.КодИФНС; // Сведения об отправителе ФорматСправка.СвНА.Значение.ОКАТО.Значение = СтруктураДанныхНА.ОКАТО; Если НЕ ЗначениеЗаполнено(СтруктураДанныхНА.Телефон) Тогда ФорматСправка.СвНА.Значение.Удалить("Тлф"); Иначе ФорматСправка.СвНА.Значение.Тлф.Значение = СтруктураДанныхНА.Телефон; КонецЕсли; Если ОрганизацияЭтоФизЛицо Тогда НаборЗаписейОбщСвСЧ.СвФЛ.Значение.ИННФЛ.Значение = СтруктураДанныхНА.ИННорг; НаборЗаписейОтправитель = ФорматСправка.СвНА.Значение.СвНАФЛ.Значение; НаборЗаписейОтправитель.ИННФЛ.Значение = СтруктураДанныхНА.ИННорг; НаборЗаписейОтправитель.ФИО.Значение.Фамилия = СтруктураДанныхНА.Фамилия; НаборЗаписейОтправитель.ФИО.Значение.Имя = СтруктураДанныхНА.Имя; НаборЗаписейОтправитель.ФИО.Значение.Отчество = СтруктураДанныхНА.Отчество; Иначе // Сведения об отправителе НаборЗаписейОтправитель = НаборЗаписейОбщСвСЧ.СвЮЛ.Значение; НаборЗаписейОтправитель.ИННЮЛ.Значение = СтруктураДанныхНА.ИННорг; НаборЗаписейОтправитель.КПП.Значение = СтруктураДанныхНА.КПП; НаборЗаписейОтправитель = ФорматСправка.СвНА.Значение.СвНАЮЛ.Значение; НаборЗаписейОтправитель.НаимОрг.Значение = СтруктураДанныхНА.НазваниеОрганизации; НаборЗаписейОтправитель.ИННЮЛ.Значение = СтруктураДанныхНА.ИННорг; НаборЗаписейОтправитель.КПП.Значение = СтруктураДанныхНА.КПП; КонецЕсли; Атрибуты = Новый Структура; Для каждого Поле Из НаборЗаписейОбщСвСЧ Цикл Если Поле.Значение.ТипЭлемента = "А" Тогда Данные = Поле.Значение.Значение; Если Поле.Значение.ТипДанных = "ЧИСЛО" Тогда Данные = Формат(Данные,"ЧЦ=" + Поле.Значение.Размер + "; ЧДЦ=" + Поле.Значение.РазрядностьДробнойЧасти + "; ЧРД=.; ЧН=; ЧГ=0") ИначеЕсли Поле.Значение.ТипДанных = "ДАТА" Тогда Если Не ЗначениеЗаполнено(Данные) Тогда Данные = "" Иначе Данные = Формат(Данные,"ДФ=dd.MM.yyyy"); КонецЕсли; КонецЕсли; Атрибуты.Вставить(Поле.Ключ, Данные); НаборЗаписейОбщСвСЧ.Удалить(Поле.Ключ); КонецЕсли; КонецЦикла; ДобавитьИнформациюВДерево(ПроцедурыПерсонифицированногоУчета.ДобавитьУзелВДеревоXML(Узел2НДФЛ, "СвРекв", "", Атрибуты), НаборЗаписейОбщСвСЧ); КонецЕсли; СтруктураОтбора = Новый Структура("НомерСправки"); СтруктураОтбораДохода = Новый Структура("Месяц,КодДохода"); ТаблицаВычетовКДоходам = СведенияОВычетах.ВыгрузитьКолонки("СуммаВычета"); ТаблицаВычетовКДоходам.Колонки.Добавить("КодВычетаСтрокой", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(3))); Для каждого СтрокаДанных Из СотрудникиОрганизации Цикл ЗаполнитьЗначенияСвойств(СтруктураОтбора, СтрокаДанных); ДоходыПоВидам = СведенияОДоходах.Выгрузить(СведенияОДоходах.НайтиСтроки(СтруктураОтбора)); ВычетыПоВидам = СведенияОВычетах.Выгрузить(СведенияОВычетах.НайтиСтроки(СтруктураОтбора)); Итоги = СуммыНалогов.Выгрузить(СуммыНалогов.НайтиСтроки(СтруктураОтбора)); // Проверка корректности выводимых данных СправкиПоНДФЛ.ПроверитьДанныеСотрудника(НалоговыйПериод, СтруктураДанныхНА.Признак, СтрокаДанных, ДоходыПоВидам, ВычетыПоВидам, Итоги, Дата, Отказ, ОбработкаКомментариев, СоответствиеДокументовУдостоверяющиеЛичность, СоответствиеИменСтран, СоответствиеСтавокДоходов); Если Отказ Тогда Продолжить; КонецЕсли; ДоходыПоВидам.Колонки.Добавить("КодВычетаСтрокой", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(3))); Для каждого СтрокаТЗ Из ДоходыПоВидам Цикл СтрокаТЗ.КодВычетаСтрокой = СоответствиеКодовВычетов[СтрокаТЗ.КодВычета]; КонецЦикла; СтруктураДанныхСправки = ПроцедурыПерсонифицированногоУчета.СкопироватьСтруктуруДанных(ФорматСправка); СтруктураДанныхСправки.НомСпр.Значение = СтрокаДанных.НомерСправки; // Данные о физическом лице - получателе дохода НаборЗаписейФизЛицо = СтруктураДанныхСправки.ПолучДох.Значение; // Фамилия, Имя, Отчество НаборЗаписейФизЛицо.ФИО.Значение.Фамилия = СтрокаДанных.Фамилия; НаборЗаписейФизЛицо.ФИО.Значение.Имя = СтрокаДанных.Имя; НаборЗаписейФизЛицо.ФИО.Значение.Отчество = СтрокаДанных.Отчество; Если ПустаяСтрока(СтрокаДанных.ИНН) Тогда НаборЗаписейФизЛицо.Удалить("ИННФЛ"); Иначе НаборЗаписейФизЛицо.ИННФЛ.Значение = СтрокаДанных.ИНН; КонецЕсли; НаборЗаписейФизЛицо.Статус.Значение = ?(СтрокаДанных.СтатусНалогоплательщика = Перечисления.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент Или СтрокаДанных.СтатусНалогоплательщика = Перечисления.СтатусыНалогоплательщиковПоНДФЛ.УчастникПрограммыПоПереселениюСоотечественников Или СтрокаДанных.СтатусНалогоплательщика = Перечисления.СтатусыНалогоплательщиковПоНДФЛ.ЧленЭкипажаСуднаПодФлагомРФ,2,?(СтрокаДанных.СтатусНалогоплательщика = Перечисления.СтатусыНалогоплательщиковПоНДФЛ.ВысококвалифицированныйИностранныйСпециалист,3,1)); НаборЗаписейФизЛицо.ДатаРожд.Значение = СтрокаДанных.ДатаРождения; НаборЗаписейФизЛицо.Гражд.Значение = СоответствиеКодовСтран[СтрокаДанных.Гражданство]; // Удостоверение личности НаборЗаписейДокУдЛичности = НаборЗаписейФизЛицо.УдЛичнФЛ.Значение;// КодУдЛичн, СерНомДок НаборЗаписейДокУдЛичности.КодУдЛичн = СоответствиеДокументовУдостоверяющиеЛичность[СтрокаДанных.ВидДокумента]; НаборЗаписейДокУдЛичности.СерНомДок = СокрЛП(СтрокаДанных.СерияДокумента) + " " + СокрЛП(СтрокаДанных.НомерДокумента); // Адреса Если ЗначениеЗаполнено(СтрокаДанных.АдресРФ) Тогда СтруктураАдреса = РегламентированнаяОтчетность.РазложитьАдрес(СтрокаДанных.АдресРФ); ЗаполнитьЗначенияСвойств(НаборЗаписейФизЛицо.АдрМЖРФ.Значение,СтруктураАдреса); // Индекс, КодРегион, Район, Город, Улица, Дом, Корп, НаборЗаписейФизЛицо.АдрМЖРФ.Значение.КодРегион = СоответствиеКодовРегионов[СтруктураАдреса.Регион]; НаборЗаписейФизЛицо.АдрМЖРФ.Значение.НаселПункт = СтруктураАдреса.НаселенныйПункт; НаборЗаписейФизЛицо.АдрМЖРФ.Значение.Кварт = СтруктураАдреса.Квартира; Иначе // очищаем адресные данные НаборЗаписейФизЛицо.Удалить("АдрМЖРФ"); КонецЕсли; Если ЗначениеЗаполнено(СтрокаДанных.АдресЗарубежом) Тогда СтруктураАдреса = УправлениеКонтактнойИнформацией.ПолучитьСтруктуруАдресаИзСтроки(СтрокаДанных.АдресЗарубежом); НаборЗаписейФизЛицо.АдрИНО.Значение.КодСтр = СоответствиеИменСтран[СтруктураАдреса.Страна]; НаборЗаписейФизЛицо.АдрИНО.Значение.АдрТекст = СтруктураАдреса.Представление; Иначе // очищаем адресные данные НаборЗаписейФизЛицо.Удалить("АдрИНО"); КонецЕсли; // Сведения об облагаемых доходах ФорматНаборЗаписейСведенияОДоходах = ПроцедурыПерсонифицированногоУчета.СкопироватьСтруктуруДанных(СтруктураДанныхСправки.СведДох.Значение); СтруктураДанныхСправки.Удалить("СведДох"); Атрибуты = Новый Структура; Для каждого Поле Из СтруктураДанныхСправки Цикл Если Поле.Значение.ТипЭлемента = "А" Тогда Данные = Поле.Значение.Значение; Если Поле.Значение.ТипДанных = "ЧИСЛО" Тогда Данные = Формат(Данные,"ЧЦ=" + Поле.Значение.Размер + "; ЧДЦ=" + Поле.Значение.РазрядностьДробнойЧасти + "; ЧРД=.; ЧН=; ЧГ=0") ИначеЕсли Поле.Значение.ТипДанных = "ДАТА" Тогда Если Не ЗначениеЗаполнено(Данные) Тогда Данные = "" Иначе Данные = Формат(Данные,"ДФ=dd.MM.yyyy"); КонецЕсли; КонецЕсли; Атрибуты.Вставить(Поле.Ключ, Данные); СтруктураДанныхСправки.Удалить(Поле.Ключ); КонецЕсли; КонецЦикла; УзелСправки = ПроцедурыПерсонифицированногоУчета.ДобавитьУзелВДеревоXML(Узел2НДФЛ, "Документ", "", Атрибуты); ДобавитьИнформациюВДерево(УзелСправки, СтруктураДанныхСправки); Для каждого СтрокаИтогов Из Итоги Цикл НаборЗаписейСведенияОДоходах = ПроцедурыПерсонифицированногоУчета.СкопироватьСтруктуруДанных(ФорматНаборЗаписейСведенияОДоходах); НаборЗаписейСведенияОДоходах.Ставка.Значение = СоответствиеСтавок[СтрокаИтогов.Ставка]; НаборЗаписейДоходы = НаборЗаписейСведенияОДоходах.ДохВыч.Значение; ТаблицаДоходов = НаборЗаписейДоходы.СвСумДох.Значение; Если СтрокаИтогов.ОбщаяСуммаДохода > 0 Тогда ТаблицаСтрок = СправкиПоНДФЛ.ИзвлечьДоходыПоСтавке(СтрокаИтогов.Ставка, СтрокаДанных.СтатусНалогоплательщика, ДоходыПоВидам, СоответствиеСтавокДоходов); ТаблицаСтрок.Свернуть("Месяц,КодДохода"); ТаблицаСтрок.Сортировать("Месяц,КодДохода"); Для каждого СтрокаДоходов Из ТаблицаСтрок Цикл // Доходы ЗаполнитьЗначенияСвойств(СтруктураОтбораДохода, СтрокаДоходов); Строки = ДоходыПоВидам.НайтиСтроки(СтруктураОтбораДохода); СуммаДохода = 0; ТаблицаВычетовКДоходам.Очистить(); Для каждого ОтобраннаяСтрока Из Строки Цикл СуммаДохода = СуммаДохода + ОтобраннаяСтрока.СуммаДохода; Если ЗначениеЗаполнено(ОтобраннаяСтрока.КодВычета) И ЗначениеЗаполнено(ОтобраннаяСтрока.СуммаВычета) Тогда ЗаполнитьЗначенияСвойств(ТаблицаВычетовКДоходам.Добавить(), ОтобраннаяСтрока); КонецЕсли; КонецЦикла; СтрокаТЗ = ТаблицаДоходов.Добавить(); СтрокаТЗ.Месяц = ?(СтрДлина(СтрокаДоходов.Месяц) = 1,"0","") + СтрокаДоходов.Месяц; СтрокаТЗ.КодДоход = СоответствиеКодовДоходов[СтрокаДоходов.КодДохода]; СтрокаТЗ.СумДоход = СуммаДохода; Если ТаблицаВычетовКДоходам.Количество() > 0 Тогда ТаблицаДляСтроки = ТаблицаВычетовКДоходам.Скопировать(); ТаблицаДляСтроки.Колонки.КодВычетаСтрокой.Имя = "КодВычет"; ТаблицаДляСтроки.Колонки.СуммаВычета.Имя = "СумВычет"; ОписаниеФормата = ПроцедурыПерсонифицированногоУчета.СкопироватьСтруктуруДанных(НаборЗаписейСведенияОДоходах.НалВычССИ.Значение.ПредВычССИ); ОписаниеФормата.Значение = ТаблицаДляСтроки; СтрокаТЗ.СвСумВыч = Новый Структура("СвСумВыч", ОписаниеФормата); КонецЕсли; КонецЦикла; КонецЕсли; // Налоговые вычеты Если ВычетыПоВидам.Количество() > 0 И СтрокаИтогов.Ставка = Перечисления.НДФЛСтавки.Ставка13 Тогда НаборЗаписейВычет = НаборЗаписейСведенияОДоходах.НалВычССИ.Значение; ТаблицаВычетов = НаборЗаписейВычет.ПредВычССИ.Значение; Для каждого СтрокаВычетов Из ВычетыПоВидам Цикл // Вычеты СтрокаТЗ = ТаблицаВычетов.Добавить(); СтрокаТЗ.КодВычет = СоответствиеКодовВычетов[СтрокаВычетов.КодВычета]; СтрокаТЗ.СумВычет = СтрокаВычетов.СуммаВычета; КонецЦикла; Если (ВычетыПоВидам.Найти(Справочники.ВычетыНДФЛ.Код311, "КодВычета") <> Неопределено Или ВычетыПоВидам.Найти(Справочники.ВычетыНДФЛ.Код312, "КодВычета") <> Неопределено Или ВычетыПоВидам.Найти(Справочники.ВычетыНДФЛ.Код318, "КодВычета") <> Неопределено) Тогда Уведомление = НаборЗаписейВычет.УведИмущВыч.Значение; Уведомление.НомерУвед = СтрокаДанных.НомерУведомления; Уведомление.ДатаУвед = СтрокаДанных.ДатаУведомления; Уведомление.ИФНСУвед = СтрокаДанных.КодНалоговогоОрганаУведомления; Иначе НаборЗаписейВычет.Удалить("УведИмущВыч"); КонецЕсли; Иначе НаборЗаписейСведенияОДоходах.Удалить("НалВычССИ"); КонецЕсли; // Общая сумма дохода и налога на доходы по итогам налогового периода СтруктураСГДНалПер = НаборЗаписейСведенияОДоходах.СГДНалПер.Значение; СтруктураСГДНалПер.СумДохОбщ = СтрокаИтогов.ОбщаяСуммаДохода; СтруктураСГДНалПер.НалБаза = СтрокаИтогов.ОблагаемаяСуммаДохода; СтруктураСГДНалПер.НалИсчисл = СтрокаИтогов.Исчислено; Если ОснованиеДляПредставленияСправок = Перечисления.ОснованияДляПредставленияСправок2НДФЛ.ОНевозможностиУдержанияНДФЛ Тогда ОписаниеПолей = НаборЗаписейСведенияОДоходах.СГДНалПер.Поля; СтруктураСГДНалПер.Удалить("НалУдерж"); СтруктураСГДНалПер.Удалить("НалПеречисл"); СтруктураСГДНалПер.Удалить("НалУдержЛиш"); СтрокаОписания = ОписаниеПолей.Найти("НалУдерж","ИмяПоля"); Если СтрокаОписания <> Неопределено Тогда ОписаниеПолей.Удалить(СтрокаОписания); КонецЕсли; СтрокаОписания = ОписаниеПолей.Найти("НалПеречисл","ИмяПоля"); Если СтрокаОписания <> Неопределено Тогда ОписаниеПолей.Удалить(СтрокаОписания); КонецЕсли; СтрокаОписания = ОписаниеПолей.Найти("НалУдержЛиш","ИмяПоля"); Если СтрокаОписания <> Неопределено Тогда ОписаниеПолей.Удалить(СтрокаОписания); КонецЕсли; Иначе СтруктураСГДНалПер.НалУдерж = СтрокаИтогов.Удержано; Если НалоговыйПериод > 2010 Тогда СтруктураСГДНалПер.НалПеречисл = СтрокаИтогов.Перечислено; КонецЕсли; СтруктураСГДНалПер.НалУдержЛиш = СтрокаИтогов.ИзлишнеУдержано; КонецЕсли; СтруктураСГДНалПер.НалНеУдерж = СтрокаИтогов.Задолженность; Атрибуты = Новый Структура; Для каждого Поле Из НаборЗаписейСведенияОДоходах Цикл Если Поле.Значение.ТипЭлемента = "А" Тогда Данные = Поле.Значение.Значение; Если Поле.Значение.ТипДанных = "ЧИСЛО" Тогда Данные = Формат(Данные,"ЧЦ=" + Поле.Значение.Размер + "; ЧДЦ=" + Поле.Значение.РазрядностьДробнойЧасти + "; ЧРД=.; ЧН=; ЧГ=0") ИначеЕсли Поле.Значение.ТипДанных = "ДАТА" Тогда Если Не ЗначениеЗаполнено(Данные) Тогда Данные = "" Иначе Данные = Формат(Данные,"ДФ=dd.MM.yyyy"); КонецЕсли; КонецЕсли; Атрибуты.Вставить(Поле.Ключ, Данные); НаборЗаписейСведенияОДоходах.Удалить(Поле.Ключ); КонецЕсли; КонецЦикла; УзелСведенияОДоходах = ПроцедурыПерсонифицированногоУчета.ДобавитьУзелВДеревоXML(УзелСправки, "СведДох","", Атрибуты); ДобавитьИнформациюВДерево(УзелСведенияОДоходах, НаборЗаписейСведенияОДоходах); КонецЦикла; ОбработкаПрерыванияПользователя(); КонецЦикла; Если Отказ Тогда Возврат "" КонецЕсли; // Преобразуем дерево в строковое описание XML ПотокВыгрузкиXML = ПроцедурыПерсонифицированногоУчета.СоздатьПотокXML(); СправкиПоНДФЛ.ЗаписатьУзелДереваXMLВXML(ДеревоВыгрузки, ПотокВыгрузкиXML, "xsi", "http://www.w3.org/2001/XMLSchema-instance"); // получаем содержимое файла в виде строки СтрокаXML = ПроцедурыПерсонифицированногоУчета.ЗаписатьПотокXML(ПотокВыгрузкиXML); Возврат СтрокаXML КонецФункции // Файл2011() |
||||
Исправлено в релизе: | 2.5.46 | ||||
Код ошибки: | 10097976 | ||||
Дата публикации: | 23 января 2012 г. | ||||
Описание: | В документе "Справка 2-НДФЛ для передачи в ИФНС" при интерактивном редактировании доходов неверно подсчитываются итоги по дивидендам для физлиц, имеющих статус высококвалифицированных специалистов. | ||||
Исправлено в релизе: | 2.5.46 | ||||
Код ошибки: | 10097987 | ||||
Дата публикации: | 23 января 2012 г. | ||||
Описание: | При перенумерации справок в документе "Справка 2-НДФЛ для передачи в ИФНС" искажаются итоговые данные о доходах и налогах. | ||||
Исправлено в релизе: | 2.5.46 | ||||
Код ошибки: | 10098183 | ||||
Дата публикации: | 23 января 2012 г. | ||||
Описание: | Если справка 2-НДФЛ за 2011 год по одному сотруднику не уместилась на одну страницу, то в заголовке второй страницы ошибочно не выводится номер справки. | ||||
Исправлено в релизе: | 2.5.46 | ||||
Код ошибки: | 10098139 | ||||
Дата публикации: | 23 января 2012 г. | ||||
Описание: | В рабочем месте подготовки данных для ПФР неверно работает встроенная сверка начисленных и уплаченных взносов Расчета РСВ-1 и Описи АДВ-6-2 в том случае, когда в Расчете РСВ-1 присутствует более одной страницы раздела 2. | ||||
Способ исправления: | Заменить функцию ПроверитьКомплектДокументов() модуля обработки ПодготовкаДанныхПФР2010 следующим фрагментом: Функция ПроверитьКомплектДокументов(ПачкаАДВ62, СообщатьОбУспехе = Ложь) Экспорт ОбработкаКомментариев = глЗначениеПеременной("глОбработкаСообщений"); ДеревоСообщений = ОбработкаКомментариев.Сообщения; ДокументОбъект = СоответствиеСсылокИОбъектов[ПачкаАДВ62]; ОтчетныйПериодАДВ62 = ДокументОбъект.ОтчетныйПериод; ДеревоАДВ62 = Неопределено; РСВ1 = ДокументОбъект.РасчетСтраховыхВзносов; ПоказателиОтчета = Неопределено; // проверка отдельных документов // РСВ-1 ЕстьОшибкиРСВ1 = Ложь; Если ЗначениеЗаполнено(РСВ1) Тогда РазделПроверкиРСВ1 = ОбработкаКомментариев.ДобавитьСообщение("Проверка расчета РСВ-1", Перечисления.ВидыСообщений.Информация); ФормаРасчетаРСВ1 = ФормаРасчетаРСВ1(РСВ1); РСВ1Объект = ФормаРасчетаРСВ1.мСохраненныйДок; ЕстьОшибкиРСВ1 = Не ФормаРасчетаРСВ1.ПроверитьПоказатели(); ОтчетныйПериодРСВ1 = ПроцедурыПерсонифицированногоУчета.НачалоОтчетногоПериодаПерсучета(ФормаРасчетаРСВ1.мДатаКонцаПериодаОтчета); Если ЕстьОшибкиРСВ1 Тогда Для каждого СтрокаОшибки Из ФормаРасчетаРСВ1.ТаблицаСообщений Цикл ОбщегоНазначения.ВывестиИнформациюОбОшибке(СтрокаОшибки.Описание,,,,,РазделПроверкиРСВ1); КонецЦикла; Иначе ОбработкаКомментариев.ДобавитьСообщение("Ошибок не обнаружено.", Перечисления.ВидыСообщений.Информация, , РазделПроверкиРСВ1); КонецЕсли; Если РСВ1Объект.Организация = ДокументОбъект.Организация И Не ЕстьОшибкиРСВ1 Тогда Данные = РСВ1Объект.ДанныеОтчета.Получить(); ИмяРаздела = "ПолеТабличногоДокументаТитульный"; ИмяПоля = "НомРег1"; Значение = Неопределено; Если ТипЗнч(Данные) = Тип("Структура") И Данные.Свойство("ПоказателиОтчета",Значение) Тогда ПоказателиОтчета = Значение; Если ТипЗнч(ПоказателиОтчета) = Тип("Структура") И ПоказателиОтчета.Свойство(ИмяРаздела,Значение) Тогда Если ТипЗнч(Значение) = Тип("Структура") И Значение.Свойство(ИмяПоля,Значение) Тогда Иначе ПоказателиОтчета = Неопределено; КонецЕсли; Иначе ПоказателиОтчета = Неопределено; КонецЕсли; Иначе ПоказателиОтчета = Неопределено; КонецЕсли; Если ПоказателиОтчета = Неопределено Тогда ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не удалось разобрать данные указанного в Описи АДВ-6-2 Расчета РСВ-1!", ЕстьОшибкиРСВ1); Иначе ТитульныйЛист = ПоказателиОтчета.ПолеТабличногоДокументаТитульный; ИННизРСВ1 = ""; Для Сч = 1 По 12 Цикл ИННизРСВ1 = ИННизРСВ1 + ТитульныйЛист["ИНН" + Сч]; КонецЦикла; КППизРСВ1 = ""; Для Сч = 1 По 9 Цикл КППизРСВ1 = КППизРСВ1 + ТитульныйЛист["КПП" + Сч]; КонецЦикла; КППизРСВ1 = СтрЗаменить(КППизРСВ1, "-",""); РегНомерПФРизРСВ1 = ""; Для Сч = 1 По 14 Цикл РегНомерПФРизРСВ1 = РегНомерПФРизРСВ1 + ТитульныйЛист["НомРег" + Сч]; КонецЦикла; Если ОтчетныйПериодРСВ1 < ПроведениеРасчетов.ДатаСниженияТарифовСтраховыхВзносов() Тогда // за 2010 и 2011 годы НачисленоРСВ1НаСтраховую = 0; НачисленоРСВ1НаНакопительную = 0; ЗадолженностьНаСтраховуюНаНачалоПериода = 0; ЗадолженностьНаНакопительнуюНаНачалоПериода = 0; ЗадолженностьНаСтраховуюНаКонецПериода = 0; ЗадолженностьНаНакопительнуюНаКонецПериода = 0; УплаченоРСВ1НаСтраховую = 0; УплаченоРСВ1НаНакопительную = 0; ОбъектОбложенияРСВ1 = 0; ОблагаемаяБазаРСВ1 = 0; Разделы = Данные.ДанныеМногостраничныхРазделов.Раздел12; Для каждого ЛистДанных Из Разделы Цикл ПоказателиРазделов = ЛистДанных.Данные; НачисленоРСВ1НаСтраховую = НачисленоРСВ1НаСтраховую + ПоказателиРазделов.П000100011403; НачисленоРСВ1НаНакопительную = НачисленоРСВ1НаНакопительную + ПоказателиРазделов.П000100011404; ЗадолженностьНаСтраховуюНаНачалоПериода = ЗадолженностьНаСтраховуюНаНачалоПериода + ПоказателиРазделов.П000100010003 + (ПоказателиРазделов.П000100011003 - ПоказателиРазделов.П000100011403) - (ПоказателиРазделов.П000100014003 - ПоказателиРазделов.П000100014403); ЗадолженностьНаНакопительнуюНаНачалоПериода = ЗадолженностьНаНакопительнуюНаНачалоПериода + ПоказателиРазделов.П000100010004 + (ПоказателиРазделов.П000100011004 - ПоказателиРазделов.П000100011404) - (ПоказателиРазделов.П000100014004 - ПоказателиРазделов.П000100014404); ЗадолженностьНаСтраховуюНаКонецПериода = ЗадолженностьНаСтраховуюНаКонецПериода + ПоказателиРазделов.П000100015003; ЗадолженностьНаНакопительнуюНаКонецПериода = ЗадолженностьНаНакопительнуюНаКонецПериода + ПоказателиРазделов.П000100015004; УплаченоРСВ1НаСтраховую = + ПоказателиРазделов.П000100014403; УплаченоРСВ1НаНакопительную = + ПоказателиРазделов.П000100014404; ОбъектОбложенияРСВ1 = ОбъектОбложенияРСВ1 + ПоказателиРазделов.П000200020003 - ПоказателиРазделов.П000200021003 - ПоказателиРазделов.П000200021403 - ПоказателиРазделов.П000200021503; ОблагаемаяБазаРСВ1 = ОблагаемаяБазаРСВ1 + ПоказателиРазделов.П000200022003 + ПоказателиРазделов.П000200022103; КонецЦикла; УплаченоРСВ1НаСтраховую = УплаченоРСВ1НаСтраховую - ?(ЗадолженностьНаСтраховуюНаКонецПериода < 0, -ЗадолженностьНаСтраховуюНаКонецПериода, 0) + ?(ЗадолженностьНаСтраховуюНаНачалоПериода < 0, -ЗадолженностьНаСтраховуюНаНачалоПериода,0); УплаченоРСВ1НаНакопительную = УплаченоРСВ1НаНакопительную - ?(ЗадолженностьНаНакопительнуюНаКонецПериода < 0, -ЗадолженностьНаНакопительнуюНаКонецПериода, 0) + ?(ЗадолженностьНаНакопительнуюНаНачалоПериода < 0, -ЗадолженностьНаНакопительнуюНаНачалоПериода,0); Раздел3 = ПоказателиОтчета.ПолеТабличногоДокументаРаздел30; ОбъектОбложенияИнвалидовРСВ1 = Раздел3.П000300030003 - Раздел3.П000300031003 - Раздел3.П000300031403 - Раздел3.П000300031503; ОблагаемаяБазаИнвалидовРСВ1 = Раздел3.П000300032003 + Раздел3.П000300032103; Иначе НачисленоРСВ1НаСтраховую = 0; НачисленоРСВ1НаНакопительную = 0; УплаченоРСВ1НаСтраховую = 0; УплаченоРСВ1НаНакопительную = 0; ОбъектОбложенияРСВ1 = 0; ОблагаемаяБазаРСВ1 = 0; ОбъектОбложенияИнвалидовРСВ1 = 0; ОблагаемаяБазаИнвалидовРСВ1 = 0; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; // АДВ-6-2 ЕстьОшибкиАДВ62 = Ложь; ДокументОбъект.ПроверитьПравильностьЗаполненияДокумента(ЕстьОшибкиАДВ62); Если Не ЕстьОшибкиАДВ62 Тогда ЕстьОшибки = Ложь; ДеревоАДВ62 = ПроцедурыПерсонифицированногоУчета.ПреобразоватьВДеревоXML(РегламентированнаяОтчетность.ПолучитьТекстФайла(ДокументОбъект, ЕстьОшибки)); Если ДеревоАДВ62 <> Неопределено Тогда ДеревоАДВ62 = ДеревоАДВ62.Строки.Найти("ФайлПФР","Имя"); КонецЕсли; Если ДеревоАДВ62 <> Неопределено Тогда ДеревоАДВ62 = ДеревоАДВ62.Строки.Найти("ПачкаВходящихДокументов","Имя"); КонецЕсли; Если ДеревоАДВ62 <> Неопределено Тогда СтрокаОписи = ДеревоАДВ62.Строки.Найти("ВХОДЯЩАЯ_ОПИСЬ_ПО_СТРАХОВЫМ_ВЗНОСАМ", "Имя"); ДеревоАДВ62 = ДеревоАДВ62.Строки.Найти("ОПИСЬ_СВЕДЕНИЙ_ПЕРЕДАВАЕМЫХ_СТРАХОВАТЕЛЕМ", "Имя"); КонецЕсли; Если ДеревоАДВ62 <> Неопределено Тогда // ДеревоАДВ62 теперь содержит только тег ОПИСЬ_СВЕДЕНИЙ_ПЕРЕДАВАЕМЫХ_СТРАХОВАТЕЛЕМ ИнформацияОПачкеАДВ62 = ПроцедурыПерсонифицированногоУчета.ДанныеОписиАДВ_6_3(СтрокаОписи); СтрокиИсходныхПачек = ДеревоАДВ62.Строки.НайтиСтроки(Новый Структура("Имя","СведенияОбИсходныхСведениях")); ВсегоКатегорийАДВ62 = 0; НачисленоАДВ62НаСтраховую = 0; НачисленоАДВ62НаНакопительную = 0; УплаченоАДВ62НаСтраховую = 0; УплаченоАДВ62НаНакопительную = 0; МассивКатегорий = Новый Массив; Для каждого СтрокаДерева Из СтрокиИсходныхПачек Цикл Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО КАТЕГОРИИ" Тогда ВсегоКатегорийАДВ62 = ВсегоКатегорийАДВ62 + 1; МассивКатегорий.Добавить(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "КодКатегории")); КонецЕсли; Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО СТРАХОВАТЕЛЮ" Тогда СтрокаНаСтраховую = СтрокаДерева.Строки.Найти("СуммаВзносовНаСтраховую", "Имя"); СтрокаНаНакопительную = СтрокаДерева.Строки.Найти("СуммаВзносовНаНакопительную", "Имя"); Если СтрокаНаСтраховую <> Неопределено Тогда НачисленоАДВ62НаСтраховую = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "Начислено")); УплаченоАДВ62НаСтраховую = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "Уплачено")); КонецЕсли; Если СтрокаНаНакопительную <> Неопределено Тогда НачисленоАДВ62НаНакопительную = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаНакопительную, "Начислено")); УплаченоАДВ62НаНакопительную = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаНакопительную, "Уплачено")); КонецЕсли; КонецЕсли; КонецЦикла; СтрокиКорректирующихПачек = ДеревоАДВ62.Строки.НайтиСтроки(Новый Структура("Имя","СведенияОкорректирующихСведениях")); Для каждого СтрокаДерева Из СтрокиКорректирующихПачек Цикл Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО КАТЕГОРИИ" Тогда КодКатегории = ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "КодКатегории"); Если МассивКатегорий.Найти(КодКатегории) = Неопределено Тогда ВсегоКатегорийАДВ62 = ВсегоКатегорийАДВ62 + 1; КонецЕсли; КонецЕсли; Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО СТРАХОВАТЕЛЮ" Тогда СтрокаНаСтраховую = СтрокаДерева.Строки.Найти("СуммаВзносовНаСтраховую", "Имя"); СтрокаНаНакопительную = СтрокаДерева.Строки.Найти("СуммаВзносовНаНакопительную", "Имя"); Если СтрокаНаСтраховую <> Неопределено Тогда ДоУплачено = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "ДоуплаченоНаСтраховую")); УплаченоАДВ62НаСтраховую = УплаченоАДВ62НаСтраховую - ?(ДоУплачено < 0, -ДоУплачено, 0); КонецЕсли; Если СтрокаНаНакопительную <> Неопределено Тогда ДоУплачено = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "ДоуплаченоНаНакопительную")); УплаченоАДВ62НаНакопительную = УплаченоАДВ62НаНакопительную - ?(ДоУплачено < 0, -ДоУплачено, 0); КонецЕсли; КонецЕсли; КонецЦикла; Иначе ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не удалось разобрать сохраненный файл Описи АДВ-6-2!", ЕстьОшибкиАДВ62); КонецЕсли; КонецЕсли; УдалитьПустойЗаголовок(ДеревоСообщений); // СЗВ-6-1,2 ЕстьОшибкиСЗВ6 = Ложь; ЕстьОшибкиРасчетаСЗВ6 = Ложь; Для каждого ПачкаСЗВ6 Из ДокументОбъект.ПачкиДокументов Цикл СоответствиеСсылокИОбъектов[ПачкаСЗВ6.ДокументПачка].ПроверитьПравильностьЗаполненияДокумента(ЕстьОшибкиСЗВ6); КонецЦикла; Если Не ПодобранПолныйКомплектПринятыхПФРДокументов() Тогда ПропущенныеПериоды = ""; Для Каждого РасчетныйПериод Из МассивПрошлыхПериодов Цикл Если ПачкиДокументов.Найти(РасчетныйПериод, "ОтчетныйПериод") = Неопределено Тогда ПропущенныеПериоды = ПропущенныеПериоды + ПроцедурыПерсонифицированногоУчета.ОписаниеОтчетногоПериодаДляПоказа(РасчетныйПериод) + ", " КонецЕсли; КонецЦикла; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Подобраны не все переданные ранее в ПФР сведения! Отсутствуют сведения за периоды: " + Лев(ПропущенныеПериоды, СтрДлина(ПропущенныеПериоды)-2), ЕстьОшибкиРасчетаСЗВ6); КонецЕсли; // СЗВ-6-3 ЕстьОшибкиСЗВ63 = Ложь; СоответствиеСсылокИОбъектовСЗВ63 = Новый Соответствие; СоответствиеСсылокИФайловСЗВ63 = Новый Соответствие; ВыборкаСЗВ63 = СЗВ63ЗаГод(ДокументОбъект); Если ВыборкаСЗВ63 <> Неопределено Тогда Пока ВыборкаСЗВ63.Следующий() Цикл ОбъектСЗВ63 = ВыборкаСЗВ63.Ссылка.ПолучитьОбъект(); СоответствиеСсылокИОбъектовСЗВ63.Вставить(ВыборкаСЗВ63.Ссылка, ОбъектСЗВ63); ЕстьОшибки = Ложь; ОбъектСЗВ63.ПроверитьПравильностьЗаполненияДокумента(ЕстьОшибки); Если ЕстьОшибки Тогда ЕстьОшибкиСЗВ63 = Истина; Иначе ДеревоСЗВ63 = ПроцедурыПерсонифицированногоУчета.ПреобразоватьВДеревоXML(РегламентированнаяОтчетность.ПолучитьТекстФайла(ОбъектСЗВ63, ЕстьОшибки)); Если ДеревоСЗВ63 <> Неопределено Тогда ДеревоСЗВ63 = ДеревоСЗВ63.Строки.Найти("ФайлПФР","Имя"); КонецЕсли; Если ДеревоСЗВ63 <> Неопределено Тогда ДеревоСЗВ63 = ДеревоСЗВ63.Строки.Найти("ПачкаВходящихДокументов","Имя"); КонецЕсли; Если ДеревоСЗВ63 <> Неопределено Тогда // ДеревоСЗВ63 теперь содержит только тег ПачкаВходящихДокументов СоответствиеСсылокИФайловСЗВ63.Вставить(ВыборкаСЗВ63.Ссылка, ДеревоСЗВ63); Иначе ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не удалось разобрать сохраненный файл формы СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + "!", ЕстьОшибкиСЗВ63); КонецЕсли; КонецЕсли; УдалитьПустойЗаголовок(ДеревоСообщений); КонецЦикла; КонецЕсли; // проверка полноты комплекта РазделПроверкиКомплекта = Неопределено; Если Не ЗначениеЗаполнено(РСВ1) Тогда РазделПроверкиКомплекта = ОбработкаКомментариев.ДобавитьСообщение("Проверка полноты комплекта представляемых документов", Перечисления.ВидыСообщений.Информация); ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не указан подаваемый вместе с Описью АДВ-6-2 Расчет РСВ-1!", ЕстьОшибкиРСВ1,,,,РазделПроверкиКомплекта); КонецЕсли; Если ПроцедурыПерсонифицированногоУчета.ОкончаниеОтчетногоПериодаПерсучета(ОтчетныйПериодАДВ62) = КонецГода(ОтчетныйПериодАДВ62) И ВыборкаСЗВ63.Количество() = 0 Тогда Если РазделПроверкиКомплекта = Неопределено Тогда РазделПроверкиКомплекта = ОбработкаКомментариев.ДобавитьСообщение("Проверка полноты комплекта представляемых документов", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не подготовлены подаваемые вместе с Описью АДВ-6-2 сведения СЗВ-6-3!", ЕстьОшибкиСЗВ63,,,,РазделПроверкиКомплекта); КонецЕсли; // перекрестная проверка документов ЕстьОшибкиРСВ1_СЗВ63 = Ложь; ЕстьОшибкиАДВ62_СЗВ63 = Ложь; ЕстьОшибкиАДВ62_РСВ1 = Ложь; // дополнительные проверки для отчетного периода "Календарный год" Если Не ЕстьОшибкиСЗВ63 И ПроцедурыПерсонифицированногоУчета.ОкончаниеОтчетногоПериодаПерсучета(ОтчетныйПериодАДВ62) = КонецГода(ОтчетныйПериодАДВ62) Тогда Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; ПроцедурыПерсонифицированногоУчета.ПоместитьВМенеджерСоответствиеТарифаКатегории(Запрос.МенеджерВременныхТаблиц); Запрос.Текст = "ВЫБРАТЬ | ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка |ПОМЕСТИТЬ ВТФормыСЗВ_6_12 |ИЗ | Документ.ПередачаСЗВ4вПФР.ПачкиДокументов КАК ПередачаСЗВ4вПФРПачкиДокументов |ГДЕ | ПередачаСЗВ4вПФРПачкиДокументов.Ссылка = &Ссылка | И ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СведенияПринятыеПФР.КомплектДокументов КАК Опись |ПОМЕСТИТЬ ВТПредыдущиеОписиАДВ62 |ИЗ | РегистрСведений.СведенияПринятыеПФР КАК СведенияПринятыеПФР |ГДЕ | СведенияПринятыеПФР.Организация = &Организация | И ГОД(СведенияПринятыеПФР.ОтчетныйПериодПерсучетаПФР) = &ОтчетныйГод | И СведенияПринятыеПФР.ОтчетныйПериодПерсучетаПФР <> &ОтчетныйПериод |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка |ПОМЕСТИТЬ ВТПредыдущиеФормыСЗВ_6_12 |ИЗ | Документ.ПередачаСЗВ4вПФР.ПачкиДокументов КАК ПередачаСЗВ4вПФРПачкиДокументов |ГДЕ | ПередачаСЗВ4вПФРПачкиДокументов.Ссылка В | (ВЫБРАТЬ | ПредыдущиеОписиАДВ62.Опись | ИЗ | ВТПредыдущиеОписиАДВ62 КАК ПредыдущиеОписиАДВ62) | И ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ <> ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ОТМЕНЯЮЩАЯ) | И (ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ) | ИЛИ ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.КОРРЕКТИРУЮЩАЯ) | И ГОД(ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.КорректируемыйПериод) = &ОтчетныйГод) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МИНИМУМ(СоответствиеТарифаКатегории.ВидТарифаСтраховыхВзносов) КАК ВидТарифаСтраховыхВзносов, | СоответствиеТарифаКатегории.КатегорияЗастрахованныхЛиц |ПОМЕСТИТЬ ВТТарифПоКатегории |ИЗ | ВТСоответствиеТарифаКатегории КАК СоответствиеТарифаКатегории |ГДЕ | &ОтчетныйГод МЕЖДУ СоответствиеТарифаКатегории.ГодС И СоответствиеТарифаКатегории.ГодПо | |СГРУППИРОВАТЬ ПО | СоответствиеТарифаКатегории.КатегорияЗастрахованныхЛиц |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Застрахованные.Ссылка, | Застрахованные.ФизЛицо, | Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц, | Застрахованные.СтраховойНомерПФР, | Застрахованные.Фамилия, | Застрахованные.Имя, | Застрахованные.Отчество |ПОМЕСТИТЬ ВТФормыСЗВ_6_3 |ИЗ | Документ.СведенияОНачисленномЗаработкеСЗВ63.СотрудникиОрганизации КАК Застрахованные |ГДЕ | Застрахованные.Ссылка.ОписьАДВ62 = &Ссылка | И Застрахованные.Ссылка.ОтчетныйПериод = &ОтчетныйГод | И Застрахованные.Ссылка.Организация = &Организация | И Застрахованные.Ссылка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Застрахованные.Ссылка, | Застрахованные.НомерСтроки, | Застрахованные.ФизЛицо, | Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц, | Застрахованные.НачисленоСтраховая + Застрахованные.НачисленоНакопительная КАК НачисленоВзносов, | Застрахованные.СтраховойНомерПФР, | Застрахованные.Фамилия, | Застрахованные.Имя, | Застрахованные.Отчество |ПОМЕСТИТЬ ВТЗастрахованныеСЗВ_6_12 |ИЗ | Документ.СведенияОТрудовомСтажеИЗаработкеСЗВ4.РаботникиОрганизации КАК Застрахованные |ГДЕ | Застрахованные.Ссылка В | (ВЫБРАТЬ | ФормыСЗВ_6_12.ДокументПачка | ИЗ | ВТФормыСЗВ_6_12 КАК ФормыСЗВ_6_12) | И (Застрахованные.НачисленоСтраховая <> 0 | ИЛИ Застрахованные.НачисленоНакопительная <> 0) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СУММА(ДанныеДокументов.НачисленоВзносов) КАК НачисленоВзносов, | ДанныеДокументов.ФизЛицо, | ДанныеДокументов.КатегорияЗастрахованныхЛиц, | ДанныеДокументов.СтраховойНомерПФР, | ДанныеДокументов.Фамилия, | ДанныеДокументов.Имя, | ДанныеДокументов.Отчество |ПОМЕСТИТЬ ВТЗастрахованныеСЗВ_6_12заГод |ИЗ | (ВЫБРАТЬ | Застрахованные.НачисленоСтраховая + Застрахованные.НачисленоНакопительная КАК НачисленоВзносов, | Застрахованные.ФизЛицо КАК ФизЛицо, | Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц КАК КатегорияЗастрахованныхЛиц, | Застрахованные.СтраховойНомерПФР КАК СтраховойНомерПФР, | Застрахованные.Фамилия КАК Фамилия, | Застрахованные.Имя КАК Имя, | Застрахованные.Отчество КАК Отчество | ИЗ | Документ.СведенияОТрудовомСтажеИЗаработкеСЗВ4.РаботникиОрганизации КАК Застрахованные | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОТрудовомСтажеИЗаработкеСЗВ4.РаботникиОрганизации КАК КорректирующиеСведения | ПО Застрахованные.ФизЛицо = КорректирующиеСведения.ФизЛицо | И Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц = КорректирующиеСведения.Ссылка.КатегорияЗастрахованныхЛиц | И (КорректирующиеСведения.Ссылка В | (ВЫБРАТЬ | ФормыСЗВ_6_12.ДокументПачка | ИЗ | ВТПредыдущиеФормыСЗВ_6_12 КАК ФормыСЗВ_6_12 | ГДЕ | ФормыСЗВ_6_12.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.КОРРЕКТИРУЮЩАЯ))) | И (ВЫБОР | КОГДА Застрахованные.Ссылка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ) | ТОГДА Застрахованные.Ссылка.ОтчетныйПериод | ИНАЧЕ Застрахованные.Ссылка.КорректируемыйПериод | КОНЕЦ = КорректирующиеСведения.Ссылка.КорректируемыйПериод) | ГДЕ | Застрахованные.Ссылка В | (ВЫБРАТЬ | ФормыСЗВ_6_12.ДокументПачка | ИЗ | ВТПредыдущиеФормыСЗВ_6_12 КАК ФормыСЗВ_6_12) | И (Застрахованные.НачисленоСтраховая <> 0 | ИЛИ Застрахованные.НачисленоНакопительная <> 0) | И КорректирующиеСведения.ФизЛицо ЕСТЬ NULL | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ЗастрахованныеПоследнегоКвартала.НачисленоВзносов, | ЗастрахованныеПоследнегоКвартала.ФизЛицо, | ЗастрахованныеПоследнегоКвартала.КатегорияЗастрахованныхЛиц, | ЗастрахованныеПоследнегоКвартала.СтраховойНомерПФР, | ЗастрахованныеПоследнегоКвартала.Фамилия, | ЗастрахованныеПоследнегоКвартала.Имя, | ЗастрахованныеПоследнегоКвартала.Отчество | ИЗ | ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеПоследнегоКвартала) КАК ДанныеДокументов | |СГРУППИРОВАТЬ ПО | ДанныеДокументов.ФизЛицо, | ДанныеДокументов.КатегорияЗастрахованныхЛиц, | ДанныеДокументов.СтраховойНомерПФР, | ДанныеДокументов.Фамилия, | ДанныеДокументов.Имя, | ДанныеДокументов.Отчество |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Застрахованные.ФизЛицо, | Застрахованные.КатегорияЗастрахованныхЛиц, | СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.ОблагаетсяВзносами, 0)) * СтавкиТарифа.ПФР / 100 КАК ВзносовКНачислению |ПОМЕСТИТЬ ВТВзносыПоЗаработкуСЗВ_6_3 |ИЗ | ВТФормыСЗВ_6_3 КАК Застрахованные | ЛЕВОЕ СОЕДИНЕНИЕ ВТТарифПоКатегории КАК ТарифПоКатегории | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТарифСтраховыхВзносов.СрезПоследних(&КонецГода, ) КАК СтавкиТарифа | ПО ТарифПоКатегории.ВидТарифаСтраховыхВзносов = СтавкиТарифа.ВидТарифа | ПО Застрахованные.КатегорияЗастрахованныхЛиц = ТарифПоКатегории.КатегорияЗастрахованныхЛиц | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОНачисленномЗаработкеСЗВ63.СведенияОЗаработке КАК ЗаработокПоМесяцам | ПО Застрахованные.Ссылка = ЗаработокПоМесяцам.Ссылка | И Застрахованные.ФизЛицо = ЗаработокПоМесяцам.ФизЛицо | И (ЗаработокПоМесяцам.Месяц В (10, 11, 12)) | |СГРУППИРОВАТЬ ПО | Застрахованные.ФизЛицо, | Застрахованные.КатегорияЗастрахованныхЛиц, | СтавкиТарифа.ПФР |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Застрахованные.ФизЛицо, | Застрахованные.КатегорияЗастрахованныхЛиц, | СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.ОблагаетсяВзносами, 0)) * СтавкиТарифа.ПФР / 100 КАК ВзносовКНачислению |ПОМЕСТИТЬ ВТВзносыПоЗаработкуСЗВ_6_3заГод |ИЗ | ВТФормыСЗВ_6_3 КАК Застрахованные | ЛЕВОЕ СОЕДИНЕНИЕ ВТТарифПоКатегории КАК ТарифПоКатегории | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТарифСтраховыхВзносов.СрезПоследних(&КонецГода, ) КАК СтавкиТарифа | ПО ТарифПоКатегории.ВидТарифаСтраховыхВзносов = СтавкиТарифа.ВидТарифа | ПО Застрахованные.КатегорияЗастрахованныхЛиц = ТарифПоКатегории.КатегорияЗастрахованныхЛиц | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОНачисленномЗаработкеСЗВ63.СведенияОЗаработке КАК ЗаработокПоМесяцам | ПО Застрахованные.Ссылка = ЗаработокПоМесяцам.Ссылка | И Застрахованные.ФизЛицо = ЗаработокПоМесяцам.ФизЛицо | |СГРУППИРОВАТЬ ПО | Застрахованные.ФизЛицо, | Застрахованные.КатегорияЗастрахованныхЛиц, | СтавкиТарифа.ПФР |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗастрахованныеСЗВ_6_12.ФизЛицо, | ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц КАК КатегорияЗастрахованныхЛиц, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению < 0 | ТОГДА Заработок.ВзносовКНачислению - ЗастрахованныеСЗВ_6_12.НачисленоВзносов | ИНАЧЕ ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению | КОНЕЦ КАК РасхождениеВоВзносах, | Заработок.ВзносовКНачислению, | ЗастрахованныеСЗВ_6_12.НачисленоВзносов, | ЗастрахованныеСЗВ_6_12.Фамилия + "" "" + ЗастрахованныеСЗВ_6_12.Имя + "" "" + ЗастрахованныеСЗВ_6_12.Отчество КАК ФИОЗастрахованного |ИЗ | ВТЗастрахованныеСЗВ_6_12заГод КАК ЗастрахованныеСЗВ_6_12 | ЛЕВОЕ СОЕДИНЕНИЕ ВТВзносыПоЗаработкуСЗВ_6_3заГод КАК Заработок | ПО ЗастрахованныеСЗВ_6_12.ФизЛицо = Заработок.ФизЛицо | И ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц = Заработок.КатегорияЗастрахованныхЛиц |ГДЕ | Заработок.ФизЛицо ЕСТЬ НЕ NULL | |УПОРЯДОЧИТЬ ПО | ФИОЗастрахованного, | КатегорияЗастрахованныхЛиц |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВЫБОР | КОГДА Застрахованные.КатегорияЗастрахованныхЛиц = ЗНАЧЕНИЕ(Перечисление.КатегорииЗастрахованныхЛицПФР.ООИ) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЭтоДоходыИнвалидов, | СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.ОблагаетсяВзносами, 0)) КАК ОблагаемаяБаза, | СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.Заработок, 0)) КАК Заработок, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Застрахованные.Ссылка) КАК КоличествоПачек |ИЗ | ВТФормыСЗВ_6_3 КАК Застрахованные | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОНачисленномЗаработкеСЗВ63.СведенияОЗаработке КАК ЗаработокПоМесяцам | ПО Застрахованные.Ссылка = ЗаработокПоМесяцам.Ссылка | И Застрахованные.ФизЛицо = ЗаработокПоМесяцам.ФизЛицо | |СГРУППИРОВАТЬ ПО | ВЫБОР | КОГДА Застрахованные.КатегорияЗастрахованныхЛиц = ЗНАЧЕНИЕ(Перечисление.КатегорииЗастрахованныхЛицПФР.ООИ) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗастрахованныеСЗВ_6_12.ФизЛицо, | ЗастрахованныеСЗВ_6_12.Ссылка, | ЗастрахованныеСЗВ_6_12.Ссылка.НомерПачки КАК НомерПачкиСЗВ6_12, | ЗастрахованныеСЗВ_6_12.НомерСтроки КАК НомерСтрокиСЗВ6_12, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению < 0 | ТОГДА Заработок.ВзносовКНачислению - ЗастрахованныеСЗВ_6_12.НачисленоВзносов | ИНАЧЕ ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению | КОНЕЦ КАК РасхождениеВоВзносах, | Заработок.ВзносовКНачислению, | ЗастрахованныеСЗВ_6_12.НачисленоВзносов |ИЗ | ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеСЗВ_6_12 | ЛЕВОЕ СОЕДИНЕНИЕ ВТВзносыПоЗаработкуСЗВ_6_3 КАК Заработок | ПО ЗастрахованныеСЗВ_6_12.ФизЛицо = Заработок.ФизЛицо | И ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц = Заработок.КатегорияЗастрахованныхЛиц |ГДЕ | Заработок.ФизЛицо ЕСТЬ НЕ NULL | |УПОРЯДОЧИТЬ ПО | НомерПачкиСЗВ6_12, | НомерСтрокиСЗВ6_12 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗастрахованныеСЗВ_6_12.ФизЛицо, | ЗастрахованныеСЗВ_6_12.Ссылка, | ЗастрахованныеСЗВ_6_12.Ссылка.НомерПачки КАК НомерПачкиСЗВ6_12, | ЗастрахованныеСЗВ_6_12.НомерСтроки КАК НомерСтрокиСЗВ6_12, | ФормыСЗВ_6_3.Ссылка.НомерПачки КАК НомерПачкиСЗВ_6_3, | ВЫБОР | КОГДА ФормыСЗВ_6_3.Ссылка ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ОтсуствуетФормаСЗВ63, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.СтраховойНомерПФР <> ФормыСЗВ_6_3.СтраховойНомерПФР | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК НеСовпадаетСНИЛС, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.Имя <> ФормыСЗВ_6_3.Имя | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК НеСовпадаетИмя, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.Отчество <> ФормыСЗВ_6_3.Отчество | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК НеСовпадаетОтчество, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.Фамилия <> ФормыСЗВ_6_3.Фамилия | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК НеСовпадаетФамилия, | ЗастрахованныеСЗВ_6_12.Фамилия + "" "" + ЗастрахованныеСЗВ_6_12.Имя + "" "" + ЗастрахованныеСЗВ_6_12.Отчество КАК ФИОЗастрахованного |ИЗ | ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеСЗВ_6_12 | ЛЕВОЕ СОЕДИНЕНИЕ ВТФормыСЗВ_6_3 КАК ФормыСЗВ_6_3 | ПО ЗастрахованныеСЗВ_6_12.ФизЛицо = ФормыСЗВ_6_3.ФизЛицо | И ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц = ФормыСЗВ_6_3.КатегорияЗастрахованныхЛиц | |УПОРЯДОЧИТЬ ПО | НомерПачкиСЗВ6_12, | НомерСтрокиСЗВ6_12, | НомерПачкиСЗВ_6_3 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЕСТЬNULL(ЗастрахованныеСЗВ_6_12.Количество, 0) КАК КоличествоЗастрахованныхСЗВ_6_12, | ЕСТЬNULL(ФормыСЗВ_6_3.Количество, 0) КАК КоличествоФормСЗВ_6_3 |ИЗ | (ВЫБРАТЬ | 1 КАК Поле) КАК СтрокаЗапроса | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | СУММА(1) КАК Количество | ИЗ | ВТФормыСЗВ_6_3 КАК ФормыСЗВ_6_3) КАК ФормыСЗВ_6_3 | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | СУММА(1) КАК Количество | ИЗ | ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеСЗВ_6_12) КАК ЗастрахованныеСЗВ_6_12 | ПО (ИСТИНА)"; Запрос.УстановитьПараметр("Ссылка", ПачкаАДВ62); Запрос.УстановитьПараметр("Организация", ДокументОбъект.Организация); Запрос.УстановитьПараметр("ОтчетныйГод", Год(ОтчетныйПериодАДВ62)); Запрос.УстановитьПараметр("ОтчетныйПериод", ОтчетныйПериодАДВ62); Запрос.УстановитьПараметр("КонецГода", КонецГода(ОтчетныйПериодАДВ62)); Результаты = Запрос.ВыполнитьПакет(); ВсегоРезультатов = Результаты.Количество(); // Сверка отдельных реквизитов документов персонифицированного учета «Сведений о сумме выплат и иных вознаграждений, начисляемых плательщиками страховых взносов - страхователями в пользу физического лица» (формы СЗВ-6-3, АДВ-6-4) и Расчета по начисленным и уплаченным страховым взносам (форма РСВ-1) РазделСверкиРСВ1иСЗВ63 = Неопределено; Если Не ЕстьОшибкиРСВ1 И ОтчетныйПериодРСВ1 = ОтчетныйПериодАДВ62 И РСВ1Объект.Организация = ДокументОбъект.Организация И ОтчетныйПериодРСВ1 < ПроведениеРасчетов.ДатаСниженияТарифовСтраховыхВзносов() Тогда ОбъектОбложенияСЗВ63 = 0; ОблагаемаяБазаСЗВ63 = 0; ОбъектОбложенияИнвалидовСЗВ63 = 0; ОблагаемаяБазаИнвалидовСЗВ63 = 0; КоличествоПачекСЗВ63 = 0; КоличествоПачекИнвалидовСЗВ63 = 0; ВыборкаСверкиДоходов = Результаты[ВсегоРезультатов - 4].Выбрать(); Пока ВыборкаСверкиДоходов.Следующий() Цикл Если ВыборкаСверкиДоходов.ЭтоДоходыИнвалидов Тогда КоличествоПачекИнвалидовСЗВ63 = ВыборкаСверкиДоходов.КоличествоПачек; ОбъектОбложенияИнвалидовСЗВ63 = ВыборкаСверкиДоходов.Заработок; ОблагаемаяБазаИнвалидовСЗВ63 = ВыборкаСверкиДоходов.ОблагаемаяБаза; Иначе КоличествоПачекСЗВ63 = ВыборкаСверкиДоходов.КоличествоПачек; ОбъектОбложенияСЗВ63 = ВыборкаСверкиДоходов.Заработок; ОблагаемаяБазаСЗВ63 = ВыборкаСверкиДоходов.ОблагаемаяБаза; КонецЕсли; КонецЦикла; Если ОбъектОбложенияСЗВ63 + 0.5 * КоличествоПачекСЗВ63 < ОбъектОбложенияРСВ1 Тогда РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма заработка, указанная в формах СЗВ-6-3" + ?(ОбъектОбложенияИнвалидовСЗВ63 =0, "", " (за исключением форм по категории ООИ)") + ", меньше облагаемых взносами в ПФР сумм, указанных в разделе 2 Расчета РСВ-1!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63); КонецЕсли; Разность = Макс(ОблагаемаяБазаСЗВ63 - ОблагаемаяБазаРСВ1, ОблагаемаяБазаРСВ1 - ОблагаемаяБазаСЗВ63); ДопустимоеРасхождение = Окр(КоличествоПачекСЗВ63/2); Если Разность > ДопустимоеРасхождение Тогда Если РазделСверкиРСВ1иСЗВ63 = Неопределено Тогда РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбработкаКомментариев.ДобавитьСообщение("За отчетный период сформировано " + КоличествоПачекСЗВ63 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("пачка", "пачки", "пачек", КоличествоПачекСЗВ63) + " форм СЗВ-6-3. Допустимое различие показателей Расчета РСВ-1 и форм СЗВ-6-3 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иСЗВ63); ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма облагаемой базы, указанная в формах СЗВ-6-3" + ?(ОбъектОбложенияИнвалидовСЗВ63 =0, "", " (за исключением форм по категории ООИ)") + ", и сумма показателей колонки ""Всего с начала расчетного периода"" по строкам 220 и 221 раздела 2 Расчета РСВ-1 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63); КонецЕсли; Если ОбъектОбложенияИнвалидовСЗВ63 + 0.5 * КоличествоПачекИнвалидовСЗВ63 < ОбъектОбложенияИнвалидовРСВ1 Тогда Если РазделСверкиРСВ1иСЗВ63 = Неопределено Тогда РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма заработка, указанная в формах СЗВ-6-3 по категории ООИ, меньше облагаемых взносами в ПФР сумм, указанных в разделе 3 Расчета РСВ-1!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63); КонецЕсли; Разность = Макс(ОблагаемаяБазаИнвалидовСЗВ63 - ОблагаемаяБазаИнвалидовРСВ1, ОблагаемаяБазаИнвалидовРСВ1 - ОблагаемаяБазаИнвалидовСЗВ63); Если Разность > 1 Тогда Если РазделСверкиРСВ1иСЗВ63 = Неопределено Тогда РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма облагаемой базы, указанная в формах СЗВ-6-3 по категории ООИ, и сумма показателей колонки ""Всего с начала расчетного периода"" по строкам 320 и 321 раздела 3 Расчета РСВ-1 различаются более чем на 1 руб.!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63); КонецЕсли; КонецЕсли; // Сверка «Сведений о сумме выплат и иных вознаграждений, начисляемых плательщиками страховых взносов - страхователями в пользу физического лица» (по форме СЗВ-6-3, АДВ-6-4) со сведениями персонифицированного учета о стаже и начисленным и уплаченным страховым взносам (по форме АДВ-6-2, СЗВ-6-2, СЗВ-6-1) РазделСверкиАДВ62иСЗВ63 = Неопределено; Если Не ЕстьОшибкиАДВ62 И Не ЕстьОшибкиСЗВ6 Тогда Для каждого Элемент Из СоответствиеСсылокИОбъектовСЗВ63 Цикл ОбъектСЗВ63 = Элемент.Значение; Если ОбъектСЗВ63.Организация <> ДокументОбъект.Организация Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Пачка СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " оформлена на " + ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("другую организацию!"), ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); Иначе ДеревоСЗВ63 = СоответствиеСсылокИФайловСЗВ63[Элемент.Ключ]; ДеревоСЗВ63 = ДеревоСЗВ63.Строки.Найти("ВХОДЯЩАЯ_ОПИСЬ_ПО_СУММАМ_ВЫПЛАТ", "Имя"); Если СокрЛП(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(ДеревоСЗВ63, "ИНН")) <> СокрЛП(ИнформацияОПачкеАДВ62.ИНН) Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и пачке СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " не совпадает ИНН!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если СокрЛП(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(ДеревоСЗВ63, "КПП")) <> СокрЛП(ИнформацияОПачкеАДВ62.КПП) Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и пачке СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " не совпадает КПП!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если СокрЛП(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(ДеревоСЗВ63, "РегистрационныйНомер")) <> СокрЛП(ИнформацияОПачкеАДВ62.РегНомерПФР) Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и пачке СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " не совпадает регистрационный номер страхователя в ПФР!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; КонецЕсли; Если ОбъектСЗВ63.ТипСведенийСЗВ = Перечисления.ТипыСведенийСЗВ.ИСХОДНАЯ И ОбъектСЗВ63.ОтчетныйПериод <> Год(ОтчетныйПериодАДВ62) Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Исходная пачка СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " содержит данные за другой отчетный период!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; КонецЦикла; ВыборкаСверкиКоличества = Результаты[ВсегоРезультатов - 1].Выбрать(); ВыборкаСверкиКоличества.Следующий(); Если ВыборкаСверкиКоличества.КоличествоФормСЗВ_6_3 < ВыборкаСверкиКоличества.КоличествоЗастрахованныхСЗВ_6_12 Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Количество исходных форм СЗВ-6-3 меньше количества исходных форм СЗВ-6-1(2), содержащих ненулевые начисленные взносы!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; КоличествоПредыдущихПериодовГода = 0; ПроверяемыйГод = Год(ОтчетныйПериодАДВ62); Для каждого ПрошлыйПериод Из МассивПрошлыхПериодов Цикл Если Год(ПрошлыйПериод) = ПроверяемыйГод И ПрошлыйПериод < ОтчетныйПериодАДВ62 Тогда КоличествоПредыдущихПериодовГода = КоличествоПредыдущихПериодовГода + 1; КонецЕсли; КонецЦикла; КоличествоПринятыхКомплектовГода = 0; Для каждого СтрокаТЧ Из ПачкиДокументов Цикл Если Год(СтрокаТЧ.ОтчетныйПериод) = ПроверяемыйГод И СтрокаТЧ.ОтчетныйПериод < ОтчетныйПериодАДВ62 Тогда КоличествоПринятыхКомплектовГода = КоличествоПринятыхКомплектовГода + 1; КонецЕсли; КонецЦикла; ВыборкаСверкиЗастрахованных = Результаты[ВсегоРезультатов - 2].Выбрать(); ВыборкаСверкиВзносов = Результаты[ВсегоРезультатов - 3].Выбрать(); СтруктураПоиска = Новый Структура("Ссылка, НомерСтрокиСЗВ6_12"); Пока ВыборкаСверкиЗастрахованных.Следующий() Цикл НачалоСообщения = "Для застрахованного " + СокрЛП(ВыборкаСверкиЗастрахованных.ФИОЗастрахованного) + ", указанного в строке " + ВыборкаСверкиЗастрахованных.НомерСтрокиСЗВ6_12 + " пачки СЗВ-6-1(2) № " + ВыборкаСверкиЗастрахованных.НомерПачкиСЗВ6_12 + ": "; Если ВыборкаСверкиЗастрахованных.ОтсуствуетФормаСЗВ63 Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщения + "отсутствуют формы СЗВ-6-3!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); Иначе НачалоСообщенияНесовпадения = НачалоСообщения + "в пачке СЗВ-6-3 № " + ВыборкаСверкиЗастрахованных.НомерПачкиСЗВ_6_3 + " не совпадает "; Если ВыборкаСверкиЗастрахованных.НеСовпадаетСНИЛС Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "СНИЛС!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если ВыборкаСверкиЗастрахованных.НеСовпадаетФамилия Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "фамилия!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если ВыборкаСверкиЗастрахованных.НеСовпадаетИмя Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "имя!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если ВыборкаСверкиЗастрахованных.НеСовпадаетОтчество Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "отчество!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если СтруктураПоиска.Ссылка <> ВыборкаСверкиЗастрахованных.Ссылка И СтруктураПоиска.НомерСтрокиСЗВ6_12 <> ВыборкаСверкиЗастрахованных.НомерСтрокиСЗВ6_12 Тогда ЗаполнитьЗначенияСвойств(СтруктураПоиска, ВыборкаСверкиЗастрахованных); // сверка начисленных взносов за текущий отчетный период ВыборкаСверкиВзносов.Сбросить(); Если ВыборкаСверкиВзносов.НайтиСледующий(СтруктураПоиска) Тогда Если ВыборкаСверкиВзносов.РасхождениеВоВзносах > 0.03 Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщения + " сумма начисленных взносов, указанная в форме СЗВ-6-1,2 (" + Формат(ВыборкаСверкиВзносов.НачисленоВзносов,"ЧДЦ=2; ЧГ=0") + "), отличается от суммы взносов, исчисленной по всем формам СЗВ-6-3 (" + Формат(ВыборкаСверкиВзносов.ВзносовКНачислению,"ЧДЦ=2; ЧГ=0") + "), более чем на 3 копейки!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; // сверка начисленных взносов за год в целом ВыборкаСверкиВзносовЗаГод = Результаты[ВсегоРезультатов - 5].Выбрать(); Пока ВыборкаСверкиВзносовЗаГод.Следующий() Цикл Если ВыборкаСверкиВзносовЗаГод.РасхождениеВоВзносах > 0.03 Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Для застрахованного " + СокрЛП(ВыборкаСверкиВзносовЗаГод.ФИОЗастрахованного) + ": сумма начисленных взносов, указанная в формах СЗВ-6-1,2 текущего года по категории ЗЛ " + ВыборкаСверкиВзносовЗаГод.КатегорияЗастрахованныхЛиц + " (" + Формат(ВыборкаСверкиВзносовЗаГод.НачисленоВзносов,"ЧДЦ=2; ЧГ=0") + "), отличается от суммы взносов, исчисленной по всем формам СЗВ-6-3 этой же категории (" + Формат(ВыборкаСверкиВзносовЗаГод.ВзносовКНачислению,"ЧДЦ=2; ЧГ=0") + "), более чем на 3 копейки!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; // Сверка отдельных реквизитов Описи сведений персонифицированного учета (формы АДВ-6-2) и Расчета по начисленным и уплаченным страховым взносам (форма РСВ-1) Если Не ЕстьОшибкиСЗВ6 И Не ЕстьОшибкиАДВ62 И Не ЕстьОшибкиРСВ1 Тогда РазделСверкиРСВ1иАДВ62 = Неопределено; Если РСВ1Объект.Организация <> ДокументОбъект.Организация Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); ОбщегоНазначения.ВывестиИнформациюОбОшибке("Расчет РСВ-1 оформлен на " + ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("другую организацию!"), ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); Иначе ИННизАДВ62 = ?(СтрДлина(СокрЛП(ИнформацияОПачкеАДВ62.ИНН)) = 10,"00","") + СокрЛП(ИнформацияОПачкеАДВ62.ИНН); Если СокрЛП(ИННизРСВ1) <> ИННизАДВ62 Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и Расчете РСВ-1 не совпадает ИНН!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; Если СокрЛП(КППизРСВ1) <> СокрЛП(ИнформацияОПачкеАДВ62.КПП) Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и Расчете РСВ-1 не совпадает КПП!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; Если СокрЛП(РегНомерПФРизРСВ1) <> СокрЛП(ИнформацияОПачкеАДВ62.РегНомерПФР) Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и Расчете РСВ-1 не совпадает регистрационный номер страхователя в ПФР!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; КонецЕсли; Если ОтчетныйПериодРСВ1 <> ОтчетныйПериодАДВ62 Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Период Расчета РСВ-1 не соответствует отчетному периоду Описи АДВ-6-2", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); Иначе ДопустимоеРасхождение = Окр(ВсегоКатегорийАДВ62/2); СообщениеОРасхожденииУжеВыводилось = Ложь; Разность = Макс(НачисленоРСВ1НаСтраховую - НачисленоАДВ62НаСтраховую, НачисленоАДВ62НаСтраховую - НачисленоРСВ1НаСтраховую); Если Разность > ДопустимоеРасхождение Тогда Если Не СообщениеОРасхожденииУжеВыводилось Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; СообщениеОРасхожденииУжеВыводилось = Истина; ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы начисленных взносов на страховую часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; Разность = Макс(НачисленоРСВ1НаНакопительную - НачисленоАДВ62НаНакопительную, НачисленоАДВ62НаНакопительную - НачисленоРСВ1НаНакопительную); Если Разность > ДопустимоеРасхождение Тогда Если Не СообщениеОРасхожденииУжеВыводилось Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; СообщениеОРасхожденииУжеВыводилось = Истина; ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы начисленных взносов на накопительную часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; Разность = Макс(УплаченоРСВ1НаСтраховую - УплаченоАДВ62НаСтраховую, УплаченоАДВ62НаСтраховую - УплаченоРСВ1НаСтраховую); Если Разность > ДопустимоеРасхождение Тогда Если Не СообщениеОРасхожденииУжеВыводилось Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; СообщениеОРасхожденииУжеВыводилось = Истина; ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы уплаченных взносов на страховую часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; Разность = Макс(УплаченоРСВ1НаНакопительную - УплаченоАДВ62НаНакопительную, УплаченоАДВ62НаНакопительную - УплаченоРСВ1НаНакопительную); Если Разность > ДопустимоеРасхождение Тогда Если Не СообщениеОРасхожденииУжеВыводилось Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; СообщениеОРасхожденииУжеВыводилось = Истина; ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы уплаченных взносов на накопительную часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; КонецЕсли; КонецЕсли; ЕстьОшибки = ЕстьОшибкиРСВ1 Или ЕстьОшибкиАДВ62 Или ЕстьОшибкиСЗВ6 Или ЕстьОшибкиРасчетаСЗВ6 Или ЕстьОшибкиСЗВ63 Или ЕстьОшибкиРСВ1_СЗВ63 Или ЕстьОшибкиАДВ62_СЗВ63 Или ЕстьОшибкиАДВ62_РСВ1; Если Не ЕстьОшибки Тогда ОбработкаКомментариев.УдалитьСообщения(); Если СообщатьОбУспехе Тогда ОбщегоНазначения.ВывестиИнформациюОбОшибке("Ошибок не обнаружено!"); КонецЕсли; КонецЕсли; Возврат ЕстьОшибки КонецФункции |
||||
Исправлено в релизе: | 2.5.46 | ||||
Код ошибки: | 10098108 | ||||
Дата публикации: | 23 января 2012 г. | ||||
Описание: | В рабочем месте подготовки данных для ПФР неверно работает встроенная сверка сумм взносов по формам СЗВ-6-1,2 и СЗВ-6-3 за год в целом - не учитываются суммы взносов из СЗВ-6-1,2 четвертого квартала. | ||||
Способ исправления: | Заменить функцию ПроверитьКомплектДокументов() модуля обработки ПодготовкаДанныхПФР2010 следующим фрагментом: Функция ПроверитьКомплектДокументов(ПачкаАДВ62, СообщатьОбУспехе = Ложь) Экспорт ОбработкаКомментариев = глЗначениеПеременной("глОбработкаСообщений"); ДеревоСообщений = ОбработкаКомментариев.Сообщения; ДокументОбъект = СоответствиеСсылокИОбъектов[ПачкаАДВ62]; ОтчетныйПериодАДВ62 = ДокументОбъект.ОтчетныйПериод; ДеревоАДВ62 = Неопределено; РСВ1 = ДокументОбъект.РасчетСтраховыхВзносов; ПоказателиОтчета = Неопределено; // проверка отдельных документов // РСВ-1 ЕстьОшибкиРСВ1 = Ложь; Если ЗначениеЗаполнено(РСВ1) Тогда РазделПроверкиРСВ1 = ОбработкаКомментариев.ДобавитьСообщение("Проверка расчета РСВ-1", Перечисления.ВидыСообщений.Информация); ФормаРасчетаРСВ1 = ФормаРасчетаРСВ1(РСВ1); РСВ1Объект = ФормаРасчетаРСВ1.мСохраненныйДок; ЕстьОшибкиРСВ1 = Не ФормаРасчетаРСВ1.ПроверитьПоказатели(); ОтчетныйПериодРСВ1 = ПроцедурыПерсонифицированногоУчета.НачалоОтчетногоПериодаПерсучета(ФормаРасчетаРСВ1.мДатаКонцаПериодаОтчета); Если ЕстьОшибкиРСВ1 Тогда Для каждого СтрокаОшибки Из ФормаРасчетаРСВ1.ТаблицаСообщений Цикл ОбщегоНазначения.ВывестиИнформациюОбОшибке(СтрокаОшибки.Описание,,,,,РазделПроверкиРСВ1); КонецЦикла; Иначе ОбработкаКомментариев.ДобавитьСообщение("Ошибок не обнаружено.", Перечисления.ВидыСообщений.Информация, , РазделПроверкиРСВ1); КонецЕсли; Если РСВ1Объект.Организация = ДокументОбъект.Организация И Не ЕстьОшибкиРСВ1 Тогда Данные = РСВ1Объект.ДанныеОтчета.Получить(); ИмяРаздела = "ПолеТабличногоДокументаТитульный"; ИмяПоля = "НомРег1"; Значение = Неопределено; Если ТипЗнч(Данные) = Тип("Структура") И Данные.Свойство("ПоказателиОтчета",Значение) Тогда ПоказателиОтчета = Значение; Если ТипЗнч(ПоказателиОтчета) = Тип("Структура") И ПоказателиОтчета.Свойство(ИмяРаздела,Значение) Тогда Если ТипЗнч(Значение) = Тип("Структура") И Значение.Свойство(ИмяПоля,Значение) Тогда Иначе ПоказателиОтчета = Неопределено; КонецЕсли; Иначе ПоказателиОтчета = Неопределено; КонецЕсли; Иначе ПоказателиОтчета = Неопределено; КонецЕсли; Если ПоказателиОтчета = Неопределено Тогда ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не удалось разобрать данные указанного в Описи АДВ-6-2 Расчета РСВ-1!", ЕстьОшибкиРСВ1); Иначе ТитульныйЛист = ПоказателиОтчета.ПолеТабличногоДокументаТитульный; ИННизРСВ1 = ""; Для Сч = 1 По 12 Цикл ИННизРСВ1 = ИННизРСВ1 + ТитульныйЛист["ИНН" + Сч]; КонецЦикла; КППизРСВ1 = ""; Для Сч = 1 По 9 Цикл КППизРСВ1 = КППизРСВ1 + ТитульныйЛист["КПП" + Сч]; КонецЦикла; КППизРСВ1 = СтрЗаменить(КППизРСВ1, "-",""); РегНомерПФРизРСВ1 = ""; Для Сч = 1 По 14 Цикл РегНомерПФРизРСВ1 = РегНомерПФРизРСВ1 + ТитульныйЛист["НомРег" + Сч]; КонецЦикла; Если ОтчетныйПериодРСВ1 < ПроведениеРасчетов.ДатаСниженияТарифовСтраховыхВзносов() Тогда // за 2010 и 2011 годы НачисленоРСВ1НаСтраховую = 0; НачисленоРСВ1НаНакопительную = 0; ЗадолженностьНаСтраховуюНаНачалоПериода = 0; ЗадолженностьНаНакопительнуюНаНачалоПериода = 0; ЗадолженностьНаСтраховуюНаКонецПериода = 0; ЗадолженностьНаНакопительнуюНаКонецПериода = 0; УплаченоРСВ1НаСтраховую = 0; УплаченоРСВ1НаНакопительную = 0; ОбъектОбложенияРСВ1 = 0; ОблагаемаяБазаРСВ1 = 0; Разделы = Данные.ДанныеМногостраничныхРазделов.Раздел12; Для каждого ЛистДанных Из Разделы Цикл ПоказателиРазделов = ЛистДанных.Данные; НачисленоРСВ1НаСтраховую = НачисленоРСВ1НаСтраховую + ПоказателиРазделов.П000100011403; НачисленоРСВ1НаНакопительную = НачисленоРСВ1НаНакопительную + ПоказателиРазделов.П000100011404; ЗадолженностьНаСтраховуюНаНачалоПериода = ЗадолженностьНаСтраховуюНаНачалоПериода + ПоказателиРазделов.П000100010003 + (ПоказателиРазделов.П000100011003 - ПоказателиРазделов.П000100011403) - (ПоказателиРазделов.П000100014003 - ПоказателиРазделов.П000100014403); ЗадолженностьНаНакопительнуюНаНачалоПериода = ЗадолженностьНаНакопительнуюНаНачалоПериода + ПоказателиРазделов.П000100010004 + (ПоказателиРазделов.П000100011004 - ПоказателиРазделов.П000100011404) - (ПоказателиРазделов.П000100014004 - ПоказателиРазделов.П000100014404); ЗадолженностьНаСтраховуюНаКонецПериода = ЗадолженностьНаСтраховуюНаКонецПериода + ПоказателиРазделов.П000100015003; ЗадолженностьНаНакопительнуюНаКонецПериода = ЗадолженностьНаНакопительнуюНаКонецПериода + ПоказателиРазделов.П000100015004; УплаченоРСВ1НаСтраховую = + ПоказателиРазделов.П000100014403; УплаченоРСВ1НаНакопительную = + ПоказателиРазделов.П000100014404; ОбъектОбложенияРСВ1 = ОбъектОбложенияРСВ1 + ПоказателиРазделов.П000200020003 - ПоказателиРазделов.П000200021003 - ПоказателиРазделов.П000200021403 - ПоказателиРазделов.П000200021503; ОблагаемаяБазаРСВ1 = ОблагаемаяБазаРСВ1 + ПоказателиРазделов.П000200022003 + ПоказателиРазделов.П000200022103; КонецЦикла; УплаченоРСВ1НаСтраховую = УплаченоРСВ1НаСтраховую - ?(ЗадолженностьНаСтраховуюНаКонецПериода < 0, -ЗадолженностьНаСтраховуюНаКонецПериода, 0) + ?(ЗадолженностьНаСтраховуюНаНачалоПериода < 0, -ЗадолженностьНаСтраховуюНаНачалоПериода,0); УплаченоРСВ1НаНакопительную = УплаченоРСВ1НаНакопительную - ?(ЗадолженностьНаНакопительнуюНаКонецПериода < 0, -ЗадолженностьНаНакопительнуюНаКонецПериода, 0) + ?(ЗадолженностьНаНакопительнуюНаНачалоПериода < 0, -ЗадолженностьНаНакопительнуюНаНачалоПериода,0); Раздел3 = ПоказателиОтчета.ПолеТабличногоДокументаРаздел30; ОбъектОбложенияИнвалидовРСВ1 = Раздел3.П000300030003 - Раздел3.П000300031003 - Раздел3.П000300031403 - Раздел3.П000300031503; ОблагаемаяБазаИнвалидовРСВ1 = Раздел3.П000300032003 + Раздел3.П000300032103; Иначе НачисленоРСВ1НаСтраховую = 0; НачисленоРСВ1НаНакопительную = 0; УплаченоРСВ1НаСтраховую = 0; УплаченоРСВ1НаНакопительную = 0; ОбъектОбложенияРСВ1 = 0; ОблагаемаяБазаРСВ1 = 0; ОбъектОбложенияИнвалидовРСВ1 = 0; ОблагаемаяБазаИнвалидовРСВ1 = 0; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; // АДВ-6-2 ЕстьОшибкиАДВ62 = Ложь; ДокументОбъект.ПроверитьПравильностьЗаполненияДокумента(ЕстьОшибкиАДВ62); Если Не ЕстьОшибкиАДВ62 Тогда ЕстьОшибки = Ложь; ДеревоАДВ62 = ПроцедурыПерсонифицированногоУчета.ПреобразоватьВДеревоXML(РегламентированнаяОтчетность.ПолучитьТекстФайла(ДокументОбъект, ЕстьОшибки)); Если ДеревоАДВ62 <> Неопределено Тогда ДеревоАДВ62 = ДеревоАДВ62.Строки.Найти("ФайлПФР","Имя"); КонецЕсли; Если ДеревоАДВ62 <> Неопределено Тогда ДеревоАДВ62 = ДеревоАДВ62.Строки.Найти("ПачкаВходящихДокументов","Имя"); КонецЕсли; Если ДеревоАДВ62 <> Неопределено Тогда СтрокаОписи = ДеревоАДВ62.Строки.Найти("ВХОДЯЩАЯ_ОПИСЬ_ПО_СТРАХОВЫМ_ВЗНОСАМ", "Имя"); ДеревоАДВ62 = ДеревоАДВ62.Строки.Найти("ОПИСЬ_СВЕДЕНИЙ_ПЕРЕДАВАЕМЫХ_СТРАХОВАТЕЛЕМ", "Имя"); КонецЕсли; Если ДеревоАДВ62 <> Неопределено Тогда // ДеревоАДВ62 теперь содержит только тег ОПИСЬ_СВЕДЕНИЙ_ПЕРЕДАВАЕМЫХ_СТРАХОВАТЕЛЕМ ИнформацияОПачкеАДВ62 = ПроцедурыПерсонифицированногоУчета.ДанныеОписиАДВ_6_3(СтрокаОписи); СтрокиИсходныхПачек = ДеревоАДВ62.Строки.НайтиСтроки(Новый Структура("Имя","СведенияОбИсходныхСведениях")); ВсегоКатегорийАДВ62 = 0; НачисленоАДВ62НаСтраховую = 0; НачисленоАДВ62НаНакопительную = 0; УплаченоАДВ62НаСтраховую = 0; УплаченоАДВ62НаНакопительную = 0; МассивКатегорий = Новый Массив; Для каждого СтрокаДерева Из СтрокиИсходныхПачек Цикл Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО КАТЕГОРИИ" Тогда ВсегоКатегорийАДВ62 = ВсегоКатегорийАДВ62 + 1; МассивКатегорий.Добавить(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "КодКатегории")); КонецЕсли; Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО СТРАХОВАТЕЛЮ" Тогда СтрокаНаСтраховую = СтрокаДерева.Строки.Найти("СуммаВзносовНаСтраховую", "Имя"); СтрокаНаНакопительную = СтрокаДерева.Строки.Найти("СуммаВзносовНаНакопительную", "Имя"); Если СтрокаНаСтраховую <> Неопределено Тогда НачисленоАДВ62НаСтраховую = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "Начислено")); УплаченоАДВ62НаСтраховую = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "Уплачено")); КонецЕсли; Если СтрокаНаНакопительную <> Неопределено Тогда НачисленоАДВ62НаНакопительную = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаНакопительную, "Начислено")); УплаченоАДВ62НаНакопительную = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаНакопительную, "Уплачено")); КонецЕсли; КонецЕсли; КонецЦикла; СтрокиКорректирующихПачек = ДеревоАДВ62.Строки.НайтиСтроки(Новый Структура("Имя","СведенияОкорректирующихСведениях")); Для каждого СтрокаДерева Из СтрокиКорректирующихПачек Цикл Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО КАТЕГОРИИ" Тогда КодКатегории = ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "КодКатегории"); Если МассивКатегорий.Найти(КодКатегории) = Неопределено Тогда ВсегоКатегорийАДВ62 = ВсегоКатегорийАДВ62 + 1; КонецЕсли; КонецЕсли; Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО СТРАХОВАТЕЛЮ" Тогда СтрокаНаСтраховую = СтрокаДерева.Строки.Найти("СуммаВзносовНаСтраховую", "Имя"); СтрокаНаНакопительную = СтрокаДерева.Строки.Найти("СуммаВзносовНаНакопительную", "Имя"); Если СтрокаНаСтраховую <> Неопределено Тогда ДоУплачено = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "ДоуплаченоНаСтраховую")); УплаченоАДВ62НаСтраховую = УплаченоАДВ62НаСтраховую - ?(ДоУплачено < 0, -ДоУплачено, 0); КонецЕсли; Если СтрокаНаНакопительную <> Неопределено Тогда ДоУплачено = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "ДоуплаченоНаНакопительную")); УплаченоАДВ62НаНакопительную = УплаченоАДВ62НаНакопительную - ?(ДоУплачено < 0, -ДоУплачено, 0); КонецЕсли; КонецЕсли; КонецЦикла; Иначе ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не удалось разобрать сохраненный файл Описи АДВ-6-2!", ЕстьОшибкиАДВ62); КонецЕсли; КонецЕсли; УдалитьПустойЗаголовок(ДеревоСообщений); // СЗВ-6-1,2 ЕстьОшибкиСЗВ6 = Ложь; ЕстьОшибкиРасчетаСЗВ6 = Ложь; Для каждого ПачкаСЗВ6 Из ДокументОбъект.ПачкиДокументов Цикл СоответствиеСсылокИОбъектов[ПачкаСЗВ6.ДокументПачка].ПроверитьПравильностьЗаполненияДокумента(ЕстьОшибкиСЗВ6); КонецЦикла; Если Не ПодобранПолныйКомплектПринятыхПФРДокументов() Тогда ПропущенныеПериоды = ""; Для Каждого РасчетныйПериод Из МассивПрошлыхПериодов Цикл Если ПачкиДокументов.Найти(РасчетныйПериод, "ОтчетныйПериод") = Неопределено Тогда ПропущенныеПериоды = ПропущенныеПериоды + ПроцедурыПерсонифицированногоУчета.ОписаниеОтчетногоПериодаДляПоказа(РасчетныйПериод) + ", " КонецЕсли; КонецЦикла; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Подобраны не все переданные ранее в ПФР сведения! Отсутствуют сведения за периоды: " + Лев(ПропущенныеПериоды, СтрДлина(ПропущенныеПериоды)-2), ЕстьОшибкиРасчетаСЗВ6); КонецЕсли; // СЗВ-6-3 ЕстьОшибкиСЗВ63 = Ложь; СоответствиеСсылокИОбъектовСЗВ63 = Новый Соответствие; СоответствиеСсылокИФайловСЗВ63 = Новый Соответствие; ВыборкаСЗВ63 = СЗВ63ЗаГод(ДокументОбъект); Если ВыборкаСЗВ63 <> Неопределено Тогда Пока ВыборкаСЗВ63.Следующий() Цикл ОбъектСЗВ63 = ВыборкаСЗВ63.Ссылка.ПолучитьОбъект(); СоответствиеСсылокИОбъектовСЗВ63.Вставить(ВыборкаСЗВ63.Ссылка, ОбъектСЗВ63); ЕстьОшибки = Ложь; ОбъектСЗВ63.ПроверитьПравильностьЗаполненияДокумента(ЕстьОшибки); Если ЕстьОшибки Тогда ЕстьОшибкиСЗВ63 = Истина; Иначе ДеревоСЗВ63 = ПроцедурыПерсонифицированногоУчета.ПреобразоватьВДеревоXML(РегламентированнаяОтчетность.ПолучитьТекстФайла(ОбъектСЗВ63, ЕстьОшибки)); Если ДеревоСЗВ63 <> Неопределено Тогда ДеревоСЗВ63 = ДеревоСЗВ63.Строки.Найти("ФайлПФР","Имя"); КонецЕсли; Если ДеревоСЗВ63 <> Неопределено Тогда ДеревоСЗВ63 = ДеревоСЗВ63.Строки.Найти("ПачкаВходящихДокументов","Имя"); КонецЕсли; Если ДеревоСЗВ63 <> Неопределено Тогда // ДеревоСЗВ63 теперь содержит только тег ПачкаВходящихДокументов СоответствиеСсылокИФайловСЗВ63.Вставить(ВыборкаСЗВ63.Ссылка, ДеревоСЗВ63); Иначе ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не удалось разобрать сохраненный файл формы СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + "!", ЕстьОшибкиСЗВ63); КонецЕсли; КонецЕсли; УдалитьПустойЗаголовок(ДеревоСообщений); КонецЦикла; КонецЕсли; // проверка полноты комплекта РазделПроверкиКомплекта = Неопределено; Если Не ЗначениеЗаполнено(РСВ1) Тогда РазделПроверкиКомплекта = ОбработкаКомментариев.ДобавитьСообщение("Проверка полноты комплекта представляемых документов", Перечисления.ВидыСообщений.Информация); ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не указан подаваемый вместе с Описью АДВ-6-2 Расчет РСВ-1!", ЕстьОшибкиРСВ1,,,,РазделПроверкиКомплекта); КонецЕсли; Если ПроцедурыПерсонифицированногоУчета.ОкончаниеОтчетногоПериодаПерсучета(ОтчетныйПериодАДВ62) = КонецГода(ОтчетныйПериодАДВ62) И ВыборкаСЗВ63.Количество() = 0 Тогда Если РазделПроверкиКомплекта = Неопределено Тогда РазделПроверкиКомплекта = ОбработкаКомментариев.ДобавитьСообщение("Проверка полноты комплекта представляемых документов", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не подготовлены подаваемые вместе с Описью АДВ-6-2 сведения СЗВ-6-3!", ЕстьОшибкиСЗВ63,,,,РазделПроверкиКомплекта); КонецЕсли; // перекрестная проверка документов ЕстьОшибкиРСВ1_СЗВ63 = Ложь; ЕстьОшибкиАДВ62_СЗВ63 = Ложь; ЕстьОшибкиАДВ62_РСВ1 = Ложь; // дополнительные проверки для отчетного периода "Календарный год" Если Не ЕстьОшибкиСЗВ63 И ПроцедурыПерсонифицированногоУчета.ОкончаниеОтчетногоПериодаПерсучета(ОтчетныйПериодАДВ62) = КонецГода(ОтчетныйПериодАДВ62) Тогда Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; ПроцедурыПерсонифицированногоУчета.ПоместитьВМенеджерСоответствиеТарифаКатегории(Запрос.МенеджерВременныхТаблиц); Запрос.Текст = "ВЫБРАТЬ | ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка |ПОМЕСТИТЬ ВТФормыСЗВ_6_12 |ИЗ | Документ.ПередачаСЗВ4вПФР.ПачкиДокументов КАК ПередачаСЗВ4вПФРПачкиДокументов |ГДЕ | ПередачаСЗВ4вПФРПачкиДокументов.Ссылка = &Ссылка | И ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СведенияПринятыеПФР.КомплектДокументов КАК Опись |ПОМЕСТИТЬ ВТПредыдущиеОписиАДВ62 |ИЗ | РегистрСведений.СведенияПринятыеПФР КАК СведенияПринятыеПФР |ГДЕ | СведенияПринятыеПФР.Организация = &Организация | И ГОД(СведенияПринятыеПФР.ОтчетныйПериодПерсучетаПФР) = &ОтчетныйГод | И СведенияПринятыеПФР.ОтчетныйПериодПерсучетаПФР <> &ОтчетныйПериод |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка |ПОМЕСТИТЬ ВТПредыдущиеФормыСЗВ_6_12 |ИЗ | Документ.ПередачаСЗВ4вПФР.ПачкиДокументов КАК ПередачаСЗВ4вПФРПачкиДокументов |ГДЕ | ПередачаСЗВ4вПФРПачкиДокументов.Ссылка В | (ВЫБРАТЬ | ПредыдущиеОписиАДВ62.Опись | ИЗ | ВТПредыдущиеОписиАДВ62 КАК ПредыдущиеОписиАДВ62) | И ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ <> ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ОТМЕНЯЮЩАЯ) | И (ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ) | ИЛИ ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.КОРРЕКТИРУЮЩАЯ) | И ГОД(ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.КорректируемыйПериод) = &ОтчетныйГод) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МИНИМУМ(СоответствиеТарифаКатегории.ВидТарифаСтраховыхВзносов) КАК ВидТарифаСтраховыхВзносов, | СоответствиеТарифаКатегории.КатегорияЗастрахованныхЛиц |ПОМЕСТИТЬ ВТТарифПоКатегории |ИЗ | ВТСоответствиеТарифаКатегории КАК СоответствиеТарифаКатегории |ГДЕ | &ОтчетныйГод МЕЖДУ СоответствиеТарифаКатегории.ГодС И СоответствиеТарифаКатегории.ГодПо | |СГРУППИРОВАТЬ ПО | СоответствиеТарифаКатегории.КатегорияЗастрахованныхЛиц |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Застрахованные.Ссылка, | Застрахованные.ФизЛицо, | Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц, | Застрахованные.СтраховойНомерПФР, | Застрахованные.Фамилия, | Застрахованные.Имя, | Застрахованные.Отчество |ПОМЕСТИТЬ ВТФормыСЗВ_6_3 |ИЗ | Документ.СведенияОНачисленномЗаработкеСЗВ63.СотрудникиОрганизации КАК Застрахованные |ГДЕ | Застрахованные.Ссылка.ОписьАДВ62 = &Ссылка | И Застрахованные.Ссылка.ОтчетныйПериод = &ОтчетныйГод | И Застрахованные.Ссылка.Организация = &Организация | И Застрахованные.Ссылка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Застрахованные.Ссылка, | Застрахованные.НомерСтроки, | Застрахованные.ФизЛицо, | Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц, | Застрахованные.НачисленоСтраховая + Застрахованные.НачисленоНакопительная КАК НачисленоВзносов, | Застрахованные.СтраховойНомерПФР, | Застрахованные.Фамилия, | Застрахованные.Имя, | Застрахованные.Отчество |ПОМЕСТИТЬ ВТЗастрахованныеСЗВ_6_12 |ИЗ | Документ.СведенияОТрудовомСтажеИЗаработкеСЗВ4.РаботникиОрганизации КАК Застрахованные |ГДЕ | Застрахованные.Ссылка В | (ВЫБРАТЬ | ФормыСЗВ_6_12.ДокументПачка | ИЗ | ВТФормыСЗВ_6_12 КАК ФормыСЗВ_6_12) | И (Застрахованные.НачисленоСтраховая <> 0 | ИЛИ Застрахованные.НачисленоНакопительная <> 0) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СУММА(ДанныеДокументов.НачисленоВзносов) КАК НачисленоВзносов, | ДанныеДокументов.ФизЛицо, | ДанныеДокументов.КатегорияЗастрахованныхЛиц, | ДанныеДокументов.СтраховойНомерПФР, | ДанныеДокументов.Фамилия, | ДанныеДокументов.Имя, | ДанныеДокументов.Отчество |ПОМЕСТИТЬ ВТЗастрахованныеСЗВ_6_12заГод |ИЗ | (ВЫБРАТЬ | Застрахованные.НачисленоСтраховая + Застрахованные.НачисленоНакопительная КАК НачисленоВзносов, | Застрахованные.ФизЛицо КАК ФизЛицо, | Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц КАК КатегорияЗастрахованныхЛиц, | Застрахованные.СтраховойНомерПФР КАК СтраховойНомерПФР, | Застрахованные.Фамилия КАК Фамилия, | Застрахованные.Имя КАК Имя, | Застрахованные.Отчество КАК Отчество | ИЗ | Документ.СведенияОТрудовомСтажеИЗаработкеСЗВ4.РаботникиОрганизации КАК Застрахованные | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОТрудовомСтажеИЗаработкеСЗВ4.РаботникиОрганизации КАК КорректирующиеСведения | ПО Застрахованные.ФизЛицо = КорректирующиеСведения.ФизЛицо | И Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц = КорректирующиеСведения.Ссылка.КатегорияЗастрахованныхЛиц | И (КорректирующиеСведения.Ссылка В | (ВЫБРАТЬ | ФормыСЗВ_6_12.ДокументПачка | ИЗ | ВТПредыдущиеФормыСЗВ_6_12 КАК ФормыСЗВ_6_12 | ГДЕ | ФормыСЗВ_6_12.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.КОРРЕКТИРУЮЩАЯ))) | И (ВЫБОР | КОГДА Застрахованные.Ссылка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ) | ТОГДА Застрахованные.Ссылка.ОтчетныйПериод | ИНАЧЕ Застрахованные.Ссылка.КорректируемыйПериод | КОНЕЦ = КорректирующиеСведения.Ссылка.КорректируемыйПериод) | ГДЕ | Застрахованные.Ссылка В | (ВЫБРАТЬ | ФормыСЗВ_6_12.ДокументПачка | ИЗ | ВТПредыдущиеФормыСЗВ_6_12 КАК ФормыСЗВ_6_12) | И (Застрахованные.НачисленоСтраховая <> 0 | ИЛИ Застрахованные.НачисленоНакопительная <> 0) | И КорректирующиеСведения.ФизЛицо ЕСТЬ NULL | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ЗастрахованныеПоследнегоКвартала.НачисленоВзносов, | ЗастрахованныеПоследнегоКвартала.ФизЛицо, | ЗастрахованныеПоследнегоКвартала.КатегорияЗастрахованныхЛиц, | ЗастрахованныеПоследнегоКвартала.СтраховойНомерПФР, | ЗастрахованныеПоследнегоКвартала.Фамилия, | ЗастрахованныеПоследнегоКвартала.Имя, | ЗастрахованныеПоследнегоКвартала.Отчество | ИЗ | ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеПоследнегоКвартала) КАК ДанныеДокументов | |СГРУППИРОВАТЬ ПО | ДанныеДокументов.ФизЛицо, | ДанныеДокументов.КатегорияЗастрахованныхЛиц, | ДанныеДокументов.СтраховойНомерПФР, | ДанныеДокументов.Фамилия, | ДанныеДокументов.Имя, | ДанныеДокументов.Отчество |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Застрахованные.ФизЛицо, | Застрахованные.КатегорияЗастрахованныхЛиц, | СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.ОблагаетсяВзносами, 0)) * СтавкиТарифа.ПФР / 100 КАК ВзносовКНачислению |ПОМЕСТИТЬ ВТВзносыПоЗаработкуСЗВ_6_3 |ИЗ | ВТФормыСЗВ_6_3 КАК Застрахованные | ЛЕВОЕ СОЕДИНЕНИЕ ВТТарифПоКатегории КАК ТарифПоКатегории | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТарифСтраховыхВзносов.СрезПоследних(&КонецГода, ) КАК СтавкиТарифа | ПО ТарифПоКатегории.ВидТарифаСтраховыхВзносов = СтавкиТарифа.ВидТарифа | ПО Застрахованные.КатегорияЗастрахованныхЛиц = ТарифПоКатегории.КатегорияЗастрахованныхЛиц | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОНачисленномЗаработкеСЗВ63.СведенияОЗаработке КАК ЗаработокПоМесяцам | ПО Застрахованные.Ссылка = ЗаработокПоМесяцам.Ссылка | И Застрахованные.ФизЛицо = ЗаработокПоМесяцам.ФизЛицо | И (ЗаработокПоМесяцам.Месяц В (10, 11, 12)) | |СГРУППИРОВАТЬ ПО | Застрахованные.ФизЛицо, | Застрахованные.КатегорияЗастрахованныхЛиц, | СтавкиТарифа.ПФР |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Застрахованные.ФизЛицо, | Застрахованные.КатегорияЗастрахованныхЛиц, | СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.ОблагаетсяВзносами, 0)) * СтавкиТарифа.ПФР / 100 КАК ВзносовКНачислению |ПОМЕСТИТЬ ВТВзносыПоЗаработкуСЗВ_6_3заГод |ИЗ | ВТФормыСЗВ_6_3 КАК Застрахованные | ЛЕВОЕ СОЕДИНЕНИЕ ВТТарифПоКатегории КАК ТарифПоКатегории | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТарифСтраховыхВзносов.СрезПоследних(&КонецГода, ) КАК СтавкиТарифа | ПО ТарифПоКатегории.ВидТарифаСтраховыхВзносов = СтавкиТарифа.ВидТарифа | ПО Застрахованные.КатегорияЗастрахованныхЛиц = ТарифПоКатегории.КатегорияЗастрахованныхЛиц | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОНачисленномЗаработкеСЗВ63.СведенияОЗаработке КАК ЗаработокПоМесяцам | ПО Застрахованные.Ссылка = ЗаработокПоМесяцам.Ссылка | И Застрахованные.ФизЛицо = ЗаработокПоМесяцам.ФизЛицо | |СГРУППИРОВАТЬ ПО | Застрахованные.ФизЛицо, | Застрахованные.КатегорияЗастрахованныхЛиц, | СтавкиТарифа.ПФР |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗастрахованныеСЗВ_6_12.ФизЛицо, | ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц КАК КатегорияЗастрахованныхЛиц, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению < 0 | ТОГДА Заработок.ВзносовКНачислению - ЗастрахованныеСЗВ_6_12.НачисленоВзносов | ИНАЧЕ ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению | КОНЕЦ КАК РасхождениеВоВзносах, | Заработок.ВзносовКНачислению, | ЗастрахованныеСЗВ_6_12.НачисленоВзносов, | ЗастрахованныеСЗВ_6_12.Фамилия + "" "" + ЗастрахованныеСЗВ_6_12.Имя + "" "" + ЗастрахованныеСЗВ_6_12.Отчество КАК ФИОЗастрахованного |ИЗ | ВТЗастрахованныеСЗВ_6_12заГод КАК ЗастрахованныеСЗВ_6_12 | ЛЕВОЕ СОЕДИНЕНИЕ ВТВзносыПоЗаработкуСЗВ_6_3заГод КАК Заработок | ПО ЗастрахованныеСЗВ_6_12.ФизЛицо = Заработок.ФизЛицо | И ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц = Заработок.КатегорияЗастрахованныхЛиц |ГДЕ | Заработок.ФизЛицо ЕСТЬ НЕ NULL | |УПОРЯДОЧИТЬ ПО | ФИОЗастрахованного, | КатегорияЗастрахованныхЛиц |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВЫБОР | КОГДА Застрахованные.КатегорияЗастрахованныхЛиц = ЗНАЧЕНИЕ(Перечисление.КатегорииЗастрахованныхЛицПФР.ООИ) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЭтоДоходыИнвалидов, | СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.ОблагаетсяВзносами, 0)) КАК ОблагаемаяБаза, | СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.Заработок, 0)) КАК Заработок, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Застрахованные.Ссылка) КАК КоличествоПачек |ИЗ | ВТФормыСЗВ_6_3 КАК Застрахованные | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОНачисленномЗаработкеСЗВ63.СведенияОЗаработке КАК ЗаработокПоМесяцам | ПО Застрахованные.Ссылка = ЗаработокПоМесяцам.Ссылка | И Застрахованные.ФизЛицо = ЗаработокПоМесяцам.ФизЛицо | |СГРУППИРОВАТЬ ПО | ВЫБОР | КОГДА Застрахованные.КатегорияЗастрахованныхЛиц = ЗНАЧЕНИЕ(Перечисление.КатегорииЗастрахованныхЛицПФР.ООИ) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗастрахованныеСЗВ_6_12.ФизЛицо, | ЗастрахованныеСЗВ_6_12.Ссылка, | ЗастрахованныеСЗВ_6_12.Ссылка.НомерПачки КАК НомерПачкиСЗВ6_12, | ЗастрахованныеСЗВ_6_12.НомерСтроки КАК НомерСтрокиСЗВ6_12, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению < 0 | ТОГДА Заработок.ВзносовКНачислению - ЗастрахованныеСЗВ_6_12.НачисленоВзносов | ИНАЧЕ ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению | КОНЕЦ КАК РасхождениеВоВзносах, | Заработок.ВзносовКНачислению, | ЗастрахованныеСЗВ_6_12.НачисленоВзносов |ИЗ | ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеСЗВ_6_12 | ЛЕВОЕ СОЕДИНЕНИЕ ВТВзносыПоЗаработкуСЗВ_6_3 КАК Заработок | ПО ЗастрахованныеСЗВ_6_12.ФизЛицо = Заработок.ФизЛицо | И ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц = Заработок.КатегорияЗастрахованныхЛиц |ГДЕ | Заработок.ФизЛицо ЕСТЬ НЕ NULL | |УПОРЯДОЧИТЬ ПО | НомерПачкиСЗВ6_12, | НомерСтрокиСЗВ6_12 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗастрахованныеСЗВ_6_12.ФизЛицо, | ЗастрахованныеСЗВ_6_12.Ссылка, | ЗастрахованныеСЗВ_6_12.Ссылка.НомерПачки КАК НомерПачкиСЗВ6_12, | ЗастрахованныеСЗВ_6_12.НомерСтроки КАК НомерСтрокиСЗВ6_12, | ФормыСЗВ_6_3.Ссылка.НомерПачки КАК НомерПачкиСЗВ_6_3, | ВЫБОР | КОГДА ФормыСЗВ_6_3.Ссылка ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ОтсуствуетФормаСЗВ63, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.СтраховойНомерПФР <> ФормыСЗВ_6_3.СтраховойНомерПФР | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК НеСовпадаетСНИЛС, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.Имя <> ФормыСЗВ_6_3.Имя | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК НеСовпадаетИмя, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.Отчество <> ФормыСЗВ_6_3.Отчество | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК НеСовпадаетОтчество, | ВЫБОР | КОГДА ЗастрахованныеСЗВ_6_12.Фамилия <> ФормыСЗВ_6_3.Фамилия | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК НеСовпадаетФамилия, | ЗастрахованныеСЗВ_6_12.Фамилия + "" "" + ЗастрахованныеСЗВ_6_12.Имя + "" "" + ЗастрахованныеСЗВ_6_12.Отчество КАК ФИОЗастрахованного |ИЗ | ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеСЗВ_6_12 | ЛЕВОЕ СОЕДИНЕНИЕ ВТФормыСЗВ_6_3 КАК ФормыСЗВ_6_3 | ПО ЗастрахованныеСЗВ_6_12.ФизЛицо = ФормыСЗВ_6_3.ФизЛицо | И ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц = ФормыСЗВ_6_3.КатегорияЗастрахованныхЛиц | |УПОРЯДОЧИТЬ ПО | НомерПачкиСЗВ6_12, | НомерСтрокиСЗВ6_12, | НомерПачкиСЗВ_6_3 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЕСТЬNULL(ЗастрахованныеСЗВ_6_12.Количество, 0) КАК КоличествоЗастрахованныхСЗВ_6_12, | ЕСТЬNULL(ФормыСЗВ_6_3.Количество, 0) КАК КоличествоФормСЗВ_6_3 |ИЗ | (ВЫБРАТЬ | 1 КАК Поле) КАК СтрокаЗапроса | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | СУММА(1) КАК Количество | ИЗ | ВТФормыСЗВ_6_3 КАК ФормыСЗВ_6_3) КАК ФормыСЗВ_6_3 | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | СУММА(1) КАК Количество | ИЗ | ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеСЗВ_6_12) КАК ЗастрахованныеСЗВ_6_12 | ПО (ИСТИНА)"; Запрос.УстановитьПараметр("Ссылка", ПачкаАДВ62); Запрос.УстановитьПараметр("Организация", ДокументОбъект.Организация); Запрос.УстановитьПараметр("ОтчетныйГод", Год(ОтчетныйПериодАДВ62)); Запрос.УстановитьПараметр("ОтчетныйПериод", ОтчетныйПериодАДВ62); Запрос.УстановитьПараметр("КонецГода", КонецГода(ОтчетныйПериодАДВ62)); Результаты = Запрос.ВыполнитьПакет(); ВсегоРезультатов = Результаты.Количество(); // Сверка отдельных реквизитов документов персонифицированного учета «Сведений о сумме выплат и иных вознаграждений, начисляемых плательщиками страховых взносов - страхователями в пользу физического лица» (формы СЗВ-6-3, АДВ-6-4) и Расчета по начисленным и уплаченным страховым взносам (форма РСВ-1) РазделСверкиРСВ1иСЗВ63 = Неопределено; Если Не ЕстьОшибкиРСВ1 И ОтчетныйПериодРСВ1 = ОтчетныйПериодАДВ62 И РСВ1Объект.Организация = ДокументОбъект.Организация И ОтчетныйПериодРСВ1 < ПроведениеРасчетов.ДатаСниженияТарифовСтраховыхВзносов() Тогда ОбъектОбложенияСЗВ63 = 0; ОблагаемаяБазаСЗВ63 = 0; ОбъектОбложенияИнвалидовСЗВ63 = 0; ОблагаемаяБазаИнвалидовСЗВ63 = 0; КоличествоПачекСЗВ63 = 0; КоличествоПачекИнвалидовСЗВ63 = 0; ВыборкаСверкиДоходов = Результаты[ВсегоРезультатов - 4].Выбрать(); Пока ВыборкаСверкиДоходов.Следующий() Цикл Если ВыборкаСверкиДоходов.ЭтоДоходыИнвалидов Тогда КоличествоПачекИнвалидовСЗВ63 = ВыборкаСверкиДоходов.КоличествоПачек; ОбъектОбложенияИнвалидовСЗВ63 = ВыборкаСверкиДоходов.Заработок; ОблагаемаяБазаИнвалидовСЗВ63 = ВыборкаСверкиДоходов.ОблагаемаяБаза; Иначе КоличествоПачекСЗВ63 = ВыборкаСверкиДоходов.КоличествоПачек; ОбъектОбложенияСЗВ63 = ВыборкаСверкиДоходов.Заработок; ОблагаемаяБазаСЗВ63 = ВыборкаСверкиДоходов.ОблагаемаяБаза; КонецЕсли; КонецЦикла; Если ОбъектОбложенияСЗВ63 + 0.5 * КоличествоПачекСЗВ63 < ОбъектОбложенияРСВ1 Тогда РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма заработка, указанная в формах СЗВ-6-3" + ?(ОбъектОбложенияИнвалидовСЗВ63 =0, "", " (за исключением форм по категории ООИ)") + ", меньше облагаемых взносами в ПФР сумм, указанных в разделе 2 Расчета РСВ-1!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63); КонецЕсли; Разность = Макс(ОблагаемаяБазаСЗВ63 - ОблагаемаяБазаРСВ1, ОблагаемаяБазаРСВ1 - ОблагаемаяБазаСЗВ63); ДопустимоеРасхождение = Окр(КоличествоПачекСЗВ63/2); Если Разность > ДопустимоеРасхождение Тогда Если РазделСверкиРСВ1иСЗВ63 = Неопределено Тогда РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбработкаКомментариев.ДобавитьСообщение("За отчетный период сформировано " + КоличествоПачекСЗВ63 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("пачка", "пачки", "пачек", КоличествоПачекСЗВ63) + " форм СЗВ-6-3. Допустимое различие показателей Расчета РСВ-1 и форм СЗВ-6-3 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иСЗВ63); ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма облагаемой базы, указанная в формах СЗВ-6-3" + ?(ОбъектОбложенияИнвалидовСЗВ63 =0, "", " (за исключением форм по категории ООИ)") + ", и сумма показателей колонки ""Всего с начала расчетного периода"" по строкам 220 и 221 раздела 2 Расчета РСВ-1 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63); КонецЕсли; Если ОбъектОбложенияИнвалидовСЗВ63 + 0.5 * КоличествоПачекИнвалидовСЗВ63 < ОбъектОбложенияИнвалидовРСВ1 Тогда Если РазделСверкиРСВ1иСЗВ63 = Неопределено Тогда РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма заработка, указанная в формах СЗВ-6-3 по категории ООИ, меньше облагаемых взносами в ПФР сумм, указанных в разделе 3 Расчета РСВ-1!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63); КонецЕсли; Разность = Макс(ОблагаемаяБазаИнвалидовСЗВ63 - ОблагаемаяБазаИнвалидовРСВ1, ОблагаемаяБазаИнвалидовРСВ1 - ОблагаемаяБазаИнвалидовСЗВ63); Если Разность > 1 Тогда Если РазделСверкиРСВ1иСЗВ63 = Неопределено Тогда РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма облагаемой базы, указанная в формах СЗВ-6-3 по категории ООИ, и сумма показателей колонки ""Всего с начала расчетного периода"" по строкам 320 и 321 раздела 3 Расчета РСВ-1 различаются более чем на 1 руб.!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63); КонецЕсли; КонецЕсли; // Сверка «Сведений о сумме выплат и иных вознаграждений, начисляемых плательщиками страховых взносов - страхователями в пользу физического лица» (по форме СЗВ-6-3, АДВ-6-4) со сведениями персонифицированного учета о стаже и начисленным и уплаченным страховым взносам (по форме АДВ-6-2, СЗВ-6-2, СЗВ-6-1) РазделСверкиАДВ62иСЗВ63 = Неопределено; Если Не ЕстьОшибкиАДВ62 И Не ЕстьОшибкиСЗВ6 Тогда Для каждого Элемент Из СоответствиеСсылокИОбъектовСЗВ63 Цикл ОбъектСЗВ63 = Элемент.Значение; Если ОбъектСЗВ63.Организация <> ДокументОбъект.Организация Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Пачка СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " оформлена на " + ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("другую организацию!"), ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); Иначе ДеревоСЗВ63 = СоответствиеСсылокИФайловСЗВ63[Элемент.Ключ]; ДеревоСЗВ63 = ДеревоСЗВ63.Строки.Найти("ВХОДЯЩАЯ_ОПИСЬ_ПО_СУММАМ_ВЫПЛАТ", "Имя"); Если СокрЛП(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(ДеревоСЗВ63, "ИНН")) <> СокрЛП(ИнформацияОПачкеАДВ62.ИНН) Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и пачке СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " не совпадает ИНН!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если СокрЛП(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(ДеревоСЗВ63, "КПП")) <> СокрЛП(ИнформацияОПачкеАДВ62.КПП) Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и пачке СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " не совпадает КПП!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если СокрЛП(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(ДеревоСЗВ63, "РегистрационныйНомер")) <> СокрЛП(ИнформацияОПачкеАДВ62.РегНомерПФР) Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и пачке СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " не совпадает регистрационный номер страхователя в ПФР!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; КонецЕсли; Если ОбъектСЗВ63.ТипСведенийСЗВ = Перечисления.ТипыСведенийСЗВ.ИСХОДНАЯ И ОбъектСЗВ63.ОтчетныйПериод <> Год(ОтчетныйПериодАДВ62) Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Исходная пачка СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " содержит данные за другой отчетный период!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; КонецЦикла; ВыборкаСверкиКоличества = Результаты[ВсегоРезультатов - 1].Выбрать(); ВыборкаСверкиКоличества.Следующий(); Если ВыборкаСверкиКоличества.КоличествоФормСЗВ_6_3 < ВыборкаСверкиКоличества.КоличествоЗастрахованныхСЗВ_6_12 Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Количество исходных форм СЗВ-6-3 меньше количества исходных форм СЗВ-6-1(2), содержащих ненулевые начисленные взносы!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; КоличествоПредыдущихПериодовГода = 0; ПроверяемыйГод = Год(ОтчетныйПериодАДВ62); Для каждого ПрошлыйПериод Из МассивПрошлыхПериодов Цикл Если Год(ПрошлыйПериод) = ПроверяемыйГод И ПрошлыйПериод < ОтчетныйПериодАДВ62 Тогда КоличествоПредыдущихПериодовГода = КоличествоПредыдущихПериодовГода + 1; КонецЕсли; КонецЦикла; КоличествоПринятыхКомплектовГода = 0; Для каждого СтрокаТЧ Из ПачкиДокументов Цикл Если Год(СтрокаТЧ.ОтчетныйПериод) = ПроверяемыйГод И СтрокаТЧ.ОтчетныйПериод < ОтчетныйПериодАДВ62 Тогда КоличествоПринятыхКомплектовГода = КоличествоПринятыхКомплектовГода + 1; КонецЕсли; КонецЦикла; ВыборкаСверкиЗастрахованных = Результаты[ВсегоРезультатов - 2].Выбрать(); ВыборкаСверкиВзносов = Результаты[ВсегоРезультатов - 3].Выбрать(); СтруктураПоиска = Новый Структура("Ссылка, НомерСтрокиСЗВ6_12"); Пока ВыборкаСверкиЗастрахованных.Следующий() Цикл НачалоСообщения = "Для застрахованного " + СокрЛП(ВыборкаСверкиЗастрахованных.ФИОЗастрахованного) + ", указанного в строке " + ВыборкаСверкиЗастрахованных.НомерСтрокиСЗВ6_12 + " пачки СЗВ-6-1(2) № " + ВыборкаСверкиЗастрахованных.НомерПачкиСЗВ6_12 + ": "; Если ВыборкаСверкиЗастрахованных.ОтсуствуетФормаСЗВ63 Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщения + "отсутствуют формы СЗВ-6-3!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); Иначе НачалоСообщенияНесовпадения = НачалоСообщения + "в пачке СЗВ-6-3 № " + ВыборкаСверкиЗастрахованных.НомерПачкиСЗВ_6_3 + " не совпадает "; Если ВыборкаСверкиЗастрахованных.НеСовпадаетСНИЛС Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "СНИЛС!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если ВыборкаСверкиЗастрахованных.НеСовпадаетФамилия Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "фамилия!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если ВыборкаСверкиЗастрахованных.НеСовпадаетИмя Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "имя!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если ВыборкаСверкиЗастрахованных.НеСовпадаетОтчество Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "отчество!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; Если СтруктураПоиска.Ссылка <> ВыборкаСверкиЗастрахованных.Ссылка И СтруктураПоиска.НомерСтрокиСЗВ6_12 <> ВыборкаСверкиЗастрахованных.НомерСтрокиСЗВ6_12 Тогда ЗаполнитьЗначенияСвойств(СтруктураПоиска, ВыборкаСверкиЗастрахованных); // сверка начисленных взносов за текущий отчетный период ВыборкаСверкиВзносов.Сбросить(); Если ВыборкаСверкиВзносов.НайтиСледующий(СтруктураПоиска) Тогда Если ВыборкаСверкиВзносов.РасхождениеВоВзносах > 0.03 Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщения + " сумма начисленных взносов, указанная в форме СЗВ-6-1,2 (" + Формат(ВыборкаСверкиВзносов.НачисленоВзносов,"ЧДЦ=2; ЧГ=0") + "), отличается от суммы взносов, исчисленной по всем формам СЗВ-6-3 (" + Формат(ВыборкаСверкиВзносов.ВзносовКНачислению,"ЧДЦ=2; ЧГ=0") + "), более чем на 3 копейки!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; // сверка начисленных взносов за год в целом ВыборкаСверкиВзносовЗаГод = Результаты[ВсегоРезультатов - 5].Выбрать(); Пока ВыборкаСверкиВзносовЗаГод.Следующий() Цикл Если ВыборкаСверкиВзносовЗаГод.РасхождениеВоВзносах > 0.03 Тогда Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Для застрахованного " + СокрЛП(ВыборкаСверкиВзносовЗаГод.ФИОЗастрахованного) + ": сумма начисленных взносов, указанная в формах СЗВ-6-1,2 текущего года по категории ЗЛ " + ВыборкаСверкиВзносовЗаГод.КатегорияЗастрахованныхЛиц + " (" + Формат(ВыборкаСверкиВзносовЗаГод.НачисленоВзносов,"ЧДЦ=2; ЧГ=0") + "), отличается от суммы взносов, исчисленной по всем формам СЗВ-6-3 этой же категории (" + Формат(ВыборкаСверкиВзносовЗаГод.ВзносовКНачислению,"ЧДЦ=2; ЧГ=0") + "), более чем на 3 копейки!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63); КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; // Сверка отдельных реквизитов Описи сведений персонифицированного учета (формы АДВ-6-2) и Расчета по начисленным и уплаченным страховым взносам (форма РСВ-1) Если Не ЕстьОшибкиСЗВ6 И Не ЕстьОшибкиАДВ62 И Не ЕстьОшибкиРСВ1 Тогда РазделСверкиРСВ1иАДВ62 = Неопределено; Если РСВ1Объект.Организация <> ДокументОбъект.Организация Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); ОбщегоНазначения.ВывестиИнформациюОбОшибке("Расчет РСВ-1 оформлен на " + ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("другую организацию!"), ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); Иначе ИННизАДВ62 = ?(СтрДлина(СокрЛП(ИнформацияОПачкеАДВ62.ИНН)) = 10,"00","") + СокрЛП(ИнформацияОПачкеАДВ62.ИНН); Если СокрЛП(ИННизРСВ1) <> ИННизАДВ62 Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и Расчете РСВ-1 не совпадает ИНН!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; Если СокрЛП(КППизРСВ1) <> СокрЛП(ИнформацияОПачкеАДВ62.КПП) Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и Расчете РСВ-1 не совпадает КПП!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; Если СокрЛП(РегНомерПФРизРСВ1) <> СокрЛП(ИнформацияОПачкеАДВ62.РегНомерПФР) Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и Расчете РСВ-1 не совпадает регистрационный номер страхователя в ПФР!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; КонецЕсли; Если ОтчетныйПериодРСВ1 <> ОтчетныйПериодАДВ62 Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Период Расчета РСВ-1 не соответствует отчетному периоду Описи АДВ-6-2", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); Иначе ДопустимоеРасхождение = Окр(ВсегоКатегорийАДВ62/2); СообщениеОРасхожденииУжеВыводилось = Ложь; Разность = Макс(НачисленоРСВ1НаСтраховую - НачисленоАДВ62НаСтраховую, НачисленоАДВ62НаСтраховую - НачисленоРСВ1НаСтраховую); Если Разность > ДопустимоеРасхождение Тогда Если Не СообщениеОРасхожденииУжеВыводилось Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; СообщениеОРасхожденииУжеВыводилось = Истина; ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы начисленных взносов на страховую часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; Разность = Макс(НачисленоРСВ1НаНакопительную - НачисленоАДВ62НаНакопительную, НачисленоАДВ62НаНакопительную - НачисленоРСВ1НаНакопительную); Если Разность > ДопустимоеРасхождение Тогда Если Не СообщениеОРасхожденииУжеВыводилось Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; СообщениеОРасхожденииУжеВыводилось = Истина; ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы начисленных взносов на накопительную часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; Разность = Макс(УплаченоРСВ1НаСтраховую - УплаченоАДВ62НаСтраховую, УплаченоАДВ62НаСтраховую - УплаченоРСВ1НаСтраховую); Если Разность > ДопустимоеРасхождение Тогда Если Не СообщениеОРасхожденииУжеВыводилось Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; СообщениеОРасхожденииУжеВыводилось = Истина; ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы уплаченных взносов на страховую часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; Разность = Макс(УплаченоРСВ1НаНакопительную - УплаченоАДВ62НаНакопительную, УплаченоАДВ62НаНакопительную - УплаченоРСВ1НаНакопительную); Если Разность > ДопустимоеРасхождение Тогда Если Не СообщениеОРасхожденииУжеВыводилось Тогда Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация); КонецЕсли; СообщениеОРасхожденииУжеВыводилось = Истина; ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62); КонецЕсли; ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы уплаченных взносов на накопительную часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62); КонецЕсли; КонецЕсли; КонецЕсли; ЕстьОшибки = ЕстьОшибкиРСВ1 Или ЕстьОшибкиАДВ62 Или ЕстьОшибкиСЗВ6 Или ЕстьОшибкиРасчетаСЗВ6 Или ЕстьОшибкиСЗВ63 Или ЕстьОшибкиРСВ1_СЗВ63 Или ЕстьОшибкиАДВ62_СЗВ63 Или ЕстьОшибкиАДВ62_РСВ1; Если Не ЕстьОшибки Тогда ОбработкаКомментариев.УдалитьСообщения(); Если СообщатьОбУспехе Тогда ОбщегоНазначения.ВывестиИнформациюОбОшибке("Ошибок не обнаружено!"); КонецЕсли; КонецЕсли; Возврат ЕстьОшибки КонецФункции |
||||
Исправлено в релизе: | 2.5.46 | ||||
Код ошибки: | 10098102 | ||||
Дата публикации: | 23 января 2012 г. | ||||
Описание: | В организациях, применяющих УСН (кроме производственных, имеющих право на льготный тариф), после превышения предельно допустимого значения базы не начисляются взносы в ПФР по ставке 10%. | ||||
Планируется исправить в релизе: | 2.5.46 | ||||
Код ошибки: | 10097572 | ||||
Дата публикации: | 23 января 2012 г. | ||||
Описание: | При заполнении документа "Начисление зарплаты" неверно учитываются периоды кадровых документов. | ||||
Способ исправления: | В общем модуле ЗаполнениеДокументовДополнительный заменить процедуру СформироватьЗапросЗначенийПоказателейУправленческогоУчета и в модуле документа НачислениеЗарплатыРаботникам заменить функции ЗаполнитьПоказателиСтроки, Автозаполнение на приведенные ниже: Процедура СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации = Ложь) Экспорт ТекстЗапроса = "ВЫБРАТЬ | КурсыВалютДляРасчетовСПерсоналом.Валюта, | КурсыВалютДляРасчетовСПерсоналом.Курс, | КурсыВалютДляРасчетовСПерсоналом.Кратность |ПОМЕСТИТЬ КурсыВалют |ИЗ | РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК КурсыВалютДляРасчетовСПерсоналом |ГДЕ | КурсыВалютДляРасчетовСПерсоналом.Период = &парамДатаВалютногоУчета | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | Константы.ВалютаРегламентированногоУчета, | 1, | 1 |ИЗ | Константы КАК Константы | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка), | 1, | 1 |; |"; ТекстЗапроса = ТекстЗапроса + НачислениеЗарплатыРаботникамПереопределяемый.ТекстЗапросаПоказателейВидаРасчетов(); ТекстЗапроса = ТекстЗапроса + " |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияПоказателейСхемМотивации.ПериодДействия КАК ПериодДействия, | ДвиженияРаботников.Физлицо КАК Физлицо, | ДвиженияРаботников.Подразделение КАК Подразделение, | ЗначенияПоказателейСхемМотивации.Показатель КАК Показатель, | ЗначенияПоказателейСхемМотивации.Значение КАК Значение, | ЗначенияПоказателейСхемМотивации.Валюта КАК Валюта |ПОМЕСТИТЬ ЗначенияЕжемесячныхПоказателей |ИЗ | ВТДвиженияРаботников КАК ДвиженияРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПоказателейСхемМотивации КАК ЗначенияПоказателейСхемМотивации | ПО (ЗначенияПоказателейСхемМотивации.Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) | И (ЗначенияПоказателейСхемМотивации.ПериодДействия = НАЧАЛОПЕРИОДА(&парамНачало, МЕСЯЦ)) | И (ВЫБОР | КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.Индивидуальный) | ИЛИ ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя ЕСТЬ NULL | ТОГДА ДвиженияРаботников.Физлицо = ЗначенияПоказателейСхемМотивации.Сотрудник.Физлицо | КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПоПодразделению) | ТОГДА ДвиженияРаботников.Подразделение = ЗначенияПоказателейСхемМотивации.Подразделение | ИНАЧЕ ИСТИНА | КОНЕЦ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Период, | ДвиженияРаботников.Физлицо, | ДвиженияРаботников.Подразделение, | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель, | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Значение, | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Валюта |ПОМЕСТИТЬ ЗначенияПериодическихПоказателей |ИЗ | ВТДвиженияРаботников КАК ДвиженияРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПериодическиеЗначенияПоказателейСхемМотивации.СрезПоследних(&парамКонец, Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) КАК ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних | ПО (ВЫБОР | КОГДА ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПоПодразделению) | ТОГДА ДвиженияРаботников.Подразделение = ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Подразделение | ИНАЧЕ ИСТИНА | КОНЕЦ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РазмерТарифныхСтавокСрезПоследних.Период, | РазмерТарифныхСтавокСрезПоследних.ТарифныйРазряд КАК ТарифныйРазряд, | РазмерТарифныхСтавокСрезПоследних.Размер, | РазмерТарифныхСтавокСрезПоследних.Валюта |ПОМЕСТИТЬ РазмерТарифныхСтавок |ИЗ | РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамНачало) КАК РазмерТарифныхСтавокСрезПоследних | |ИНДЕКСИРОВАТЬ ПО | ТарифныйРазряд |; |"; Если ПоВременнойСхемеМотивации Тогда ТекстЗапроса = ТекстЗапроса + "ВЫБРАТЬ РАЗЛИЧНЫЕ | ДвиженияРаботников.Период, | ДвиженияРаботников.Физлицо, | ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать) КАК Действие, | СхемыМотивацииРаботников.ВидРасчета, | ЛОЖЬ КАК ОсновноеНачисление, | СхемыМотивацииРаботников.Организация, | СхемыМотивацииРаботников.Показатель1, | СхемыМотивацииРаботников.Валюта1, | СхемыМотивацииРаботников.Показатель2, | СхемыМотивацииРаботников.Валюта2, | СхемыМотивацииРаботников.Показатель3, | СхемыМотивацииРаботников.Валюта3, | СхемыМотивацииРаботников.Показатель4, | СхемыМотивацииРаботников.Валюта4, | СхемыМотивацииРаботников.Показатель5, | СхемыМотивацииРаботников.Валюта5, | СхемыМотивацииРаботников.Показатель6, | СхемыМотивацииРаботников.Валюта6, | СхемыМотивацииРаботников.ТарифныйРазряд1, | СхемыМотивацииРаботников.ТарифныйРазряд2, | СхемыМотивацииРаботников.ТарифныйРазряд3, | СхемыМотивацииРаботников.ТарифныйРазряд4, | СхемыМотивацииРаботников.ТарифныйРазряд5, | СхемыМотивацииРаботников.ТарифныйРазряд6 |ПОМЕСТИТЬ ЗаписиПлановыхНачислений |ИЗ | РегистрСведений.СхемыМотивацииРаботников КАК СхемыМотивацииРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ДвиженияРаботников | ПО (СхемыМотивацииРаботников.ВидСхемыМотивации = &парамВидСхемыМотивации) | И (ДвиженияРаботников.Должность = СхемыМотивацииРаботников.Должность) | И (ДвиженияРаботников.Подразделение = СхемыМотивацииРаботников.Подразделение | ИЛИ СхемыМотивацииРаботников.Подразделение В (ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка), НЕОПРЕДЕЛЕНО)) | И (СхемыМотивацииРаботников.ВидРасчета ССЫЛКА ПланВидовРасчета.УправленческиеНачисления) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ДвиженияРаботников.Период, | ДвиженияРаботников.Физлицо, | ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать) КАК Действие, | СхемыМотивацииРаботников.ВидРасчета, | СхемыМотивацииРаботников.Организация, | СхемыМотивацииРаботников.Показатель1, | СхемыМотивацииРаботников.Валюта1, | СхемыМотивацииРаботников.Показатель2, | СхемыМотивацииРаботников.Валюта2, | СхемыМотивацииРаботников.Показатель3, | СхемыМотивацииРаботников.Валюта3, | СхемыМотивацииРаботников.Показатель4, | СхемыМотивацииРаботников.Валюта4, | СхемыМотивацииРаботников.Показатель5, | СхемыМотивацииРаботников.Валюта5, | СхемыМотивацииРаботников.Показатель6, | СхемыМотивацииРаботников.Валюта6, | NULL КАК ДокументОснование |ПОМЕСТИТЬ ЗаписиПлановыхУдержаний |ИЗ | РегистрСведений.СхемыМотивацииРаботников КАК СхемыМотивацииРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ДвиженияРаботников | ПО (СхемыМотивацииРаботников.ВидСхемыМотивации = &парамВидСхемыМотивации) | И (ДвиженияРаботников.Должность = СхемыМотивацииРаботников.Должность) | И (ДвиженияРаботников.Подразделение = СхемыМотивацииРаботников.Подразделение | ИЛИ СхемыМотивацииРаботников.Подразделение В (ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка), НЕОПРЕДЕЛЕНО)) | И (СхемыМотивацииРаботников.ВидРасчета ССЫЛКА ПланВидовРасчета.УправленческиеУдержания) |; |"; Иначе ТекстЗапроса = ТекстЗапроса + " |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | ПлановыеНачисленияРаботников.Период, | ПлановыеНачисленияРаботников.ФизЛицо КАК ФизЛицо, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ДействиеЗавершения | ИНАЧЕ ПлановыеНачисленияРаботников.Действие | КОНЕЦ КАК Действие, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ИЛИ ПлановыеНачисленияРаботников.ВидРасчетаЗавершения = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка) | ТОГДА ПлановыеНачисленияРаботников.ВидРасчета | ИНАЧЕ ПлановыеНачисленияРаботников.ВидРасчетаЗавершения | КОНЕЦ | ИНАЧЕ ПлановыеНачисленияРаботников.ВидРасчета | КОНЕЦ КАК ВидРасчета, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ВидРасчетаИзмерение = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ОсновноеНачисление, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель1Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель2Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель2 | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель3Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель3 | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель4Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель4 | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель5Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель5 | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Показатель6Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Показатель6 | КОНЕЦ КАК Показатель6, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта1Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта2Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта3Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта4Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта5Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.Валюта6Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.Валюта6 | КОНЕЦ КАК Валюта6, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд1Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд1 | КОНЕЦ КАК ТарифныйРазряд1, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд2Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд2 | КОНЕЦ КАК ТарифныйРазряд2, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд3Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд3 | КОНЕЦ КАК ТарифныйРазряд3, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд4Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд4 | КОНЕЦ КАК ТарифныйРазряд4, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд5Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд5 | КОНЕЦ КАК ТарифныйРазряд5, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ТарифныйРазряд6Завершения | ИНАЧЕ ПлановыеНачисленияРаботников.ТарифныйРазряд6 | КОНЕЦ КАК ТарифныйРазряд6 |ПОМЕСТИТЬ ЗаписиПлановыхНачислений |ИЗ | РегистрСведений.ПлановыеНачисленияРаботников.СрезПоследних( | &парамНачало, | Физлицо В | (ВЫБРАТЬ | Физлицо | ИЗ | РаботникиСрезПоследних)) КАК ПлановыеНачисленияРаботников |ГДЕ | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеНачисленияРаботников.ДействиеЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ИНАЧЕ ПлановыеНачисленияРаботников.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | КОНЕЦ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ПлановыеНачисленияРаботников.Период, | ПлановыеНачисленияРаботников.ФизЛицо, | ПлановыеНачисленияРаботников.Действие, | ПлановыеНачисленияРаботников.ВидРасчета, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ВидРасчетаИзмерение = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ, | ПлановыеНачисленияРаботников.Показатель1, | ПлановыеНачисленияРаботников.Показатель2, | ПлановыеНачисленияРаботников.Показатель3, | ПлановыеНачисленияРаботников.Показатель4, | ПлановыеНачисленияРаботников.Показатель5, | ПлановыеНачисленияРаботников.Показатель6, | ПлановыеНачисленияРаботников.Валюта1, | ПлановыеНачисленияРаботников.Валюта2, | ПлановыеНачисленияРаботников.Валюта3, | ПлановыеНачисленияРаботников.Валюта4, | ПлановыеНачисленияРаботников.Валюта5, | ПлановыеНачисленияРаботников.Валюта6, | ПлановыеНачисленияРаботников.ТарифныйРазряд1, | ПлановыеНачисленияРаботников.ТарифныйРазряд2, | ПлановыеНачисленияРаботников.ТарифныйРазряд3, | ПлановыеНачисленияРаботников.ТарифныйРазряд4, | ПлановыеНачисленияРаботников.ТарифныйРазряд5, | ПлановыеНачисленияРаботников.ТарифныйРазряд6 |ИЗ | РегистрСведений.ПлановыеНачисленияРаботников КАК ПлановыеНачисленияРаботников |ГДЕ | ПлановыеНачисленияРаботников.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И ПлановыеНачисленияРаботников.Период > &парамНачало | И ПлановыеНачисленияРаботников.Период <= &парамКонец | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ПлановыеНачисленияРаботников.ПериодЗавершения, | ПлановыеНачисленияРаботников.ФизЛицо, | ПлановыеНачисленияРаботников.ДействиеЗавершения, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ИЛИ ПлановыеНачисленияРаботников.ВидРасчетаЗавершения = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка) | ТОГДА ПлановыеНачисленияРаботников.ВидРасчета | ИНАЧЕ ПлановыеНачисленияРаботников.ВидРасчетаЗавершения | КОНЕЦ, | ВЫБОР | КОГДА ПлановыеНачисленияРаботников.ВидРасчетаИзмерение = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ, | ПлановыеНачисленияРаботников.Показатель1Завершения, | ПлановыеНачисленияРаботников.Показатель2Завершения, | ПлановыеНачисленияРаботников.Показатель3Завершения, | ПлановыеНачисленияРаботников.Показатель4Завершения, | ПлановыеНачисленияРаботников.Показатель5Завершения, | ПлановыеНачисленияРаботников.Показатель6Завершения, | ПлановыеНачисленияРаботников.Валюта1Завершения, | ПлановыеНачисленияРаботников.Валюта2Завершения, | ПлановыеНачисленияРаботников.Валюта3Завершения, | ПлановыеНачисленияРаботников.Валюта4Завершения, | ПлановыеНачисленияРаботников.Валюта5Завершения, | ПлановыеНачисленияРаботников.Валюта6Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд1Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд2Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд3Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд4Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд5Завершения, | ПлановыеНачисленияРаботников.ТарифныйРазряд6Завершения |ИЗ | РегистрСведений.ПлановыеНачисленияРаботников КАК ПлановыеНачисленияРаботников | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботников КАК ВременныеПлановыеНачисленияРаботников | ПО ПлановыеНачисленияРаботников.ФизЛицо = ВременныеПлановыеНачисленияРаботников.ФизЛицо | И ПлановыеНачисленияРаботников.ВидРасчетаИзмерение = ВременныеПлановыеНачисленияРаботников.ВидРасчетаИзмерение | И ПлановыеНачисленияРаботников.Период < ВременныеПлановыеНачисленияРаботников.Период | И ПлановыеНачисленияРаботников.ПериодЗавершения >= ВременныеПлановыеНачисленияРаботников.Период |ГДЕ | ПлановыеНачисленияРаботников.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И ПлановыеНачисленияРаботников.ПериодЗавершения >= &парамНачало | И ПлановыеНачисленияРаботников.ПериодЗавершения <= &парамКонец | И ВременныеПлановыеНачисленияРаботников.ФизЛицо ЕСТЬ NULL | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо, | ВидРасчета, | ТарифныйРазряд1, | ТарифныйРазряд2, | ТарифныйРазряд3, | ТарифныйРазряд4, | ТарифныйРазряд5, | ТарифныйРазряд6 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | ПлановыеУдержанияРаботников.Период, | ПлановыеУдержанияРаботников.ФизЛицо КАК ФизЛицо, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.ДействиеЗавершения | ИНАЧЕ ПлановыеУдержанияРаботников.Действие | КОНЕЦ КАК Действие, | ПлановыеУдержанияРаботников.ВидРасчета КАК ВидРасчета, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель1Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель2Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель2 | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель3Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель3 | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель4Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель4 | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель5Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель5 | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Показатель6Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Показатель6 | КОНЕЦ КАК Показатель6, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта1Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта2Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта3Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта4Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта5Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.Валюта6Завершения | ИНАЧЕ ПлановыеУдержанияРаботников.Валюта6 | КОНЕЦ КАК Валюта6, | ПлановыеУдержанияРаботников.ДокументОснование |ПОМЕСТИТЬ ЗаписиПлановыхУдержаний |ИЗ | РегистрСведений.ПлановыеУдержанияРаботников.СрезПоследних( | &парамНачало, | Физлицо В | (ВЫБРАТЬ | Физлицо | ИЗ | РаботникиСрезПоследних)) КАК ПлановыеУдержанияРаботников |ГДЕ | ВЫБОР | КОГДА ПлановыеУдержанияРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамНачало | ТОГДА ПлановыеУдержанияРаботников.ДействиеЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ИНАЧЕ ПлановыеУдержанияРаботников.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | КОНЕЦ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ПлановыеУдержанияРаботников.Период, | ПлановыеУдержанияРаботников.ФизЛицо, | ПлановыеУдержанияРаботников.Действие, | ПлановыеУдержанияРаботников.ВидРасчета, | ПлановыеУдержанияРаботников.Показатель1, | ПлановыеУдержанияРаботников.Показатель2, | ПлановыеУдержанияРаботников.Показатель3, | ПлановыеУдержанияРаботников.Показатель4, | ПлановыеУдержанияРаботников.Показатель5, | ПлановыеУдержанияРаботников.Показатель6, | ПлановыеУдержанияРаботников.Валюта1, | ПлановыеУдержанияРаботников.Валюта2, | ПлановыеУдержанияРаботников.Валюта3, | ПлановыеУдержанияРаботников.Валюта4, | ПлановыеУдержанияРаботников.Валюта5, | ПлановыеУдержанияРаботников.Валюта6, | ПлановыеУдержанияРаботников.ДокументОснование |ИЗ | РегистрСведений.ПлановыеУдержанияРаботников КАК ПлановыеУдержанияРаботников |ГДЕ | ПлановыеУдержанияРаботников.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И ПлановыеУдержанияРаботников.Период > &парамНачало | И ПлановыеУдержанияРаботников.Период <= &парамКонец | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ПлановыеУдержанияРаботников.ПериодЗавершения, | ПлановыеУдержанияРаботников.ФизЛицо, | ПлановыеУдержанияРаботников.ДействиеЗавершения, | ПлановыеУдержанияРаботников.ВидРасчета, | ПлановыеУдержанияРаботников.Показатель1Завершения, | ПлановыеУдержанияРаботников.Показатель2Завершения, | ПлановыеУдержанияРаботников.Показатель3Завершения, | ПлановыеУдержанияРаботников.Показатель4Завершения, | ПлановыеУдержанияРаботников.Показатель5Завершения, | ПлановыеУдержанияРаботников.Показатель6Завершения, | ПлановыеУдержанияРаботников.Валюта1Завершения, | ПлановыеУдержанияРаботников.Валюта2Завершения, | ПлановыеУдержанияРаботников.Валюта3Завершения, | ПлановыеУдержанияРаботников.Валюта4Завершения, | ПлановыеУдержанияРаботников.Валюта5Завершения, | ПлановыеУдержанияРаботников.Валюта6Завершения, | ПлановыеУдержанияРаботников.ДокументОснование |ИЗ | РегистрСведений.ПлановыеУдержанияРаботников КАК ПлановыеУдержанияРаботников | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеУдержанияРаботников КАК ВременныеПлановыеУдержанияРаботников | ПО ПлановыеУдержанияРаботников.ФизЛицо = ВременныеПлановыеУдержанияРаботников.ФизЛицо | И ПлановыеУдержанияРаботников.ВидРасчета = ВременныеПлановыеУдержанияРаботников.ВидРасчета | И ПлановыеУдержанияРаботников.Период < ВременныеПлановыеУдержанияРаботников.Период | И ПлановыеУдержанияРаботников.ПериодЗавершения >= ВременныеПлановыеУдержанияРаботников.Период | И ПлановыеУдержанияРаботников.ДокументОснование = ВременныеПлановыеУдержанияРаботников.ДокументОснование |ГДЕ | ПлановыеУдержанияРаботников.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И ПлановыеУдержанияРаботников.ПериодЗавершения >= &парамНачало | И ПлановыеУдержанияРаботников.ПериодЗавершения <= &парамКонец | И ВременныеПлановыеУдержанияРаботников.ФизЛицо ЕСТЬ NULL | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо, | ВидРасчета |; |"; КонецЕсли; ТекстЗапроса = ТекстЗапроса + " |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗаписиПлановыхНачислений.Период, | ЗаписиПлановыхНачислений.ФизЛицо, | ЗаписиПлановыхНачислений.Действие, | ЗаписиПлановыхНачислений.ВидРасчета, | ЗаписиПлановыхНачислений.ОсновноеНачисление, | ВЫБОР | КОГДА ПоказательВидаРасчета1.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда1.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА ПоказательВидаРасчета2.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда2.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель2 | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА ПоказательВидаРасчета3.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда3.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель3 | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА ПоказательВидаРасчета4.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда4.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель4 | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА ПоказательВидаРасчета5.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда5.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель5 | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА ПоказательВидаРасчета6.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда6.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель6 | КОНЕЦ КАК Показатель6, | ВЫБОР | КОГДА ПоказательВидаРасчета1.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда1.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА ПоказательВидаРасчета2.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда2.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА ПоказательВидаРасчета3.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда3.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА ПоказательВидаРасчета4.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда4.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА ПоказательВидаРасчета5.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда5.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА ПоказательВидаРасчета6.ТипТарифныйРазряд | ТОГДА РазмерТарифнойСтавкиРазряда6.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта6 | КОНЕЦ КАК Валюта6, | ПоказательВидаРасчета1.Показатель КАК ПоказательСсылка1, | ПоказательВидаРасчета2.Показатель КАК ПоказательСсылка2, | ПоказательВидаРасчета3.Показатель КАК ПоказательСсылка3, | ПоказательВидаРасчета4.Показатель КАК ПоказательСсылка4, | ПоказательВидаРасчета5.Показатель КАК ПоказательСсылка5, | ПоказательВидаРасчета6.Показатель КАК ПоказательСсылка6 |ПОМЕСТИТЬ ПлановыеНачисления |ИЗ | ЗаписиПлановыхНачислений КАК ЗаписиПлановыхНачислений | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета1 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета1.ВидРасчета | И (ПоказательВидаРасчета1.НомерПоказателя = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета2 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета2.ВидРасчета | И (ПоказательВидаРасчета2.НомерПоказателя = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета3 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета3.ВидРасчета | И (ПоказательВидаРасчета3.НомерПоказателя = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета4 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета4.ВидРасчета | И (ПоказательВидаРасчета4.НомерПоказателя = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета5 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета5.ВидРасчета | И (ПоказательВидаРасчета5.НомерПоказателя = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета6 | ПО ЗаписиПлановыхНачислений.ВидРасчета = ПоказательВидаРасчета6.ВидРасчета | И (ПоказательВидаРасчета6.НомерПоказателя = 6) | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда1 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд1 = РазмерТарифнойСтавкиРазряда1.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда2 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд2 = РазмерТарифнойСтавкиРазряда2.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда3 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд3 = РазмерТарифнойСтавкиРазряда3.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда4 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд4 = РазмерТарифнойСтавкиРазряда4.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда5 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд5 = РазмерТарифнойСтавкиРазряда5.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РазмерТарифныхСтавок КАК РазмерТарифнойСтавкиРазряда6 | ПО ЗаписиПлановыхНачислений.ТарифныйРазряд6 = РазмерТарифнойСтавкиРазряда6.ТарифныйРазряд |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗаписиПлановыхУдержаний.Период, | ЗаписиПлановыхУдержаний.ФизЛицо, | ЗаписиПлановыхУдержаний.Действие, | ЗаписиПлановыхУдержаний.ВидРасчета, | ЗаписиПлановыхУдержаний.Показатель1 КАК Показатель1, | ЗаписиПлановыхУдержаний.Показатель2 КАК Показатель2, | ЗаписиПлановыхУдержаний.Показатель3 КАК Показатель3, | ЗаписиПлановыхУдержаний.Показатель4 КАК Показатель4, | ЗаписиПлановыхУдержаний.Показатель5 КАК Показатель5, | ЗаписиПлановыхУдержаний.Показатель6 КАК Показатель6, | ЗаписиПлановыхУдержаний.Валюта1 КАК Валюта1, | ЗаписиПлановыхУдержаний.Валюта2 КАК Валюта2, | ЗаписиПлановыхУдержаний.Валюта3 КАК Валюта3, | ЗаписиПлановыхУдержаний.Валюта4 КАК Валюта4, | ЗаписиПлановыхУдержаний.Валюта5 КАК Валюта5, | ЗаписиПлановыхУдержаний.Валюта6 КАК Валюта6, | ПоказательВидаРасчета1.Показатель КАК ПоказательСсылка1, | ПоказательВидаРасчета2.Показатель КАК ПоказательСсылка2, | ПоказательВидаРасчета3.Показатель КАК ПоказательСсылка3, | ПоказательВидаРасчета4.Показатель КАК ПоказательСсылка4, | ПоказательВидаРасчета5.Показатель КАК ПоказательСсылка5, | ПоказательВидаРасчета6.Показатель КАК ПоказательСсылка6, | ЗаписиПлановыхУдержаний.ДокументОснование |ПОМЕСТИТЬ ПлановыеУдержания |ИЗ | ЗаписиПлановыхУдержаний КАК ЗаписиПлановыхУдержаний | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета1 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета1.ВидРасчета | И (ПоказательВидаРасчета1.НомерПоказателя = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета2 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета2.ВидРасчета | И (ПоказательВидаРасчета2.НомерПоказателя = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета3 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета3.ВидРасчета | И (ПоказательВидаРасчета3.НомерПоказателя = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета4 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета4.ВидРасчета | И (ПоказательВидаРасчета4.НомерПоказателя = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета5 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета5.ВидРасчета | И (ПоказательВидаРасчета5.НомерПоказателя = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказательВидаРасчета6 | ПО ЗаписиПлановыхУдержаний.ВидРасчета = ПоказательВидаРасчета6.ВидРасчета | И (ПоказательВидаРасчета6.НомерПоказателя = 6) |; |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПлановыеПоказатели.Период, | ПлановыеПоказатели.ФизЛицо, | ВЫБОР | КОГДА ПлановыеПоказатели.НомерПоказателя = 1 | ТОГДА ПлановыеПоказатели.ПоказательСсылка1 | КОГДА ПлановыеПоказатели.НомерПоказателя = 2 | ТОГДА ПлановыеПоказатели.ПоказательСсылка2 | КОГДА ПлановыеПоказатели.НомерПоказателя = 3 | ТОГДА ПлановыеПоказатели.ПоказательСсылка3 | КОГДА ПлановыеПоказатели.НомерПоказателя = 4 | ТОГДА ПлановыеПоказатели.ПоказательСсылка4 | КОГДА ПлановыеПоказатели.НомерПоказателя = 5 | ТОГДА ПлановыеПоказатели.ПоказательСсылка5 | КОГДА ПлановыеПоказатели.НомерПоказателя = 6 | ТОГДА ПлановыеПоказатели.ПоказательСсылка6 | КОНЕЦ КАК Показатель, | ВЫБОР | КОГДА ПлановыеПоказатели.НомерПоказателя = 1 | ТОГДА ПлановыеПоказатели.Показатель1 | КОГДА ПлановыеПоказатели.НомерПоказателя = 2 | ТОГДА ПлановыеПоказатели.Показатель2 | КОГДА ПлановыеПоказатели.НомерПоказателя = 3 | ТОГДА ПлановыеПоказатели.Показатель3 | КОГДА ПлановыеПоказатели.НомерПоказателя = 4 | ТОГДА ПлановыеПоказатели.Показатель4 | КОГДА ПлановыеПоказатели.НомерПоказателя = 5 | ТОГДА ПлановыеПоказатели.Показатель5 | КОГДА ПлановыеПоказатели.НомерПоказателя = 6 | ТОГДА ПлановыеПоказатели.Показатель6 | КОНЕЦ КАК Значение, | ВЫБОР | КОГДА ПлановыеПоказатели.НомерПоказателя = 1 | ТОГДА ПлановыеПоказатели.Валюта1 | КОГДА ПлановыеПоказатели.НомерПоказателя = 2 | ТОГДА ПлановыеПоказатели.Валюта2 | КОГДА ПлановыеПоказатели.НомерПоказателя = 3 | ТОГДА ПлановыеПоказатели.Валюта3 | КОГДА ПлановыеПоказатели.НомерПоказателя = 4 | ТОГДА ПлановыеПоказатели.Валюта4 | КОГДА ПлановыеПоказатели.НомерПоказателя = 5 | ТОГДА ПлановыеПоказатели.Валюта5 | КОГДА ПлановыеПоказатели.НомерПоказателя = 6 | ТОГДА ПлановыеПоказатели.Валюта6 | КОНЕЦ КАК Валюта |ПОМЕСТИТЬ ЗначенияПлановыхПоказателей |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ПлановыеНачисления.Период КАК Период, | ПлановыеНачисления.ФизЛицо КАК ФизЛицо, | ПоказателиВидаРасчета.НомерПоказателя КАК НомерПоказателя, | ПлановыеНачисления.ПоказательСсылка1 КАК ПоказательСсылка1, | ПлановыеНачисления.ПоказательСсылка2 КАК ПоказательСсылка2, | ПлановыеНачисления.ПоказательСсылка3 КАК ПоказательСсылка3, | ПлановыеНачисления.ПоказательСсылка4 КАК ПоказательСсылка4, | ПлановыеНачисления.ПоказательСсылка5 КАК ПоказательСсылка5, | ПлановыеНачисления.ПоказательСсылка6 КАК ПоказательСсылка6, | ПлановыеНачисления.Показатель1 КАК Показатель1, | ПлановыеНачисления.Показатель2 КАК Показатель2, | ПлановыеНачисления.Показатель3 КАК Показатель3, | ПлановыеНачисления.Показатель4 КАК Показатель4, | ПлановыеНачисления.Показатель5 КАК Показатель5, | ПлановыеНачисления.Показатель6 КАК Показатель6, | ПлановыеНачисления.Валюта1 КАК Валюта1, | ПлановыеНачисления.Валюта2 КАК Валюта2, | ПлановыеНачисления.Валюта3 КАК Валюта3, | ПлановыеНачисления.Валюта4 КАК Валюта4, | ПлановыеНачисления.Валюта5 КАК Валюта5, | ПлановыеНачисления.Валюта6 КАК Валюта6 | ИЗ | ПлановыеНачисления КАК ПлановыеНачисления | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказателиВидаРасчета | ПО ПлановыеНачисления.ВидРасчета = ПоказателиВидаРасчета.ВидРасчета | ГДЕ | ПоказателиВидаРасчета.ЗапрашиватьПриКадровыхПеремещениях | И ПоказателиВидаРасчета.Показатель.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ПлановыеУдержания.Период, | ПлановыеУдержания.ФизЛицо, | ПоказателиВидаРасчета.НомерПоказателя, | ПлановыеУдержания.ПоказательСсылка1, | ПлановыеУдержания.ПоказательСсылка2, | ПлановыеУдержания.ПоказательСсылка3, | ПлановыеУдержания.ПоказательСсылка4, | ПлановыеУдержания.ПоказательСсылка5, | ПлановыеУдержания.ПоказательСсылка6, | ПлановыеУдержания.Показатель1, | ПлановыеУдержания.Показатель2, | ПлановыеУдержания.Показатель3, | ПлановыеУдержания.Показатель4, | ПлановыеУдержания.Показатель5, | ПлановыеУдержания.Показатель6, | ПлановыеУдержания.Валюта1, | ПлановыеУдержания.Валюта2, | ПлановыеУдержания.Валюта3, | ПлановыеУдержания.Валюта4, | ПлановыеУдержания.Валюта5, | ПлановыеУдержания.Валюта6 | ИЗ | ПлановыеУдержания КАК ПлановыеУдержания | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказателиВидаРасчета | ПО ПлановыеУдержания.ВидРасчета = ПоказателиВидаРасчета.ВидРасчета | ГДЕ | ПоказателиВидаРасчета.ЗапрашиватьПриКадровыхПеремещениях | И ПоказателиВидаРасчета.Показатель.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется)) КАК ПлановыеПоказатели |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗначенияПоказателей.ПериодДействия, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Показатель, | ЗначенияПоказателей.Значение, | ВЫБОР | КОГДА ЗначенияПоказателей." + ЗаполнениеДокументовЗК.ВалютаПоказателяИмяПоляЗапроса() + " = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА ВЫБОР | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | ТОГДА ЗначенияПоказателей.Показатель.Валюта | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.СуммаПоказателя) | И ЗначенияПоказателей.Показатель.СуммируемыйПоказатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | ТОГДА ЗначенияПоказателей.Показатель.СуммируемыйПоказатель.Валюта | ИНАЧЕ ЗначенияПоказателей.Валюта | КОНЕЦ | ИНАЧЕ ЗначенияПоказателей." + ЗаполнениеДокументовЗК.ВалютаПоказателяИмяПоляЗапроса() + " | КОНЕЦ КАК Валюта |ПОМЕСТИТЬ ЗначенияПоказателейИсходнаяВалюта |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияЕжемесячныхПоказателей.ПериодДействия КАК ПериодДействия, | ЗначенияЕжемесячныхПоказателей.Физлицо КАК Физлицо, | ЗначенияЕжемесячныхПоказателей.Показатель КАК Показатель, | ЗначенияЕжемесячныхПоказателей.Значение КАК Значение, | ЗначенияЕжемесячныхПоказателей.Валюта КАК Валюта | ИЗ | ЗначенияЕжемесячныхПоказателей КАК ЗначенияЕжемесячныхПоказателей | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ЗначенияПериодическихПоказателей.Период, | ЗначенияПериодическихПоказателей.Физлицо, | ЗначенияПериодическихПоказателей.Показатель, | ЗначенияПериодическихПоказателей.Значение, | ЗначенияПериодическихПоказателей.Валюта | ИЗ | ЗначенияПериодическихПоказателей КАК ЗначенияПериодическихПоказателей | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ЗначенияПлановыхПоказателей.Период, | ЗначенияПлановыхПоказателей.Физлицо, | ЗначенияПлановыхПоказателей.Показатель, | ЗначенияПлановыхПоказателей.Значение, | ЗначенияПлановыхПоказателей.Валюта | ИЗ | ЗначенияПлановыхПоказателей КАК ЗначенияПлановыхПоказателей) КАК ЗначенияПоказателей |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗначенияПоказателей.ПериодДействия, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Показатель, | ЗначенияПоказателей.Значение КАК ИсходноеЗначение, | ВЫБОР | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | ТОГДА ЗначенияПоказателей.Значение * (КурсВалютыПоказателя.Курс / КурсВалютыПоказателя.Кратность) / (КурсВалютыУпрУчета.Курс / КурсВалютыУпрУчета.Кратность) | ИНАЧЕ ЗначенияПоказателей.Значение | КОНЕЦ КАК Значение, | ЗначенияПоказателей.Валюта, | ВЫБОР | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | И (НЕ ЗначенияПоказателей.Валюта В (Константы.ВалютаУправленческогоУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ВводитсяВВалюте, | КурсВалютыПоказателя.Курс / КурсВалютыПоказателя.Кратность / (КурсВалютыУпрУчета.Курс / КурсВалютыУпрУчета.Кратность) КАК КурсВалюты |ПОМЕСТИТЬ ЗначенияПоказателейИсходныйПериодДействия |ИЗ | ЗначенияПоказателейИсходнаяВалюта КАК ЗначенияПоказателей | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыПоказателя | ПО ЗначенияПоказателей.Валюта = КурсВалютыПоказателя.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыУпрУчета | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Константы КАК Константы | ПО (ИСТИНА) | ПО (КурсВалютыУпрУчета.Валюта = Константы.ВалютаУправленческогоУчета) | |ИНДЕКСИРОВАТЬ ПО | ЗначенияПоказателей.ПериодДействия, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Показатель"; Запрос.Текст = ТекстЗапроса; Запрос.Выполнить(); КонецПроцедуры // СформироватьЗапросЗначенийПоказателейУправленческогоУчета //Выполняет автоматическое заполнение показателей в строке // Процедура ЗаполнитьПоказателиСтроки(СтрокаТабличнойЧасти, ИмяТабличнойЧасти) Экспорт Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; ДатаНачала = ?(ЗначениеЗаполнено(СтрокаТабличнойЧасти.ДатаНачала), СтрокаТабличнойЧасти.ДатаНачала, ПериодРегистрации); Запрос.УстановитьПараметр("парамНачало", ДатаНачала); Запрос.УстановитьПараметр("парамКонец", КонецМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("парамПользователь", Ответственный); Запрос.УстановитьПараметр("парамДатаВалютногоУчета", НачалоМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("парамВидСхемыМотивации", ВидСхемыМотивации); Физлицо = ?(ИмяТабличнойЧасти = "Начисления", ОбщегоНазначения.ПолучитьЗначениеРеквизита(СтрокаТабличнойЧасти.Сотрудник, "Физлицо"), СтрокаТабличнойЧасти.Физлицо); Запрос.УстановитьПараметр("Физлицо", Физлицо); Запрос.УстановитьПараметр("ВидРасчета", СтрокаТабличнойЧасти.ВидРасчета); Запрос.Текст = "ВЫБРАТЬ | РаботникиСрезПоследних.ФизЛицо, | РаботникиСрезПоследних.Подразделение, | РаботникиСрезПоследних.Должность |ПОМЕСТИТЬ РаботникиСрезПоследних |ИЗ | РегистрСведений.Работники.СрезПоследних(&парамНачало, Физлицо = &Физлицо) КАК РаботникиСрезПоследних |ГДЕ | РаботникиСрезПоследних.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РаботникиСрезПоследних.ФизЛицо, | РаботникиСрезПоследних.Подразделение, | РаботникиСрезПоследних.Должность |ПОМЕСТИТЬ СписокРаботников |ИЗ | РаботникиСрезПоследних КАК РаботникиСрезПоследних |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | &парамНачало КАК Период, | СписокРаботников.ФизЛицо, | СписокРаботников.Подразделение, | СписокРаботников.Должность, | ИСТИНА КАК Подходит |ПОМЕСТИТЬ ВТДвиженияРаботников |ИЗ | СписокРаботников КАК СписокРаботников"; Запрос.Выполнить(); ЗаполнениеДокументовДополнительный.СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации); Запрос.Текст = "ВЫБРАТЬ | ЗначенияПоказателей.ПериодДействия, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Показатель, | ЗначенияПоказателей.ИсходноеЗначение, | ЗначенияПоказателей.Значение, | ЗначенияПоказателей.Валюта, | ЗначенияПоказателей.ВводитсяВВалюте, | ЗначенияПоказателей.КурсВалюты |ПОМЕСТИТЬ ЗначенияПоказателей |ИЗ | ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПериодыФизлиц.Период КАК Период, | ПериодыФизлиц.ФизЛицо КАК ФизЛицо, | ЗначенияПоказателей.Показатель КАК Показатель, | МАКСИМУМ(ЗначенияПоказателей.ПериодДействия) КАК ДатаЗначенияПоказателя | ИЗ | ВТДвиженияРаботников КАК ПериодыФизлиц | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателей | ПО ПериодыФизлиц.ФизЛицо = ЗначенияПоказателей.Физлицо | И ПериодыФизлиц.Период >= ЗначенияПоказателей.ПериодДействия | | СГРУППИРОВАТЬ ПО | ПериодыФизлиц.Период, | ПериодыФизлиц.ФизЛицо, | ЗначенияПоказателей.Показатель) КАК ДатыЗначенийПоказателей | ПО (ДатыЗначенийПоказателей.ФизЛицо = ЗначенияПоказателей.Физлицо) | И (ДатыЗначенийПоказателей.Показатель = ЗначенияПоказателей.Показатель) | И (ДатыЗначенийПоказателей.ДатаЗначенияПоказателя = ЗначенияПоказателей.ПериодДействия) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияПоказателя1.Значение КАК Показатель1, | ЗначенияПоказателя2.Значение КАК Показатель2, | ЗначенияПоказателя3.Значение КАК Показатель3, | ЗначенияПоказателя4.Значение КАК Показатель4, | ЗначенияПоказателя5.Значение КАК Показатель5, | ЗначенияПоказателя6.Значение КАК Показатель6 |ИЗ | ПоказателиВидаРасчета КАК ПоказателиВидаРасчета | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель1 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя1 | ПО Показатель1.Показатель = ЗначенияПоказателя1.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель1.ВидРасчета | И (Показатель1.НомерПоказателя = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель2 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя2 | ПО Показатель2.Показатель = ЗначенияПоказателя2.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель2.ВидРасчета | И (Показатель2.НомерПоказателя = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель3 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя3 | ПО Показатель3.Показатель = ЗначенияПоказателя3.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель3.ВидРасчета | И (Показатель3.НомерПоказателя = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель4 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя4 | ПО Показатель4.Показатель = ЗначенияПоказателя4.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель4.ВидРасчета | И (Показатель4.НомерПоказателя = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель5 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя5 | ПО Показатель5.Показатель = ЗначенияПоказателя5.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель5.ВидРасчета | И (Показатель5.НомерПоказателя = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель6 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначенияПоказателя6 | ПО Показатель6.Показатель = ЗначенияПоказателя6.Показатель | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель6.ВидРасчета | И (Показатель6.НомерПоказателя = 6) |ГДЕ | ПоказателиВидаРасчета.ВидРасчета = &ВидРасчета"; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда ЗаполнитьЗначенияСвойств(СтрокаТабличнойЧасти, Выборка); КонецЕсли; КонецПроцедуры // Выполняет автоматическое заполнение документа по данным документа и переданным параметрам // // Параметры: // нет // // Возвращаемое значение: // Логическое - удалось ли выполнить автоматическое заполнение документа // Функция Автозаполнение(Запрос = Неопределено, МассивФизлица = Неопределено) Экспорт Перем ВалютаУпрУчета; Перем КурсВалютыУпрУчета; ПроведениеРасчетовДополнительный.ПолучитьКурсВалютыУпрУчета(ПериодРегистрации, ПериодРегистрации, ВалютаУпрУчета, КурсВалютыУпрУчета, Константы.ВалютаРегламентированногоУчета.Получить()); КурсВалютыУпрУчета = КурсВалютыУпрУчета.Получить(ПериодРегистрации); Если КурсВалютыУпрУчета = 0 Тогда МассивРасшифровки = Новый Массив; МассивРасшифровки.Добавить("ОткрытьФормуСписка"); МассивРасшифровки.Добавить("РегистрыСведений.КурсыВалютДляРасчетовСПерсоналом"); Расшифровки = Новый Массив; Расшифровки.Добавить(Новый Структура("Представление,Расшифровка", "Заполните курс валют" + " ", МассивРасшифровки)); ОбщегоНазначения.ВывестиИнформациюОбОшибке(" не задан курс валюты управленческого учета (" + ВалютаУпрУчета + ") для расчетов с персоналом", , , Перечисления.ВидыСообщений.Ошибка, Расшифровки); Возврат Ложь; КонецЕсли; ОтборПоОтветственным = ЗначениеЗаполнено(Ответственный) И глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналу").РасчетЗарплатыПоОтветственным; // Проверим ответственного - является ли он расчетчиком вообще и для заданного // подразделения (если оно задано) Если ОтборПоОтветственным Тогда Запрос = Новый Запрос( "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | Подразделения.Ссылка |ИЗ | Справочник.Подразделения КАК Подразделения |ГДЕ | ((НЕ &ОтборПоПодразделениям) | ИЛИ Подразделения.Ссылка В ИЕРАРХИИ (&Подразделение)) | И Подразделения.Ссылка В ИЕРАРХИИ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Расчетчики.Подразделение | ИЗ | РегистрСведений.РасчетчикиЗарплаты.СрезПоследних(&ПериодРегистрации) КАК Расчетчики | ГДЕ | Расчетчики.Пользователь = &Ответственный)"); Запрос.УстановитьПараметр("ОтборПоПодразделениям", ЗначениеЗаполнено(Подразделение)); Запрос.УстановитьПараметр("Подразделение", Подразделение); Запрос.УстановитьПараметр("ПериодРегистрации", ПериодРегистрации); Запрос.УстановитьПараметр("Ответственный", Ответственный); Если Запрос.Выполнить().Пустой() Тогда ОбщегоНазначения.ВывестиИнформациюОбОшибке( СтрЗаменить("Ответственный за этот документ не является расчетчиком %1 компании", "%1", ?(ЗначениеЗаполнено(Подразделение), "для выбранного подразделения", "ни для одного из подразделений"))); Возврат Ложь; КонецЕсли; КонецЕсли; ОтборПоВТСписокРаботников = Запрос <> Неопределено; // если временная таблица не передана, создаем имитацию // для работоспособности последующих запросов, // отбора по ней все равно не будет выполняться Если Не ОтборПоВТСписокРаботников Тогда Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | NULL КАК Сотрудник, | NULL КАК Физлицо |ПОМЕСТИТЬ ВТСписокРаботников"; Иначе Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; КонецЕсли; Запрос.Выполнить(); // Установим параметры запроса Запрос.УстановитьПараметр("парамНачало", ПериодРегистрации); Запрос.УстановитьПараметр("парамКонец", КонецМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("парамПользователь", Ответственный); Запрос.УстановитьПараметр("парамПодразделение", Подразделение); Запрос.УстановитьПараметр("парамРегистратор", Ссылка); Запрос.УстановитьПараметр("парамДатаВалютногоУчета", НачалоМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("парамВидСхемыМотивации", ВидСхемыМотивации); Запрос.УстановитьПараметр("ОтборПоВТСписокРаботников", ОтборПоВТСписокРаботников); Запрос.УстановитьПараметр("ОтборПоОтветственным", ОтборПоОтветственным); Запрос.УстановитьПараметр("ОтборПоПодразделениям", ЗначениеЗаполнено(Подразделение)); Запрос.УстановитьПараметр("Физлица", МассивФизлица); Запрос.УстановитьПараметр("ОтборПоФизлицам", МассивФизлица <> Неопределено); Запрос.Текст = "ВЫБРАТЬ | Подразделения.Ссылка |ПОМЕСТИТЬ Подразделения |ИЗ | Справочник.Подразделения КАК Подразделения |ГДЕ | ((НЕ &ОтборПоОтветственным) | ИЛИ Подразделения.Ссылка В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Расчетчики.Подразделение | ИЗ | РегистрСведений.РасчетчикиЗарплаты.СрезПоследних(&парамНачало) КАК Расчетчики | ГДЕ | Расчетчики.Пользователь = &парамПользователь)) | И ((НЕ &ОтборПоПодразделениям) | ИЛИ Подразделения.Ссылка В ИЕРАРХИИ (&парамПодразделение)) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | Работники.ФизЛицо, | Работники.Подразделение, | Работники.Должность, | Работники.ГрафикРаботы |ПОМЕСТИТЬ РаботникиСрезПоследних |ИЗ | РегистрСведений.Работники.СрезПоследних( | &парамНачало, | ((НЕ &ОтборПоФизлицам) | ИЛИ ФизЛицо В (&Физлица)) | И ((НЕ &ОтборПоВТСписокРаботников) | ИЛИ Физлицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | ВТСписокРаботников КАК СписокРаботников))) КАК Работники |ГДЕ | Работники.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | &парамНачало КАК Период, | Работники.ФизЛицо КАК Физлицо, | ИСТИНА КАК Подходит, | Работники.Подразделение КАК Подразделение, | Работники.ГрафикРаботы КАК ГрафикРаботы, | Работники.Должность КАК Должность |ПОМЕСТИТЬ СписокРаботников |ИЗ | РаботникиСрезПоследних КАК Работники | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Работники.Период, | Работники.ФизЛицо, | ВЫБОР | КОГДА Работники.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ, | Работники.Подразделение, | Работники.ГрафикРаботы, | Работники.Должность |ИЗ | РегистрСведений.Работники КАК Работники |ГДЕ | Работники.Период > &парамНачало | И Работники.Период <= &парамКонец | И ((НЕ &ОтборПоФизлицам) | ИЛИ Работники.ФизЛицо В (&Физлица)) | И ((НЕ &ОтборПоВТСписокРаботников) | ИЛИ Работники.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | ВТСписокРаботников КАК СписокРаботников)) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | РаботникиОрганизаций.Сотрудник КАК Сотрудник, | РаботникиОрганизаций.Сотрудник.Физлицо КАК Физлицо, | РаботникиОрганизаций.Сотрудник.ВидЗанятости КАК ВидЗанятости, | РаботникиОрганизаций.Сотрудник.ВидДоговора КАК ВидДоговора |ПОМЕСТИТЬ РаботникиОрганизаций |ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних( | &парамКонец, | Сотрудник.Физлицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников)) КАК РаботникиОрганизаций |ГДЕ | ВЫБОР | КОГДА РаботникиОрганизаций.ПериодЗавершения <= &парамКонец | И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизаций.ПричинаИзмененияСостоянияЗавершения | ИНАЧЕ РаботникиОрганизаций.ПричинаИзмененияСостояния | КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | СправочникСотрудники.Ссылка, | СправочникСотрудники.Физлицо, | СправочникСотрудники.ВидДоговора |ПОМЕСТИТЬ СправочникСотрудники |ИЗ | Справочник.СотрудникиОрганизаций КАК СправочникСотрудники |ГДЕ | СправочникСотрудники.Физлицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МАКСИМУМ(РаботникиОсновноеМесто.Сотрудник) КАК Сотрудник, | РаботникиОсновноеМесто.Физлицо КАК Физлицо, | 1 КАК Приоритет |ПОМЕСТИТЬ СписокСотрудников |ИЗ | РаботникиОрганизаций КАК РаботникиОсновноеМесто |ГДЕ | РаботникиОсновноеМесто.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы) | |СГРУППИРОВАТЬ ПО | РаботникиОсновноеМесто.Физлицо | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | МАКСИМУМ(РаботникиСовместительство.Сотрудник), | РаботникиСовместительство.Физлицо, | 2 |ИЗ | РаботникиОрганизаций КАК РаботникиСовместительство |ГДЕ | РаботникиСовместительство.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство) | |СГРУППИРОВАТЬ ПО | РаботникиСовместительство.Физлицо | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | МАКСИМУМ(СотрудникиДУ.Ссылка), | СотрудникиДУ.Физлицо, | ВЫБОР | КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ДоговорУправленческий) | ТОГДА 3 | КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор) | ТОГДА 4 | ИНАЧЕ 5 | КОНЕЦ |ИЗ | СправочникСотрудники КАК СотрудникиДУ | |СГРУППИРОВАТЬ ПО | СотрудникиДУ.Физлицо, | ВЫБОР | КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ДоговорУправленческий) | ТОГДА 3 | КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор) | ТОГДА 4 | ИНАЧЕ 5 | КОНЕЦ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СписокФизическихЛиц.Физлицо КАК Физлицо, | МИНИМУМ(СписокФизическихЛиц.Приоритет) КАК Приоритет |ПОМЕСТИТЬ СписокФизическихЛиц |ИЗ | СписокСотрудников КАК СписокФизическихЛиц | |СГРУППИРОВАТЬ ПО | СписокФизическихЛиц.Физлицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СписокСотрудников.Сотрудник КАК Сотрудник, | СписокСотрудников.Физлицо КАК Физлицо |ПОМЕСТИТЬ Сотрудники |ИЗ | СписокСотрудников КАК СписокСотрудников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокФизическихЛиц КАК СписокФизическихЛиц | ПО СписокСотрудников.Физлицо = СписокФизическихЛиц.Физлицо | И СписокСотрудников.Приоритет = СписокФизическихЛиц.Приоритет |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Сотрудники.Сотрудник КАК Сотрудник, | Работники.Физлицо КАК Физлицо, | Работники.Период КАК Период, | Работники.Должность КАК Должность, | Работники.Подходит, | Работники.Подразделение, | Работники.ГрафикРаботы, | ЕСТЬNULL(Работники.ГрафикРаботы.СуммированныйУчетРабочегоВремени, ЛОЖЬ) КАК СуммированныйУчетРабочегоВремени, | Работники.Физлицо.Наименование КАК ФизлицоНаименование |ПОМЕСТИТЬ ВТДвиженияРаботников |ИЗ | СписокРаботников КАК Работники | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Сотрудники КАК Сотрудники | ПО Работники.Физлицо = Сотрудники.Физлицо"; Запрос.Выполнить(); ЗаполнятьНачисления = ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНачислений; ЗаполнятьУдержания = ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетУдержаний; Если ЗаполнятьНачисления ИЛИ ЗаполнятьУдержания Тогда ЗаполнениеДокументовДополнительный.СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации); ТекстЗапроса = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ОсновныеНачисления.ФизЛицо КАК Физлицо, | ОсновныеНачисления.ВидРасчета КАК ВидРасчета, | ОсновныеНачисления.Подразделение КАК Подразделение |ПОМЕСТИТЬ ЗарегистрированныеНачисления |ИЗ | РегистрРасчета.УправленческиеНачисления КАК ОсновныеНачисления |ГДЕ | ОсновныеНачисления.ПериодРегистрации = &парамНачало | И ОсновныеНачисления.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И ОсновныеНачисления.Регистратор <> &парамРегистратор | И ОсновныеНачисления.ВидСхемыМотивации = &парамВидСхемыМотивации | |ИНДЕКСИРОВАТЬ ПО | Физлицо, | ВидРасчета, | Подразделение |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | УправленческиеУдержания.ФизЛицо, | УправленческиеУдержания.ВидРасчета |ПОМЕСТИТЬ ЗарегистрированныеУдержания |ИЗ | РегистрРасчета.УправленческиеУдержания КАК УправленческиеУдержания |ГДЕ | УправленческиеУдержания.ПериодРегистрации = &парамНачало | И УправленческиеУдержания.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников) | И УправленческиеУдержания.Регистратор <> &парамРегистратор | И УправленческиеУдержания.ВидСхемыМотивации = &парамВидСхемыМотивации | |ИНДЕКСИРОВАТЬ ПО | УправленческиеУдержания.ФизЛицо, | УправленческиеУдержания.ВидРасчета |; |"; Если ЗаполнятьНачисления Тогда ТекстЗапроса = ТекстЗапроса + " |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВЫБОР | КОГДА ПлановыеНачисления.Период < &парамНачало | ТОГДА &парамНачало | ИНАЧЕ ПлановыеНачисления.Период | КОНЕЦ КАК Период, | ПлановыеНачисления.ФизЛицо, | ПлановыеНачисления.Действие, | ПлановыеНачисления.ВидРасчета, | ПлановыеНачисления.ПоказательСсылка1, | ПлановыеНачисления.ПоказательСсылка2, | ПлановыеНачисления.ПоказательСсылка3, | ПлановыеНачисления.ПоказательСсылка4, | ПлановыеНачисления.ПоказательСсылка5, | ПлановыеНачисления.ПоказательСсылка6, | ИСТИНА КАК ЭтоНачисление, | ПлановыеНачисления.ВидРасчета.НачисляетсяВЦеломЗаМесяц КАК НачисляетсяВЦеломЗаМесяц, | ПлановыеНачисления.ВидРасчета.ЗачетОтработанногоВремени КАК ОсновноеНачисление, | NULL КАК ДокументОснование |ПОМЕСТИТЬ НачисленияУдержанияЗаработнойПлаты |ИЗ | ПлановыеНачисления КАК ПлановыеНачисления |"; Если ЗаполнятьУдержания Тогда ТекстЗапроса = ТекстЗапроса + " |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ВЫБОР | КОГДА ПлановыеУдержания.Период < &парамНачало | ТОГДА &парамНачало | ИНАЧЕ ПлановыеУдержания.Период | КОНЕЦ КАК Период, | ПлановыеУдержания.ФизЛицо, | ПлановыеУдержания.Действие, | ПлановыеУдержания.ВидРасчета, | ПлановыеУдержания.ПоказательСсылка1, | ПлановыеУдержания.ПоказательСсылка2, | ПлановыеУдержания.ПоказательСсылка3, | ПлановыеУдержания.ПоказательСсылка4, | ПлановыеУдержания.ПоказательСсылка5, | ПлановыеУдержания.ПоказательСсылка6, | ЛОЖЬ, | ИСТИНА, | ЛОЖЬ, | ПлановыеУдержания.ДокументОснование |ИЗ | ПлановыеУдержания КАК ПлановыеУдержания |"; КонецЕсли; Иначе Если ЗаполнятьУдержания Тогда ТекстЗапроса = ТекстЗапроса + " |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВЫБОР | КОГДА ПлановыеУдержания.Период < &парамНачало | ТОГДА &парамНачало | ИНАЧЕ ПлановыеУдержания.Период | КОНЕЦ КАК Период, | ПлановыеУдержания.ФизЛицо, | ПлановыеУдержания.Действие, | ПлановыеУдержания.ВидРасчета, | ПлановыеУдержания.ПоказательСсылка1, | ПлановыеУдержания.ПоказательСсылка2, | ПлановыеУдержания.ПоказательСсылка3, | ПлановыеУдержания.ПоказательСсылка4, | ПлановыеУдержания.ПоказательСсылка5, | ПлановыеУдержания.ПоказательСсылка6, | ЛОЖЬ КАК ЭтоНачисление, | ИСТИНА КАК НачисляетсяВЦеломЗаМесяц, | ЛОЖЬ КАК ОсновноеНачисление, | ПлановыеУдержания.ДокументОснование |ПОМЕСТИТЬ НачисленияУдержанияЗаработнойПлаты |ИЗ | ПлановыеУдержания КАК ПлановыеУдержания |"; КонецЕсли; КонецЕсли; НачислениеЗарплатыРаботникамПереопределяемый.ДобавитьОбъединениеДополнительныхНачисленийУдержаний(ТекстЗапроса, ЗаполнятьНачисления, ЗаполнятьУдержания); ТекстЗапроса = ТекстЗапроса + " |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НачисленияУдержания.Период, | НачисленияУдержания.ФизЛицо |ПОМЕСТИТЬ ПериодыФизлиц |ИЗ | НачисленияУдержанияЗаработнойПлаты КАК НачисленияУдержания | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ВТДвиженияРаботников.Период, | ВТДвиженияРаботников.Физлицо |ИЗ | ВТДвиженияРаботников КАК ВТДвиженияРаботников |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПоследниеЗначенияПоказателей.Период КАК ПериодДействия, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Показатель, | ЗначенияПоказателей.ИсходноеЗначение, | ЗначенияПоказателей.Значение, | ЗначенияПоказателей.Валюта, | ЗначенияПоказателей.ВводитсяВВалюте, | ЗначенияПоказателей.КурсВалюты |ПОМЕСТИТЬ ЗначенияПоказателей |ИЗ | ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | МАКСИМУМ(ЗначенияПоказателей.ПериодДействия) КАК ПериодДействия, | ПериодыФизлиц.Период КАК Период, | ЗначенияПоказателей.Физлицо КАК Физлицо, | ЗначенияПоказателей.Показатель КАК Показатель | ИЗ | ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПериодыФизлиц КАК ПериодыФизлиц | ПО ЗначенияПоказателей.Физлицо = ПериодыФизлиц.ФизЛицо | И ЗначенияПоказателей.ПериодДействия <= ПериодыФизлиц.Период | | СГРУППИРОВАТЬ ПО | ЗначенияПоказателей.Физлицо, | ПериодыФизлиц.Период, | ЗначенияПоказателей.Показатель) КАК ПоследниеЗначенияПоказателей | ПО ЗначенияПоказателей.Физлицо = ПоследниеЗначенияПоказателей.Физлицо | И ЗначенияПоказателей.Показатель = ПоследниеЗначенияПоказателей.Показатель | И ЗначенияПоказателей.ПериодДействия = ПоследниеЗначенияПоказателей.ПериодДействия |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ПериодыФизлиц.Период, | ПериодыФизлиц.ФизЛицо, | ДвиженияРаботников.Сотрудник, | ДвиженияРаботников.Период КАК ПериодРаботники, | ДвиженияРаботников.Подходит, | ДвиженияРаботников.Должность, | ДвиженияРаботников.Подразделение, | ДвиженияРаботников.ГрафикРаботы, | ДвиженияРаботников.СуммированныйУчетРабочегоВремени |ПОМЕСТИТЬ ДополнительныеДанныеЗаполнения |ИЗ | ПериодыФизлиц КАК ПериодыФизлиц | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПериодыФизлиц.Период КАК Период, | ПериодыФизлиц.ФизЛицо КАК ФизЛицо, | МАКСИМУМ(ДвиженияРаботников.Период) КАК ПериодДвижения | ИЗ | ПериодыФизлиц КАК ПериодыФизлиц | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ДвиженияРаботников | ПО ПериодыФизлиц.Период >= ДвиженияРаботников.Период | И ПериодыФизлиц.ФизЛицо = ДвиженияРаботников.Физлицо | | СГРУППИРОВАТЬ ПО | ПериодыФизлиц.Период, | ПериодыФизлиц.ФизЛицо) КАК КрайниеДатыДвиженийРаботников | ПО ПериодыФизлиц.Период = КрайниеДатыДвиженийРаботников.Период | И ПериодыФизлиц.ФизЛицо = КрайниеДатыДвиженийРаботников.ФизЛицо | ЛЕВОЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ДвиженияРаботников | ПО (ДвиженияРаботников.Физлицо = ПериодыФизлиц.ФизЛицо) | И (КрайниеДатыДвиженийРаботников.ПериодДвижения = ДвиженияРаботников.Период) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ПериодыФизлиц.Период, | ПериодыФизлиц.ФизЛицо, | НачисленияУдержания.Период КАК ПериодНачисления, | НачисленияУдержания.ВидРасчета, | НачисленияУдержания.ПоказательСсылка1, | НачисленияУдержания.ПоказательСсылка2, | НачисленияУдержания.ПоказательСсылка3, | НачисленияУдержания.ПоказательСсылка4, | НачисленияУдержания.ПоказательСсылка5, | НачисленияУдержания.ПоказательСсылка6, | НачисленияУдержания.ЭтоНачисление, | НачисленияУдержания.Действие, | НачисленияУдержания.НачисляетсяВЦеломЗаМесяц, | НачисленияУдержания.ОсновноеНачисление, | НачисленияУдержания.ДокументОснование |ПОМЕСТИТЬ ДействующиеНачисления |ИЗ | ПериодыФизлиц КАК ПериодыФизлиц | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПериодыФизлиц.Период КАК ПериодНачисления, | ПериодыФизлиц.ФизЛицо КАК ФизЛицо, | НачисленияУдержания.ВидРасчета, | МАКСИМУМ(НачисленияУдержания.Период) КАК ПериодДвижения | ИЗ | ПериодыФизлиц КАК ПериодыФизлиц | ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачисленияУдержанияЗаработнойПлаты КАК НачисленияУдержания | ПО ПериодыФизлиц.Период >= НачисленияУдержания.Период | И ПериодыФизлиц.ФизЛицо = НачисленияУдержания.ФизЛицо | | СГРУППИРОВАТЬ ПО | ПериодыФизлиц.Период, | ПериодыФизлиц.ФизЛицо, | НачисленияУдержания.ВидРасчета) КАК КрайниеДатыДвиженийРаботников | ПО ПериодыФизлиц.Период = КрайниеДатыДвиженийРаботников.ПериодНачисления | И ПериодыФизлиц.ФизЛицо = КрайниеДатыДвиженийРаботников.ФизЛицо | ЛЕВОЕ СОЕДИНЕНИЕ НачисленияУдержанияЗаработнойПлаты КАК НачисленияУдержания | ПО (НачисленияУдержания.ФизЛицо = ПериодыФизлиц.ФизЛицо) | И (КрайниеДатыДвиженийРаботников.ПериодДвижения = НачисленияУдержания.Период) | И (КрайниеДатыДвиженийРаботников.ВидРасчета = НачисленияУдержания.ВидРасчета) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ДополнительныеДанные.Сотрудник, | ДействующиеНачисления.ФизЛицо, | ДействующиеНачисления.Период КАК Период, | ДополнительныеДанные.ПериодРаботники, | ДополнительныеДанные.Должность, | ВЫБОР | КОГДА (НЕ &ОтборПоПодразделениям) | ИЛИ ДополнительныеДанные.Подразделение В ИЕРАРХИИ | (ВЫБРАТЬ | Подразделения.Ссылка | ИЗ | Подразделения) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК Подходит, | ДополнительныеДанные.Подразделение, | ДополнительныеДанные.ГрафикРаботы, | ДополнительныеДанные.СуммированныйУчетРабочегоВремени, | ВЫБОР | КОГДА ДополнительныеДанные.Сотрудник.ДатаУвольненияИзКомпании МЕЖДУ &парамНачало И &парамКонец | ТОГДА ДополнительныеДанные.Сотрудник.ДатаУвольненияИзКомпании | ИНАЧЕ &парамКонец | КОНЕЦ КАК ДатаОкончания, | ВЫБОР | КОГДА ДействующиеНачисления.ЭтоНачисление | И ЗарегистрированныеНачисления.Физлицо ЕСТЬ NULL | ИЛИ (НЕ ДействующиеНачисления.ЭтоНачисление) | И ЗарегистрированныеУдержания.ФизЛицо ЕСТЬ NULL | ТОГДА ЛОЖЬ | ИНАЧЕ ИСТИНА | КОНЕЦ КАК УжеПроведен, | ДействующиеНачисления.Период КАК ПериодНачисления, | ДействующиеНачисления.Действие, | ДействующиеНачисления.ВидРасчета, | ДействующиеНачисления.ВидРасчета.СпособРасчета КАК СпособРасчета, | ДействующиеНачисления.НачисляетсяВЦеломЗаМесяц КАК НачисляетсяВЦеломЗаМесяц, | ДействующиеНачисления.ОсновноеНачисление КАК ОсновноеНачисление, | ДействующиеНачисления.ЭтоНачисление КАК ЭтоНачисление, | ДействующиеНачисления.ДокументОснование КАК ДокументОснование, | ЗначениеПоказателя1.Значение КАК Показатель1, | ЗначениеПоказателя2.Значение КАК Показатель2, | ЗначениеПоказателя3.Значение КАК Показатель3, | ЗначениеПоказателя4.Значение КАК Показатель4, | ЗначениеПоказателя5.Значение КАК Показатель5, | ЗначениеПоказателя6.Значение КАК Показатель6, | ЗначениеПоказателя1.Валюта КАК Валюта1, | ЗначениеПоказателя2.Валюта КАК Валюта2, | ЗначениеПоказателя3.Валюта КАК Валюта3, | ЗначениеПоказателя4.Валюта КАК Валюта4, | ЗначениеПоказателя5.Валюта КАК Валюта5, | ЗначениеПоказателя6.Валюта КАК Валюта6, | ЗначениеПоказателя1.КурсВалюты КАК КурсВалюты1, | ЗначениеПоказателя2.КурсВалюты КАК КурсВалюты2, | ЗначениеПоказателя3.КурсВалюты КАК КурсВалюты3, | ЗначениеПоказателя4.КурсВалюты КАК КурсВалюты4, | ЗначениеПоказателя5.КурсВалюты КАК КурсВалюты5, | ЗначениеПоказателя6.КурсВалюты КАК КурсВалюты6, | ДополнительныеДанные.Сотрудник.Наименование КАК СотрудникНаименование |ИЗ | ДействующиеНачисления КАК ДействующиеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДополнительныеДанныеЗаполнения КАК ДополнительныеДанные | ПО (ДополнительныеДанные.ФизЛицо = ДействующиеНачисления.ФизЛицо) | И (ДополнительныеДанные.Период = ДействующиеНачисления.Период) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя1 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя1.Физлицо | И ДействующиеНачисления.ПоказательСсылка1 = ЗначениеПоказателя1.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя2 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя2.Физлицо | И ДействующиеНачисления.ПоказательСсылка2 = ЗначениеПоказателя2.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя3 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя3.Физлицо | И ДействующиеНачисления.ПоказательСсылка3 = ЗначениеПоказателя3.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя4 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя4.Физлицо | И ДействующиеНачисления.ПоказательСсылка4 = ЗначениеПоказателя4.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя5 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя5.Физлицо | И ДействующиеНачисления.ПоказательСсылка5 = ЗначениеПоказателя5.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателей КАК ЗначениеПоказателя6 | ПО ДействующиеНачисления.ФизЛицо = ЗначениеПоказателя6.Физлицо | И ДействующиеНачисления.ПоказательСсылка6 = ЗначениеПоказателя6.Показатель | И (ВЫБОР | КОГДА ДействующиеНачисления.ПоказательСсылка1.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | ТОГДА ДействующиеНачисления.Период = ЗначениеПоказателя1.ПериодДействия | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗарегистрированныеНачисления КАК ЗарегистрированныеНачисления | ПО ДействующиеНачисления.ФизЛицо = ЗарегистрированныеНачисления.Физлицо | И (ДополнительныеДанные.Подразделение = ЗарегистрированныеНачисления.Подразделение) | И (ЗарегистрированныеНачисления.ВидРасчета.ЗачетОтработанногоВремени) | ЛЕВОЕ СОЕДИНЕНИЕ ЗарегистрированныеУдержания КАК ЗарегистрированныеУдержания | ПО ДействующиеНачисления.ФизЛицо = ЗарегистрированныеУдержания.ФизЛицо | И ДействующиеНачисления.ВидРасчета = ЗарегистрированныеУдержания.ВидРасчета | | |УПОРЯДОЧИТЬ ПО | ЭтоНачисление УБЫВ, | СотрудникНаименование, | ДополнительныеДанные.Сотрудник, | ДополнительныеДанные.ПериодРаботники, | ПериодНачисления, | ОсновноеНачисление УБЫВ, | ДействующиеНачисления.ВидРасчета"; Запрос.Текст = ТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); НачисленияУдержанияВыборка = РезультатЗапроса.Выбрать(); МассивВалютСНезаданнымКурсом = Новый Соответствие; // АВТОЗАПОЛНЕНИЕ ТЧ "Начисления" Если ЗаполнятьНачисления Тогда ТЗНачисления = СформироватьТаблицуНачислений(НачисленияУдержанияВыборка, МассивВалютСНезаданнымКурсом); Если МассивВалютСНезаданнымКурсом.Количество() > 0 Тогда Возврат Ложь; КонецЕсли; Если МассивФизлица = Неопределено Тогда //Заполняем по всем сотрудникам Начисления.Загрузить(ТЗНачисления); Иначе Для Каждого СтрокаНачисления Из ТЗНачисления Цикл НоваяСтрока = Начисления.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаНачисления); КонецЦикла; КонецЕсли; // проверим записи начислений на не пустой фактический период действия НаборЗаписейДляПроверки = РегистрыРасчета.УправленческиеНачисления.СоздатьНаборЗаписей(); Если Ссылка.Пустая() Тогда СcылкаОбъекта = Документы.НачислениеЗарплатыРаботникам.ПолучитьСсылку(); УстановитьСсылкуНового(СcылкаОбъекта); Иначе СcылкаОбъекта = Ссылка; КонецЕсли; НаборЗаписейДляПроверки.Отбор.Регистратор.Значение = СcылкаОбъекта; Для Каждого Строка Из ТЗНачисления Цикл Движение = НаборЗаписейДляПроверки.Добавить(); // свойства Движение.ПериодРегистрации = ПериодРегистрации; Движение.ПериодДействияНачало = Строка.ДатаНачала; Движение.ПериодДействияКонец = Строка.ДатаОкончания; Движение.ВидРасчета = Строка.ВидРасчета; // измерения Движение.Физлицо = Строка.Физлицо; // реквизиты поддержки графика Движение.ГрафикРаботы = Строка.ГрафикРаботы; Движение.ВидУчетаВремени = ПроведениеРасчетов.ПолучитьВидУчетаВремени(Строка.СпособРасчета, Неопределено, Строка.СуммированныйУчетРабочегоВремени); КонецЦикла; НаборЗаписейДляПроверки.Записать(); ЗапросПроверки = Новый Запрос; ЗапросПроверки.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | УправленческиеНачисления.НомерСтроки КАК НомерСтроки |ИЗ | РегистрРасчета.УправленческиеНачисления КАК УправленческиеНачисления | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.УправленческиеНачисления.ФактическийПериодДействия(Регистратор = &парамСсылка) КАК УправленческиеНачисленияФактическийПериодДействия | ПО УправленческиеНачисления.НомерСтроки = УправленческиеНачисленияФактическийПериодДействия.НомерСтроки | И УправленческиеНачисления.Регистратор = УправленческиеНачисленияФактическийПериодДействия.Регистратор |ГДЕ | УправленческиеНачисления.Регистратор = &парамСсылка | И УправленческиеНачисленияФактическийПериодДействия.Регистратор ЕСТЬ NULL | |УПОРЯДОЧИТЬ ПО | НомерСтроки УБЫВ"; ЗапросПроверки.УстановитьПараметр("парамСсылка", Ссылка); // выполним удаление строк табличной части, которые соответствуют полностью вытесняемым видам расчета СтрокиКУдалению = ЗапросПроверки.Выполнить().Выгрузить(); Для Каждого Строка Из СтрокиКУдалению Цикл Начисления.Удалить(Строка.НомерСтроки - 1); КонецЦикла; // удалим проверочный набор записей НаборЗаписейДляПроверки.Очистить(); НаборЗаписейДляПроверки.Записать(); КонецЕсли; // АВТОЗАПОЛНЕНИЕ ТЧ "Удержания" Если ЗаполнятьУдержания Тогда НачисленияУдержанияВыборка.Сбросить(); ТЗУдержания = СформироватьТаблицуУдержаний(НачисленияУдержанияВыборка, МассивВалютСНезаданнымКурсом); Если МассивВалютСНезаданнымКурсом.Количество() > 0 Тогда Возврат Ложь; КонецЕсли; Если МассивФизлица = Неопределено Тогда //Заполняем по всем сотрудникам Удержания.Загрузить(ТЗУдержания); Иначе Для Каждого СтрокаУдержания Из ТЗУдержания Цикл НоваяСтрока = Удержания.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаУдержания); КонецЦикла; КонецЕсли; КонецЕсли; КонецЕсли; // АВТОЗАПОЛНЕНИЕ ТЧ Погашение займов Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПогашениеЗаймов Тогда Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ПогашениеЗаймовРаботникамиОстатки.ФизЛицо, | ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма, | ПогашениеЗаймовРаботникамиОстатки.ФизЛицо.Наименование КАК ФизЛицоНаименование |ИЗ | РегистрНакопления.ПогашениеЗаймовРаботниками.Остатки( | &парамКонец, | Физлицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | СписокРаботников КАК СписокРаботников)) КАК ПогашениеЗаймовРаботникамиОстатки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОЗаймах КАК СведенияОЗаймах | ПО ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма = СведенияОЗаймах.ДоговорЗайма | И ПогашениеЗаймовРаботникамиОстатки.ФизЛицо = СведенияОЗаймах.ФизЛицо | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПогашениеЗаймовРаботниками КАК ПогашениеЗаймовРаботникамиОбороты | ПО ПогашениеЗаймовРаботникамиОстатки.ФизЛицо = ПогашениеЗаймовРаботникамиОбороты.ФизЛицо | И ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма = ПогашениеЗаймовРаботникамиОбороты.ДоговорЗайма | И (ПогашениеЗаймовРаботникамиОбороты.Период МЕЖДУ &парамНачало И &парамКонец) | И (ПогашениеЗаймовРаботникамиОбороты.УдержаноИзЗарплаты) |ГДЕ | ПогашениеЗаймовРаботникамиОбороты.ФизЛицо ЕСТЬ NULL | И (ПогашениеЗаймовРаботникамиОстатки.ОсновнойДолгОстаток <> 0 | ИЛИ ПогашениеЗаймовРаботникамиОстатки.ПроцентыОстаток <> 0) | И (СведенияОЗаймах.НачалоПогашения <= &парамНачало | ИЛИ СведенияОЗаймах.ПроцентЗаПользованиеЗаймом > 0) | |УПОРЯДОЧИТЬ ПО | ФизЛицоНаименование"; // Установим параметры запроса Запрос.УстановитьПараметр("парамНачало" , ПериодРегистрации); Запрос.УстановитьПараметр("парамКонец" , КонецМесяца(ПериодРегистрации)); ТЗПогашениеЗаймов = Запрос.Выполнить().Выгрузить(); Если МассивФизлица = Неопределено Тогда //Заполняем по всем сотрудникам ПогашениеЗаймов.Загрузить(ТЗПогашениеЗаймов); Иначе Для Каждого СтрокаПогашениеЗаймов Из ТЗПогашениеЗаймов Цикл НоваяСтрока = ПогашениеЗаймов.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаПогашениеЗаймов); КонецЦикла; КонецЕсли; КонецЕсли; Возврат Истина; КонецФункции |
||||
Планируется исправить в релизе: | 2.5.47 | ||||
Код ошибки: | 10098115 | ||||
Дата публикации: | 23 января 2012 г. | ||||
Описание: | Если в конфигурации ЗиК в справочнике "Тарифные разряды" в разных группах присутствуют разряды с одинаковым наименованием, то при переносе в ЗУП переносится только один из них. | ||||
Планируется исправить в релизе: | 2.5.47 | ||||
Код ошибки: | 10062307 | ||||
Дата публикации: | 18 января 2012 г. | ||||
Описание: | В форме обработки «Показатели расчета зарплаты» не отображается показатель вида «Для всей компании». | ||||
Исправлено в релизе: | 2.5.47 | ||||
Код ошибки: | 10097707 | ||||
Дата публикации: | 18 января 2012 г. | ||||
Описание: | Отчет «Организационная структура» не формируется, если программа не используется для управленческого учета. | ||||
Планируется исправить в релизе: | 2.5.47 | ||||
Код ошибки: | 10095334 | ||||
Дата публикации: | 13 января 2012 г. | ||||
Описание: | При использовании даты запрета редактирования не удавалось рассчитать средний заработок в документе-исправлении "Отпуск по уходу за ребенком" текущего периода. | ||||
Исправлено в релизе: | 2.5.47 | ||||
Код ошибки: | 10095325 | ||||
Дата публикации: | 13 января 2012 г. | ||||
Описание: | Если для организации указан местный районный коэффициент (например, 1,25), а для ее обособленного подразделения - не указан (у них нет районного коэффициента), то в Унифицированной форме Т-3 для этого подразделения ошибочно заполняется районный коэффициент 25%. | ||||
Исправлено в релизе: | 2.5.47 | ||||
Код ошибки: | 10095925 | ||||
Дата публикации: | 20 декабря 2011 г. | ||||
Описание: | В документе "Регистрация разовых начислений" при подборе сотрудников в табличную часть не заполняются значения показателей по данным плановых начислений. | ||||
Исправлено в релизе: | 2.5.47 | ||||
Код ошибки: | 10049063 | ||||
Дата публикации: | 20 сентября 2011 г. | ||||
Описание: | Если сотруднику назначено плановое начисление со способом расчета "Фиксированной суммой", то в случае изменения подразделения кадровым перемещением и оформления нескольких документов "Начисление зарплаты сотрудникам организаций" с указанием подразделений в шапке документа это начисление при заполнении попадает в каждый из таких документов. | ||||
Код ошибки: | 10087834 | ||||
Дата публикации: | 2 сентября 2011 г. | ||||
Описание: | Отчет "Карточка учета страховых взносов" формируется неправильно в случае, если сотрудник принят в две организации в одной информационной базе, совокупный доход по этим организациям превысил предельную величину (463 т.р.) и в настройках отчёта не указана организация. | ||||
Способ обхода: | В настройках отчёта указать одну из организаций. | ||||
Код ошибки: | 10082109 | ||||
Дата публикации: | 8 июня 2011 г. | ||||
Описание: | В печатную форму "Расчет при увольнении (Т-61)" в таблице расчета выплат в колонку 12 не попадают начисленные в месяце увольнения выплаты за прошлые месяцы. | ||||
Код ошибки: | 10055659 | ||||
Дата публикации: | 18 мая 2011 г. | ||||
Описание: | В том случае, когда за 1 квартал 2010 года у сотрудника имеются только отрицательные начисления, в отчете 4-ФСС неверно заполняются показатели облагаемой базы - в них ошибочно включаются эти отрицательные начисления. | ||||
Код ошибки: | 10080912 | ||||
Дата публикации: | 13 мая 2011 г. | ||||
Описание: | Если в журнале регламентированных отчетов очистить дату окончания периода, а затем снять галочку отбора Период, а затем ее опять установить, то возникает сообщение об ошибке: {Обработка.ОбщиеОбъектыРегламентированнойОтчетности.Форма.УправлениеОтчетностью.Форма(1466)}: Ошибка при вызове метода контекста (ПредставлениеПериода) Подсказка = "Отчеты за период " + ПредставлениеПериода(ДатаНачалаПериодаОтчета, КонецДня(ДатаКонцаПериодаОтчета), "ФП = Истина"); по причине: Недопустимое значение параметра (параметр номер '2') (01.01.0001 23:59:59 < 01.01.2011 0:00:00) Если закрыть журнал с включенным отбором по периоду, то открыть его в дальнейшем не удастся, т.к. будет выдаваться вышеописанное сообщение об ошибке и окно журнала не будет открываться. |
||||
Код ошибки: | 10062909 | ||||
Дата публикации: | 18 марта 2011 г. | ||||
Описание: | Если при проведении кадрового документа-исправления будет выдано сообщение об ошибке пользователя и он не проведется, то после устранения проблемы и проведения документа возникает следующая "отложенная" проблема: при попытке отменить проведение этого документа будет выдано сообщение об ошибке. | ||||
Способ обхода: | После неудавшейся отмены проведения необходимо снова провести документ, после чего его можно будет отменить. | ||||
Код ошибки: | 10071893 | ||||
Дата публикации: | 18 января 2011 г. | ||||
Описание: | Неверно заполняются данные о доходах для расчета пособий соц. страхования за 2009 год в том случае, когда сотруднику в 2009 году начислялась материальная помощь, не облагавшаяся ранее ЕСН целиком, - не учитывается скидка. |
||||
Код ошибки: | 10042205 | ||||
Дата публикации: | 30 ноября 2010 г. | ||||
Описание: | При расчете б/л в 2010 году по сотруднику, работавшему ранее по основному месту работы и по внутреннему совместительству, не учитывается заработок по внутреннему совместительству, если на дату начала болезни со внутреннего совместительства сотрудник был уволен. | ||||
Код ошибки: | 00094289 | ||||
Дата публикации: | 14 сентября 2007 г. | ||||
Описание: | В форме 2-НДФЛ за прошлые годы (по 2009-й) на работника, у которого по результатам перерасчета за прошлые налоговые периода был доудержан (зачтен) налог, не заполняются пп.5.6 или 5.7 раздела 5. | ||||
Код ошибки: | 10050537 | ||||
Дата публикации: | 15 октября 2010 г. | ||||
Описание: | Оформлен первичный больничный лист, затем продолжение больничного и в нем указана дата нарушения режима, при оформлении второго продолжения больничного, в него не переносится информация о дате нарушения режима. | ||||
Код ошибки: | 10064714 | ||||
Дата публикации: | 15 октября 2010 г. | ||||
Описание: | При попытке пересчетать документ "Оплата сверхурочных часов" после повышения окладов "задним числом" при помощи обработки "Перерасчет зарплаты по предприятию" создаваемый документ не заполняется. | ||||
Код ошибки: | 10029695 | ||||
Дата публикации: | 31 августа 2010 г. | ||||
Описание: | Отчет "4-ФСС". Раздел 3, таблица 9. Заполнение колонок 7, 8, 10, 11. При заполнении вручную скидок и надбавок к страховому тарифу неверно происходит авторасчет итоговой 11 колонки. К введенной уже с учетом скидок и надбавок ставке взноса в ФСС от несчастного случая (колонка 7), прибавляются введенные в ручную размеры скидок и надбавок и отражается в итоговой колонке 11. |
||||
Способ обхода: | После заполнения отчета необходимо отключить авторасчет вычисляемых ячеек (соответствующий флаг в шапке отчета) и внести правильные процентные ставки. | ||||
Код ошибки: | 10058700 | ||||
Дата публикации: | 8 июля 2010 г. | ||||
Описание: | В документе-исправлении <Начисление зарплаты> у видов расчета с произвольной формулой неверно рассчитывается показатель <Отработано времени в днях>. | ||||
Код ошибки: | 10043804 | ||||
Дата публикации: | 23 декабря 2009 г. | ||||
Описание: | В документе "Оплата сверхурочных часов" не пересчитывается в часовую тарифная ставка из произвольной формулы - всегда получается 0. | ||||
Код ошибки: | 10036185 | ||||
Дата публикации: | 15 октября 2009 г. | ||||
Описание: | При использовании кассового метода учета управленческих затрат, в документе "Планируемые затраты на персонал" неверно определяется факт прошлого периода. | ||||
Код ошибки: | 10036015 | ||||
Дата публикации: | 15 октября 2009 г. | ||||
Описание: | После исправления кадрового документа в обработке "Анализ неявок", исходное кадровое событие не показывается, отчего расчетный документ, оформленный по устаревшим кадровым данным, сопоставляется с исправленным кадровым событием. | ||||
Код ошибки: | 10002714 | ||||
Дата публикации: | 26 сентября 2008 г. | ||||
Описание: | При обновлении с конфигурации с редакции 2.1. на 2.5 выдается сообщение об ошибке, когда в организации не поддерживается внутреннее совместительство и по физлицу, с которым заключен договор ГПХ на выполнение работ, зарегистрирован документ «Ввод процента деятельности ЕНВД». | ||||
Код ошибки: | 10001643 | ||||
Дата публикации: | 5 августа 2008 г. | ||||
Описание: | При отправке печатной формы документа по электронной почте в текст письма не попадают имеющиеся картинки. | ||||
Код ошибки: | 10001302 | ||||
Дата публикации: | 29 июля 2008 г. | ||||
Описание: | В отчете "Расчетная ведомость", построенном за несколько месяцев, в некоторых случаях неправильно отражаются итоги по показателям сальдо. | ||||
Код ошибки: | 00103150 | ||||
Дата публикации: | 30 апреля 2008 г. | ||||
Описание: | Если в анкету, указанную в настройках программы как резюме кандидата, добавить вопросы из предопределенной группы вопросов о контактной информации физлица, то при создании физлица по ответам на такую анкету контактная информация из опроса не будет перенесена в данные физлица. | ||||
Код ошибки: | 00076008 | ||||
Дата публикации: | 17 июля 2007 г. | ||||
Описание: | Неверно исчисляются алименты с работника, отработавшего неполный рабочий месяц из-за прогулов. | ||||