Имя: Пароль:
1C
1С v8
Округление
0 DasTPID
 
15.07.14
09:57
Допустим машина сделала два рейса в день, каждый рейс за 20 минут = 1/3 часа = 0,33333333333333 часа. Итого машина проработала 40 минут в день, или 2/3 часа, или 0,666666666666666 часа. В настройках отчёта стоит округление до 3 знаков после запятой, соответственно в отчёте видна картина: рейс1 = 0,333 часа, рейс2 = 0,333 часа, итого за день 0,667 часа. Вот собственно бухгалтерия меня уверяет, что это неправильно, т.к. на калькуляторе не получается 0,333 + 0,333 <> 0,667. Я большой трагедии в этом не вижу, общая ошибка округления составила по всему автотранспортному предприятию за месяц четыре тысячных часа, или примерно 15 секунд. Кроме того, если бы рейсов было три, то общая сумма по их методу получилась бы не 1 час, а 0.999, что тоже неправильно.
Чисто теоретически - могу переписать отчёт, чтобы каждый верхний уровень группировки собирался из суммы того, что внизу. Но есть ли смысл?
1 ДенисЧ
 
15.07.14
10:00
Храни время не в дробях, а в часах и минутах
2 DasTPID
 
15.07.14
10:02
(1) Постановка задачи предполагает, что время хранится именно в машиночасах. Т.к. цену машиночаса умножать на часы-минуты ну жутко неудобно.
3 ДенисЧ
 
15.07.14
10:02
(2) Как хочешь, наше дело предложить
4 Naumov
 
15.07.14
10:03
(2) Не удобно, зато всем понятно
5 butterbean
 
15.07.14
10:04
(0) бухгалтеры твои дебилы, а ты не поддавайся
6 Fish
 
15.07.14
10:05
(2) Ты не поверишь, но если копнуть глубже, то время хранится в нулях и единицах. Поэтому как именно ты будешь хранить его в базе, никого не волнует.
7 Крошка Ру
 
15.07.14
10:05
(0) Сделай в натуральных дробях. И пусть руками считают.
8 StaticUnsafe
 
15.07.14
10:24
(0) храни все в секундах
9 DasTPID
 
15.07.14
10:31
(5) like :)

(8) В принципе неплохой вариант.
10 dva1c
 
15.07.14
10:35
(9) Согласен с (8). Сам предпочитаю секунды. )
11 SeraFim
 
15.07.14
10:41
>> В настройках отчёта стоит округление до 3 знаков после запятой,

Неверно. В Настройках отчета стоит формат вывода с округлением.
Сделай в запросе "ВЫРАЗИТЬ КАК ЧИСЛО(15,3)", вот тогда действитльно округление будет
12 SeraFim
 
15.07.14
10:41
но вообще поддерживаю (5)