Имя: Пароль:
1C
 
Ошибка в формуле
0 ipolikasov
 
04.05.26
09:53
Здравствуйте! Сталкивался ли кто-нибудь с таким странным округлением в ЗУП?
ДневноеПособие = Окр(СреднийВсего * ПроцентОплаты / 100, 2) это выражение через вычислить выражение дает 410,8 а выдает результат в переменную ДневноеПособие 445.36
Куда дальше смотреть?
1 bolder
 
04.05.26
09:55
(0)
Кто то неправ. Отладчик не предлагать?
2 Волшебник
 
04.05.26
09:55
Ищите другое присваивание
3 maxab72
 
04.05.26
09:56
а какие исходные цифры? и нет ли расширений, которые переопределяют этот модуль?
4 ipolikasov
 
04.05.26
09:56
Отладчик и показал такое вычисление
5 unenu
 
04.05.26
09:59
ПроцентОплаты может быть с большОй разрядностью при расчете.
А когда вы вычисляете вручную или сторонним способом, то оперируете двумя знаками после запятой.
6 ipolikasov
 
04.05.26
10:00
(3) расширений нет
410,8 это средняя ЗП у сотрудника за 2 года для начисления пособия по больничному. И должен первые 3 дня начислить исходя из дневного МРОТ это 436,98. Но Начисляет 445.36.
Ни к тому ни к другому. И по отладке дошел до формулы
7 ipolikasov
 
04.05.26
10:01
(5) Процент оплаты 100%
8 ipolikasov
 
04.05.26
10:03
(5) 445 и 410 на 10% отличается. Что за округление такое?
9 Волшебник
 
04.05.26
10:09
Дело не в округлении. Ищите другое присваивание
10 paramedic
 
04.05.26
10:18
(6) Какой-то у вас странный МРОТ. Если брать только федеральный, то стоимость 1 дня - 890,73 (27093 × 24 / 730)
436,98 из этого вообще никак не получится. 445,36 - если не 100%, а 50%. Тоже бред какой-то.
Что-то вы явно не договариваете...
11 Гена
 
гуру
04.05.26
10:22
(0) 27093 * 24 = 650232
650232 / 730 = 890.72877
Полставки:
890.72877 / 2 = 445.36
12 bolder
 
04.05.26
11:35
(0) Закон требует доплачивать до МРОТ, если получается меньше))Вот вам и округление.ЗУП - это и про законы тоже.Гена (11) как всегда на высоте.
13 Гена
 
гуру
04.05.26
13:32
(12) У этих жмотов путинский минимум в мае не работает:
27093 / 31 * 1/2 = 436.98 < обычного 445.36

P.S. Но чтоб принять расчёт за округление - такого я от программистов не ожидал )
14 ipolikasov
 
04.05.26
13:32
(10) на полставки человек, может забыл написать. МРОТ 27093
в марте 31 день и расчитывается по формуле МРОТ / 31 в марте
и умножить на 0,5
Но смотрите за апрель программа правильно посчитала за 2 дня 903.1
15 ipolikasov
 
04.05.26
13:37
(11) Отлично а почему в апреле посчитала программа за 2 дня 903.10?
16 paramedic
 
04.05.26
13:44
(15) Надо внимательно читать законы и действовать по ним, а не по своей интерпретации.
17 Гена
 
гуру
04.05.26
13:47
(15) Путинский минимум БЛ за себя введён в разгар короновируса и не зависит от стажа или события после увольнения:
СДЗ_min = МРОТ / КалендарнДнейМесяцаБЛ * Ставка

В апреле он сработал:
27093 / 30 * 1/2 = 451.55 > 445.36

Или простая арифметика: Обычный минимум это когда МРОТ * 24 /730 или когда МРОТ делится на 730/24 = 30.41667

В 5-ти месяцах с 31 днём путинский минимум НЕ сработает, а в 7-ми сработает.
18 ipolikasov
 
04.05.26
13:53
(17) Спасибо. Хорошее объяснение.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн