Имя: Пароль:
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
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший