Имя: Пароль:
1C
1С v8
запросы. Чудеса в решете
,
0 hatsher
 
02.11.11
15:30
копирую текст запроса в отладчике, выполняю в консоли запросов с параметрами, опять же по отладчику. Получаю количество = 10. По всем итогам.
Запускаю отчет. Тот же самый текст запроса, с теми же параметрами - дает 9,9999999999. в отладчике.
Что за фигня??
1 Пришел в тапках
 
02.11.11
15:35
Может автоокругление?
2 hatsher
 
02.11.11
15:36
разобрался. Конец дня надо было поставить.
Сейчас вопрос в другом - почему 9,99999999, когда в РС 10
3 hatsher
 
02.11.11
15:40
округлить можно как-нить в запросе?
4 Не Печенкин
 
02.11.11
15:42
(2) есть операция деления?
нужно кстати юзать границы в регистрах, а не даты
5 hatsher
 
02.11.11
15:45
В запросе сделано хитро - РС соединяется с таблицей, при этом значение поля
получается как РСИзмененное/количество подходящих строк в таблице
а потом считаются итоги

Получаются 3 строки по 10/3 = 3,33333
и итог 9,99999
6 Ненавижу 1С
 
гуру
02.11.11
15:46
(5) ну и с чем ты не согласен?
7 hatsher
 
02.11.11
15:47
(6) выражение в запросе можно округлить как-то?
8 Axel2009
 
02.11.11
15:48
ВЫРАЗИТЬ(Поле КАК Число(15,2))
9 Defender aka LINN
 
02.11.11
15:49
(7) Не возражаем. Округляй.
10 hatsher
 
02.11.11
15:49
(8) Спасибо!
11 hatsher
 
02.11.11
15:53
блин, не катит.
округляет до 9,99
12 Axel2009
 
02.11.11
15:54
округлять надо после умножения, а не до
13 hatsher
 
02.11.11
16:02
(12) в итогах не дает

ИТОГИ

   СУММА(ВЫРАЗИТЬ(количество КАК Число(15,2))),
14 Axel2009
 
02.11.11
16:03
а чем выводится?
15 catena
 
02.11.11
16:04
(13)Наоборот
16 catena
 
02.11.11
16:05
ИТОГИ
   ВЫРАЗИТЬ(СУММА(чс) КАК ЧИСЛО(15, 2)) КАК чс
17 hatsher
 
02.11.11
16:05
ВЫБРАТЬ
   
   ВЫРАЗИТЬ(ЕСТЬNULL(ТЗ.Количество, 0) / ВЫБОР
           КОГДА ЕСТЬNULL(ещеТЗ.что-то, 0) = 0
               ТОГДА 1
           ИНАЧЕ ещеТЗ.что-то
       КОНЕЦ КАК ЧИСЛО(15, 2)) КАК Количество,
18 hatsher
 
02.11.11
16:08
(16) круто! Спс, работает!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан