РСВ-1 в Комплексной
07.02.2011
21:42
#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. Как будто это тест был какой то и строку убрать забыли. Убираем ее.
Вот после этих исправлений отчет заполнился как положено."
Релиз конфигурации: Комплексная 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. Как будто это тест был какой то и строку убрать забыли. Убираем ее.
Вот после этих исправлений отчет заполнился как положено."
ЗиК 305 используется для Бюджетной организации. Разбиение больничного по источникам.ЗиК 306 не разбивает страховые взносы!
Читают тему
(гостей: 1)