1. Первой была ошибка «Ошибка при вызове метода контекста (Выполнить)»
Ошибка была в общем модуле «ЗаполнениеРегламентированнойОтчетности» в процедуре «РасчетПоказателей_РСВ_2023».
В этой процедуре порядка 8 тысяч строк кода, поэтому буду ориентировать ключевыми строками поиска. Ищем строку «Если ОписаниеТаблиц.Свойство("ЧисленностьЗастрахованныхВРазрезеТарифов2023") Тогда»
Внутри этого условия есть еще условие «Если Запрос.Выполнить().Пустой() Тогда», идем по ветке «Иначе» и перемещаемся в самый конец запроса к строке «ВТЗастрахованныеНаОПС КАК ЗастрахованныеНаОПС» и после нее в запрос дописываем соединение:
|ЛЕВОЕ СОЕДИНЕНИЕ ВТКодыТарифов КАК КодыТарифов
|ПО ЗастрахованныеНаОПС.ВидТарифаСтраховыхВзносов = КодыТарифов.ВидТарифаСтраховыхВзносов
| И (ГОД(ЗастрахованныеНаОПС.Период) МЕЖДУ КодыТарифов.ГодС И КодыТарифов.ГодПо)
2. Вторая ошибка была «Итератор для значения не определен»
Ошибка была в отчете «РегламентированныйОтчетРасчетПоСтраховымВзносам» в модуле формы «ФормаОтчета2023Кв1» процедуре «ЗаполнитьАвто».
В этой процедуре ищем строку «ДопСтрокСтраницы = СформироватьСтруктуруДанныхДопСтрокСтраницы(СтрУровня1.Имя);».
Цикл «Для Каждого ДопСтрока Из ДопСтрокСтраницы Цикл», который идет сразу после этой строки заключаем в условие «Если ДопСтрокСтраницы <> Неопределено Тогда» Цикл «КонецЕсли;».
Должно получиться вот так:
Если ДопСтрокСтраницы <> Неопределено Тогда
Для Каждого ДопСтрока Из ДопСтрокСтраницы Цикл
СвойстваМнЧУровня2 = СвойстваМногострочныхЧастей.Найти(ДопСтрока.Ключ, "ИД");
Если СвойстваМнЧУровня2 <> Неопределено Тогда
СвойстваМнЧУровня2.ТекущееКоличествоСтрок = 0;
КонецЕсли;
КонецЦикла;
КонецЕсли;
3. Третья ошибка была «Преобразование значения к типу Булево не может быть выполнено»
Возвращаемся в уже знакомую нам процедуру «РасчетПоказателей_РСВ_2023» из общего модуля «ЗаполнениеРегламентированнойОтчетности». Все остальные исправления будут тоже в этом модуле.
Ищем строку «МАКСИМУМ(РаботникиОрганизации.Начало <= КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(РаботникиОрганизации.Период, КВАРТАЛ), МЕСЯЦ, 2), МЕСЯЦ)». Попадаем в запрос формирования временной таблицы «ВТПериодыФизЛицОрганизаций». Она формируется объединением двух выборок. Идем во вторую выборку.
В трех последних полях написано «НАЧАЛОПЕРИОДА(СведенияОДоходах.Период, МЕСЯЦ)».
Меняем их на следующее:
| НАЧАЛОПЕРИОДА(СведенияОДоходах.Период, МЕСЯЦ) = НАЧАЛОПЕРИОДА(СведенияОДоходах.Период, КВАРТАЛ),
| НАЧАЛОПЕРИОДА(СведенияОДоходах.Период, МЕСЯЦ) = ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(СведенияОДоходах.Период, КВАРТАЛ), МЕСЯЦ, 1),
| НАЧАЛОПЕРИОДА(СведенияОДоходах.Период, МЕСЯЦ) = ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(СведенияОДоходах.Период, КВАРТАЛ), МЕСЯЦ, 2)
Тут глубокого анализа не делал, но по логике вроде все правильно.
4. Четвертая ошибка была в некорректном значении колонки 170 раздела 3.
Как выяснилось, тут было сразу две ошибки. Обе давали удвоение, и в определенных ситуациях значение было в четыре раза больше нужного.
4.1 Ищем строку «СУММА(СведенияОДоходах.ИсчисленоПФРПоСуммарномуТарифу) КАК П00321М117001», напоминаю, что сейчас нас интересует только процедура «РасчетПоказателей_РСВ_2023».
Тут я боюсь ошибиться, но по моим данным выходило, что это поле надо не суммировать, а группировать по нему.
Соответственно меняем эту строку на «СведенияОДоходах.ИсчисленоПФРПоСуммарномуТарифу КАК П00321М117001» и в раздел «СГРУППИРОВАТЬ ПО» добавляем «СведенияОДоходах.ИсчисленоПФРПоСуммарномуТарифу,».
В итоге получилось так:
|ВЫБРАТЬ
| СведенияОДоходах.ФизЛицо КАК ФизЛицо,
| МЕСЯЦ(ДОБАВИТЬКДАТЕ(СведенияОДоходах.Период, МЕСЯЦ, -КВАРТАЛ(СведенияОДоходах.Период) * 3 + 3)) КАК П00321М112001,
| КатегорииЗастрахованныхЛиц.КатегорияЗастрахованныхЛиц КАК П00321М113001,
| СУММА(СведенияОДоходах.НачисленоВсего) КАК П00321М114001,
| СУММА(СведенияОДоходах.НалоговаяБазаПФР) КАК П00321М115001,
| СУММА(СведенияОДоходах.НалоговаяБазаПФРПоГПХ) КАК П00321М116001,
| СведенияОДоходах.ИсчисленоПФРПоСуммарномуТарифу КАК П00321М117001
|ПОМЕСТИТЬ ВТДоходыВзносовПоТекущимДанным
|ИЗ
| ВТИтоговыйСведенияОСтраховыхВзносах КАК СведенияОДоходах
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСоответствиеТарифаКодамКатегории КАК КатегорииЗастрахованныхЛиц
| ПО СведенияОДоходах.ВидТарифаСтраховыхВзносов = КатегорииЗастрахованныхЛиц.ВидТарифаСтраховыхВзносов
| И СведенияОДоходах.ВидЗастрахованногоЛица = КатегорииЗастрахованныхЛиц.ВидЗастрахованныхЛиц
| И (ГОД(СведенияОДоходах.Период) МЕЖДУ КатегорииЗастрахованныхЛиц.ГодС И КатегорииЗастрахованныхЛиц.ГодПо)
|ГДЕ
| СведенияОДоходах.ЗастрахованПФР
| И СведенияОДоходах.Период МЕЖДУ &НачалоОтчетногоКвартала И &КонецОтчетногоПериода
|
|СГРУППИРОВАТЬ ПО
| СведенияОДоходах.ИсчисленоПФРПоСуммарномуТарифу,
| СведенияОДоходах.ФизЛицо,
| КатегорииЗастрахованныхЛиц.КатегорияЗастрахованныхЛиц,
| МЕСЯЦ(ДОБАВИТЬКДАТЕ(СведенияОДоходах.Период, МЕСЯЦ, -КВАРТАЛ(СведенияОДоходах.Период) * 3 + 3))
|
|ИМЕЮЩИЕ
| СУММА(СведенияОДоходах.НачисленоВсего) <> 0
|;
4.2 Второе удвоение оказалось во временной таблице «ВТПериодыОдногоТарифа»
Соответственно ищем «ПОМЕСТИТЬ ВТПериодыОдногоТарифа» в процедуре «РасчетПоказателей_РСВ_2023».
В ней оказалось достаточно было указать «РАЗЛИЧНЫЕ».
В итоге получилось так:
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Месяцы.ФизЛицо,
| Месяцы.ГоловнаяОрганизация,
| Месяцы.Организация,
| Месяцы.ПериодРегистрации,
| БазаДляОтчета.ВидТарифаСтраховыхВзносов
|ПОМЕСТИТЬ ВТПериодыОдногоТарифа
|ИЗ
| …
Надеюсь, данная статья сэкономит вам время.
Всем удачи!!!