Имя: Пароль:
1C
1С v8
Проведение рассчетов - Начисление по больничному - Ограничение пособия
0 Dionis Sergeevich
 
17.07.14
18:11
Результат расчета вычисляется по формуле ДневноеПособие * Оплачиваемое время - то есть скажем 500 рублей * 10 дней = 5000
Ограничение вычисляется - МРОТ / норму времени - например 5554/30 = 370,26
Далее система сравнивает 5000 (результат за все оплачиваемые дни) с ограничением (за 1 день). Разницу записывает в "в т.ч. за счет федерального бюджета"...

что-то как-то криво система сравнивает. Не кажется вам что ограничение сверху должно так же быть по дням? то есть не 370 а 3700?

упп 1.3.54.1, Общий модуль ПроведениеРасчетов, РассчитатьРесурсыПоАлгоритму, при условии ИмяАлгоритма = "ПоСреднемуЗаработкуФСС2011"
1 Dionis Sergeevich
 
17.07.14
18:18
Код с данными  отладки:
// часть пособия, финансируемая федеральным бюджетом
            Если ЗначениеЗаполнено(ПроцентОплатыБезЛьгот) И ЗначениеЗаполнено(ИсходныеДанные.ВидПособияСоциальногоСтрахования) Тогда
                
                ДневноеПособие (237,5) = Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплатыБезЛьгот / 100,2);
                Результат(475) = Окр(ОплачиваемоеВремя(2) * ДневноеПособие(237,5) * РайонныйКоэффициентДляУвеличенияПособия,2);
                
                Если ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОбщимОграничениемИВРазмереММОТС2010года Тогда
                    РазмерОграниченияСверху = ИсходныеДанные.РазмерММОТ(5554) * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1);
                    Если ОплачиваемоеВремя < НормаВремени Тогда
                        ОграничениеПособия(370,26) = Окр(РазмерОграниченияСверху(5554) / НормаВремени(30),2) * ОплачиваемоеВремя;
                    Иначе
                        ОграничениеПособия = Окр(РазмерОграниченияСверху,2);
                    КонецЕсли;
                КонецЕсли;
                
                Если РазмерОграниченияСверху <> 0 Тогда
                    Результат = Мин(Результат(475), ОграничениеПособия(370,26));
                КонецЕсли;
                
                Если Результат(370,26) < СтрокаДвижений.Результат(475) Тогда
                    СтрокаДвижений.ДополнительныйРезультат(104.74) = (СтрокаДвижений.Результат(475) - Результат(370,26)) * ?(СтрокаДвижений.Сторно,-1,1);
                    Если КомментироватьРасчет Тогда
                        ОбщегоНазначенияЗК.КомментарийРасчета("Часть пособия, финансируемая Федеральным бюджетом, составляет: " + (СтрокаДвижений.Результат - Результат), КомментарийВидаРасчета);
                    КонецЕсли;
                Иначе
                    СтрокаДвижений.ДополнительныйРезультат = 0
                КонецЕсли;
            КонецЕсли;
2 RomaH
 
naïve
18.07.14
08:15
ОграничениеПособия(370,26) = Окр(РазмерОграниченияСверху(5554) / НормаВремени(30),2) * ОплачиваемоеВремя;

а почему тут оплачиваемое время равно 1?
3 RomaH
 
naïve
18.07.14
08:16
5554/30 = 370,26
смелое утверждение