|
Язык запросов, функция СУММА: баг или особенность? | ☑ | ||
---|---|---|---|---|
0
mike124
19.06.19
✎
13:27
|
Исходные данные: 1С:Предприятие 8.3 (8.3.10.2252)
Обычное приложение, толстый клиент Формирую отчет по данным некоего документа РаботаПроизводство (сами добавили) Есть реквизит документа РаботаПроизводство.БезБрака - число из 4-х цифр. Выполняю запрос: ВЫБРАТЬ РаботаПроизводство.ТехническоеЗадание КАК ТехническоеЗадание, СУММА(РаботаПроизводство.БезБрака) КАК Отгрузка, ИЗ Документ.РаботаПроизводство КАК РаботаПроизводство ГДЕ РаботаПроизводство.ПометкаУдаления = ЛОЖЬ И РаботаПроизводство.Отгрузка = ИСТИНА И РаботаПроизводство.Дата >= НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И РаботаПроизводство.Дата <= КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ) СГРУППИРОВАТЬ ПО РаботаПроизводство.ТехническоеЗадание В результате запроса я не могу получить сумму более 9999. Т.е., получается, что 1С, для хранения результата функции СУММА, использует переменную того же формата, что и аргумент функции СУММА. Увеличил размер реквизита БезБрака до 10 цифр, и результат стал нормальным. Но если сумма когда либо превысит число 9999999999, то опять результат будет неверный. |
|||
1
Fragster
гуру
19.06.19
✎
13:27
|
Так и задумано
|
|||
2
mike124
19.06.19
✎
13:31
|
Очень странно задумано. Я надеялся, что в ЯЗ как в SQL, а вот нет...
|
|||
3
Вафель
19.06.19
✎
13:36
|
а если выразить?
|
|||
4
Asmody
19.06.19
✎
14:48
|
(1) Да ладно?
|
|||
5
dnab
19.06.19
✎
15:01
|
странно что переполнение происходит
https://its.1c.ru/db/metod8dev/content/2665/hdoc/_top/язык запросов функция сумма "При разработке конфигураций выбор разрядности полей объектов метаданных должен определяться возможной разрядностью хранимых в них данных и не должен учитывать возможное увеличение разрядности после выполнения арифметических операций и функций. " "Агрегатная функция СУММА вычисляется по возможности точно. Количество цифр дробной части результата равно количеству цифр дробной части операнда. Количество цифр целой части увеличивается на 7 цифр. Если при этом общее количество цифр целой и дробной части превысит 38, то оно будет приведено к 38 за счет уменьшения числа цифр дробной части, но не менее, чем до 8. " |
|||
6
mikecool
19.06.19
✎
15:06
|
где то настроено оформление вывода до 4х знаков
|
|||
7
dnab
19.06.19
✎
15:08
|
(5)+ вот более правильная ссылка
https://its.1c.ru/db/metod8dev#content:2665:hdoc |
|||
8
dezss
19.06.19
✎
15:23
|
(0) а где выполняется этот запрос и просматривается результат?
Не в консоли запросов, случаем? |
|||
9
Fragster
гуру
19.06.19
✎
15:54
|
(2) а в sql не так, разве?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |