|
Количество знаков после запятой в результате запроса | ☑ | ||
---|---|---|---|---|
0
Aleks73
12.07.24
✎
17:37
|
в результате запроса
СУММА(ЦенныеБумагиУОстаткиИОбороты.СуммаКонечныйОстаток)/СУММА(ЦенныеБумагиУОстаткиИОбороты.КоличествоКонечныйОстаток) даёт шесть знаков после запятой. Можно ли больше, как? Платформа 1С:Предприятие 8.3 (8.3.24.1342) |
|||
1
Timon1405
12.07.24
✎
17:54
|
ВЫБРАТЬ
1/3 как Поле, ВЫРАЗИТЬ(1 / 3 КАК ЧИСЛО(20, 8)) КАК Поле8, ВЫРАЗИТЬ(1 / 3 КАК ЧИСЛО(20, 6)) КАК Поле6, ВЫРАЗИТЬ(1 / 3 КАК ЧИСЛО(20, 0)) КАК Поле0 что там у вас где обрезает? |
|||
2
Aleks73
12.07.24
✎
18:02
|
(1) я уже слыхал, что числа можно выразить с большим числом
знаков, но при делении переменных как не получается. у меня не работает | ВЫРАЗИТЬ(СУММА(ЦенныеБумагиУОстаткиИОбороты.СуммаКонечныйОстаток)/СУММА(ЦенныеБумагиУОстаткиИОбороты.КоличествоКонечныйОстаток) КАК ЧИСЛО(32,10)) КАК СуммаКонечныйОстаток как было 6 знаков, так и осталось |
|||
3
Garykom
12.07.24
✎
18:44
|
||||
4
Aleks73
12.07.24
✎
18:54
|
(3) Пичаль. Спасибо конечно.
|
|||
5
Serg_1960
13.07.24
✎
09:29
|
PS: Увеличивайте точность после запятой не результатов выражений, а операндов выражений.
"Агрегатная функция СУММА вычисляется по возможности точно. Количество цифр дробной части результата равно количеству цифр дробной части операнда."(ИТС) |
|||
6
PR
13.07.24
✎
10:25
|
(0) До 6 знаков обрезает SQL
Варианты либо считать в запросе СУММА(ЦенныеБумагиУОстаткиИОбороты.СуммаКонечныйОстаток) и СУММА(ЦенныеБумагиУОстаткиИОбороты.КоличествоКонечныйОстаток), а потом уже в коде делить Либо в запросе считать СУММА(ЦенныеБумагиУОстаткиИОбороты.СуммаКонечныйОстаток) * 1000000 / СУММА(ЦенныеБумагиУОстаткиИОбороты.КоличествоКонечныйОстаток), а потом уже в коде делить на 1000000 |
|||
7
vde69
13.07.24
✎
11:50
|
СУММА(ВЫРАЗИТЬ(ЦенныеБумагиУОстаткиИОбороты.СуммаКонечныйОстаток как ЧИСЛО(32,10))/СУММА(ЦенныеБумагиУОстаткиИОбороты.КоличествоКонечныйОстаток) КАК СуммаКонечныйОстаток
|
|||
8
Конструктор1С
13.07.24
✎
19:04
|
(0) сделать деление вне запроса что мешает?
|
|||
9
Aleks73
15.07.24
✎
15:07
|
(6) PR, спасибо огромное, помог второй вариант.
|
|||
10
Aleks73
15.07.24
✎
15:08
|
(8) я подумал, что это ограничение на деление любых переменных.
|
|||
11
Aleks73
15.07.24
✎
15:09
|
(7) я думаю, это опять получится деление в запросе
|
|||
12
PR
17.07.24
✎
13:09
|
(11) Нет, такой вариант тоже сработает
Потому что 1С что-то там в этом случае уже сама мутит с явно заданной ей точностью |
|||
13
Serg_1960
17.07.24
✎
18:16
|
"До 6 знаков обрезает SQL"
"это ограничение на деление любых переменных" как "вариант" - "ограничение" использованной агрегатной функции, см.(5). Ибо "само по себе" деление в SQL "ограничивается" по иным принципам: Запрос = Новый Запрос("ВЫБРАТЬ 13.1 / 13 КАК Результат"); //Результат = 1,007692307692307692307692307692307692 |
|||
14
PR
18.07.24
✎
12:11
|
Так, заканчиваем разброд и шатания, в (3) ссылка https://its.1c.ru/db/v8std/content/535/hdoc , в ней все написано, как там 1С живет
|
|||
15
Aleks73
18.07.24
✎
12:30
|
(12) Чудеса!
|
|||
16
PR
18.07.24
✎
13:03
|
(15) Не учи в школе физику и химию, и жизнь твоя будет наполнена чудесами, магией и волшебством
Здесь то же самое |
|||
17
Serg_1960
18.07.24
✎
13:20
|
(14) Не заметил ни разброда, ни шатания. С моей стороны - только более подробное уточнение. В указанной Вами ссылке, есть ссылка на "Разрядность результатов выражений и агрегатных функций в языке запросов" - https://its.1c.ru/db/metod8dev#content:2665:hdoc и конкретно об агрегатной функции СУММА сказано:
"Агрегатная функция СУММА вычисляется по возможности точно. Количество цифр дробной части результата равно количеству цифр дробной части операнда. Количество цифр целой части увеличивается на 7 цифр. Если при этом общее количество цифр целой и дробной части превысит 38, то оно будет приведено к 38 за счет уменьшения числа цифр дробной части, но не менее, чем до 8." |
|||
18
PR
18.07.24
✎
13:25
|
(17) Я не про (13),я про общий настрой, что типа фиг его знает, как все это работает
В ссылке в (3) все четко написано |
|||
19
Толич
18.07.24
✎
13:31
|
Проще всего умножить в запросе все ресурсы на миллион, а при обращении в выборке к суммам, делить на миллион.
|
|||
20
PR
18.07.24
✎
13:32
|
(19) Проще (7)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |