Имя: Пароль:
1C
1C 7.7
v7: Различия в округлении 7.7 и 8
0 Asirius
 
25.11.19
16:14
Накипело.
Переношу из зик 7.7 в ЗУП 3.1
Заказчик рассчитывает зарплату паралельно в двух базах. Отпуска расходятся на копейки. Режим округления в 7.7 и 8.3 одинаковый, Окр(1.5) = 2
Лезу отладчиком, нахожу что:
в 1С 7.7  Окр(7.325,2) = 7.33, 29.3/28*7 = 7.325 , но Окр(29.3/28*7,2) = 7.32
в 1С 8.3  Окр(7.325,2) = 7.33, и Окр(29.3/28*7,2) = 7.33

В следующий раз вот прямо этот пример буду в договор вставлять, что я не могу гарантировать сходимость двух баз до копейки
1 trad
 
25.11.19
16:24
укажи явно способ в 77
Окр(29.3/28*7, 2, 2) = 7.33
либо сначала * потом /
Окр(29.3*7/28, 2) = 7.33
2 АЛьФ
 
25.11.19
16:30
потому что в восьмерке
29.3/28*7 = 7,325000000000000000000000000000000003
а в семерке
29.3/28*7 = 7.325
3 АЛьФ
 
25.11.19
16:34
+(2) А вот так в восьмерке будет правильно:
29.3*7/28 = 7.325

Сыра еще восьмерка...
4 Asirius
 
25.11.19
16:45
(1) Не сопсоб и так Окр(1.5) =2, в 7.7 видимо 29.3/28*7 = 7.324999999999999999999
Помогло только окр(29.3/28*7, 2) заменить на окр(окр(29.3/28*7),10),2)
Ошибка? Это не ошибка, это системная функция.