После обновления бухгалтерия пожаловалась на сообщение об ошибке при попытке заполнить отчет РСВ за 1кв 2023г.
Пока что я нашел 2 ошибки, после исправления которых отчет заполнился. Насколько корректно - еще предстоит проверить.
Однако явные программные ошибки говорят о слабом тестировании в подразделении, которое поддерживает устаревшую версию ЗУП.
Сроки сдачи отчетности уже поджимают, поэтому исправил ошибки, не дожидаясь нового релиза фирмы 1С.
1. Общий модуль ЗаполнениеРегламентированнойОтчетности, на строке 5780 такой запрос:
ВЫБРАТЬ РАЗЛИЧНЫЕ
ЗастрахованныеНаОПС.ВидТарифаСтраховыхВзносов КАК ВидТарифаСтраховыхВзносов,
ЕСТЬNULL(КодыТарифов.Код, ""??"") КАК КодТарифа,
МЕСЯЦ(ЗастрахованныеНаОПС.Период) КАК Период,
ЗастрахованныеНаОПС.ФизЛицо КАК ФизЛицо,
1 КАК КоличествоОПС
ПОМЕСТИТЬ ВТЗастрахованныеПоМесяцам
ИЗ
ВТЗастрахованныеНаОПС КАК ЗастрахованныеНаОПС
Возникает вопрос, что за таблица "КодыТарифов".
Если посмотреть кусок кода ранее, то становится ясно, что при копировании запроса пропали еще 2 строчки.
Вот так будет работать без ошибки:
ВЫБРАТЬ РАЗЛИЧНЫЕ
ЗастрахованныеНаОПС.ВидТарифаСтраховыхВзносов КАК ВидТарифаСтраховыхВзносов,
ЕСТЬNULL(КодыТарифов.Код, ""??"") КАК КодТарифа,
МЕСЯЦ(ЗастрахованныеНаОПС.Период) КАК Период,
ЗастрахованныеНаОПС.ФизЛицо КАК ФизЛицо,
1 КАК КоличествоОПС
ПОМЕСТИТЬ ВТЗастрахованныеПоМесяцам
ИЗ
ВТЗастрахованныеНаОПС КАК ЗастрахованныеНаОПС
ЛЕВОЕ СОЕДИНЕНИЕ ВТКодыТарифов КАК КодыТарифов
ПО ЗастрахованныеНаОПС.ВидТарифаСтраховыхВзносов = КодыТарифов.ВидТарифаСтраховыхВзносов
И (ГОД(ЗастрахованныеНаОПС.Период) МЕЖДУ КодыТарифов.ГодС И КодыТарифов.ГодПо)
2. РегламентированныйОтчетРасчетПоСтраховымВзносам, форма ФормаОтчета2023Кв1
Функция ЗаполнитьАвто содержит следующий фрагмент кода, исполнение которого приводит к исключительной ситуации, т.к. функция СформироватьСтруктуруДанныхДопСтрокСтраницы может возвращать Неопределено:
ДопСтрокСтраницы = СформироватьСтруктуруДанныхДопСтрокСтраницы(СтрУровня1.Имя);
Для Каждого ДопСтрока Из ДопСтрокСтраницы Цикл
СвойстваМнЧУровня2 = СвойстваМногострочныхЧастей.Найти(ДопСтрока.Ключ, "ИД");
Если СвойстваМнЧУровня2 <> Неопределено Тогда
СвойстваМнЧУровня2.ТекущееКоличествоСтрок = 0;
КонецЕсли;
КонецЦикла;
После добавления проверки ошибка исчезла:
ДопСтрокСтраницы = СформироватьСтруктуруДанныхДопСтрокСтраницы(СтрУровня1.Имя);
Если ТипЗнч(ДопСтрокСтраницы)=Тип("Структура") Тогда
Для Каждого ДопСтрока Из ДопСтрокСтраницы Цикл
СвойстваМнЧУровня2 = СвойстваМногострочныхЧастей.Найти(ДопСтрока.Ключ, "ИД");
Если СвойстваМнЧУровня2 <> Неопределено Тогда
СвойстваМнЧУровня2.ТекущееКоличествоСтрок = 0;
КонецЕсли;
КонецЦикла;
КонецЕсли;