РСВ-1 в Комплексной

Новая тема
"Комплект форм отчетности: Rp10q401
Релиз конфигурации: Комплексная 7.70.504
Задача уже неактуальна, но, возможно, баги останутся на следующий комплект, кто нибудь сумеет победить проблему, а может и представители 1С тему заметят, исправят.

Сегодня ходил делать обновление с 501 на 504. Между делом клиент пожаловался о том, что РСВ-1 заполняли вручную для одного из 16 юрлиц, учет которых ведется в базе, так как автозаполнение некорректно работает.
Особенности юрлица:
Страховой тариф = Организации, использующие ЕНВД (то есть, чистый ЕНВД, без распределений)
Наличие инвалидов = да

Стал смотреть алгоритм, обнаружились странные дела. Алгоритм задумывался как отличный, сделана попытка выяснения того является ли наш страховой тариф УСН/ЕНВД и является ли он единственным и если это так, то все данные, кроме инвалидов пытаемся включить в Раздел 1-2. Так и должно быть, судя по всему, так все клиенты хотели с самого начала.
В rcv102.ert
Исправление 1:
Строка 3527:
ПрименяетсяТолькоЕНВД = 0;
Если (ИдентКонфигурации = "BU42TK") ИЛИ (ИдентКонфигурации = "BASUOR") ИЛИ (ИдентКонфигурации = "PBOUL") Тогда
    ПрименяетсяТолькоЕНВД = ?(Константа.ТарифСтраховыхВзносов.Получить(Дата1) = Перечисление.ТарифыСтраховыхВзносов.ЕНВД, 1, 0);
КонецЕсли;

так... а где про "BUOUSL" (про комплексную)? Надо так:
ПрименяетсяТолькоЕНВД = 0;
Если (ИдентКонфигурации = "BU42TK") ИЛИ (ИдентКонфигурации = "BASUOR") ИЛИ (ИдентКонфигурации = "PBOUL") Тогда
    ПрименяетсяТолькоЕНВД = ?(Константа.ТарифСтраховыхВзносов.Получить(Дата1) = Перечисление.ТарифыСтраховыхВзносов.ЕНВД, 1, 0);
ИначеЕсли ИдентКонфигурации = "BUOUSL" Тогда
    ПрименяетсяТолькоЕНВД = ?(ВыбраннаяФирма.ТарифСтраховыхВзносов.Получить(Дата1) = Перечисление.ТарифыСтраховыхВзносов.ЕНВД, 1, 0);
КонецЕсли;

Исправление 2:
Сразу следующий блок.
Если (ИдентКонфигурации = "BU42TK") ИЛИ (ИдентКонфигурации = "BASUOR") ИЛИ (ИдентКонфигурации = "PBOUL") ИЛИ (ИдентКонфигурации = "BUPSB25") Тогда
    ПониженныеСтавкиРавныОсновным = ПроверкаРавенстваОсновнойИПониженнойСтавок();
иначе        
    ПониженныеСтавкиРавныОсновным = 0;
КонецЕсли;

тоже про "BUOUSL" забыли.
меняем на
Если (ИдентКонфигурации = "BU42TK") ИЛИ (ИдентКонфигурации = "BASUOR") ИЛИ (ИдентКонфигурации = "PBOUL") ИЛИ (ИдентКонфигурации = "BUPSB25") ИЛИ (ИдентКонфигурации = "BUOUSL") Тогда

Исправление 3:
смотрим в ПроверкаРавенстваОсновнойИПониженнойСтавок(), это примерно строка 3268, видим что там про комплексную не забыли, но! Тут видим строчку:
ТаблицаОсновныхТарифов = ПолучитьТаблицуОсновныхТарифов();
смотрим в ПолучитьТаблицуОсновныхТарифов(), а там то про комплексную как раз забыли. Делаем там замену строки:
ТаблицаОсновныхТарифов.ВидТарифа = Константа.ТарифСтраховыхВзносов.Получить(КонМесяца(Дата(Год,Месяц,01)));
на
Если ИдентКонфигурации = "BUOUSL" Тогда
    ТаблицаОсновныхТарифов.ВидТарифа = ВыбраннаяФирма.ТарифСтраховыхВзносов.Получить(КонМесяца(Дата(Год,Месяц,01)));
Иначе
    ТаблицаОсновныхТарифов.ВидТарифа = Константа.ТарифСтраховыхВзносов.Получить(КонМесяца(Дата(Год,Месяц,01)));
КонецЕсли;

комментарий по исправлениям 2 и 3:
пользователь сказал, что это неправильный ход и проверять ПониженныеСтавкиРавныОсновным вообще не надо, но что то я ей не поверил

Исправление 4:
смотрим примерно в строку 4104. Тут вообще забыли, что в комплексной есть разделитель учета. В результате по всем юрлицам идет запрос без фильтра к общим бухитогам и получается "куча". Нужно чтобы было так:
БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
Если ИдентКонфигурации = "BUOUSL" Тогда
    БухИт.ИспользоватьРазделительУчета(ВыбраннаяФирма); //тут все верно, т.к. ВыбраннаяФирма.Вид()="СвоиЮрлица"
КонецЕсли;

Теперь смотрим в В rcv103.ert:
Исправление 5:
Строка 1732. Исправляем все так же как в исправлениях 1,2 и 3.

Исправление 6:
Смотрим внимательно на текст чуть ниже строки 1732:
ПрименяетсяТолькоЕНВД = 0;
Если (ИдентКонфигурации = "BU...
    ПрименяетсяТолькоЕНВД = ?(Константа.ТарифСтр...
КонецЕсли;
...
ПрименяетсяТолькоЕНВД = 0; //!!!??? - зачем тут эта строка? Выходит, что что бы ни было вычислено чуть выше, все равно принудительно ставится, что у нас ПрименяетсяТолькоЕНВД = 0. Как будто это тест был какой то и строку убрать забыли. Убираем ее.

Вот после этих исправлений отчет заполнился как положено."
ты в 1с на удалёнку от ста тыщ иди
Читают тему
(гостей: 1)

Быстрый переход