|   |   | 
| 
 | 1С Запрос, количество знаков после запятой при группировке | ☑ | ||
|---|---|---|---|---|
| 0
    
        CepeLLlka 07.06.24✎ 15:52 | 
        Добрый день.
 В клиент-серверном варианте, на платформе 8.3.22.2239 и СУБД SQL Server 2012 я столкнулся с такой ошибкой: ВЫБРАТЬ ТестОбороты.Товар КАК Товар, ТестОбороты.КоличествоОборот КАК КоличествоОборот ИЗ РегистрНакопления.Тест.Обороты КАК ТестОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТестОбороты.Товар КАК Товар, СУММА(ТестОбороты.КоличествоОборот) КАК КоличествоОборот ИЗ РегистрНакопления.Тест.Обороты КАК ТестОбороты СГРУППИРОВАТЬ ПО ТестОбороты.Товар Два этих запроса выдают разный результат, при условии, что в оборотном регистре накопления "Тест" только одна запись Товар № 1 с количеством -0,003494665 Первый запрос выводит количество равное -0,003494665 А второй запрос в результат выводит -0,00349467 по сути округляя и теряя один знак после запятой. Подскажите пожалуйста, что можно сделать, чтобы не было округления и считалось верно? | |||
| 1
    
        Волшебник 07.06.24✎ 15:51 | 
        "Тест" — плохое название регистра     | |||
| 2
    
        mikecool 07.06.24✎ 15:51 | 
        ВЫРАЗИТЬ в СУММА() попробуй запихнуть     | |||
| 3
    
        maxab72 07.06.24✎ 15:51 | 
        Какая размерность у ресурса "Количество"?     | |||
| 4
    
        CepeLLlka 07.06.24✎ 15:52 | 
        (3)22 символа и 9 из них, после запятой.     | |||
| 5
    
        Eiffil123 07.06.24✎ 15:53 | 
        (0) сталкивались с чем-то похожим на ERP (при расчете себестоимости при очень малом количестве). Выходили из положения тем, что сумму внутри агрегатной функции умножали на 10000, а потом итоговую сумму делили на 10000.     | |||
| 6
    
        PR 07.06.24✎ 15:53 | ||||
| 7
    
        CepeLLlka 07.06.24✎ 15:53 | 
        (2)Вопрос решён. Спасибо.     | |||
| 8
    
        CepeLLlka 07.06.24✎ 15:54 | 
        (6)Виноват, да.     | |||
| 9
    
        Мультук 07.06.24✎ 15:55 | 
        (0) 
 Хранить в виде 3494,665 ? А затем там где надо делить? | |||
| 10
    
        PR 07.06.24✎ 15:56 | 
        Именно поэтому https://its.1c.ru/db/v8std/content/535/hdoc     | |||
| 11
    
        CepeLLlka 07.06.24✎ 15:57 | 
        (9)Вариант из (2) помог, всё норм. Спасибо.     | |||
| 12
    
        PR 07.06.24✎ 15:58 | 
        (8) Я не про то, я про то, что не помню где, ищи сам, но причина в том, что скуль округляет все вычисления до скольки-то там знаков, до 6 вроде
 И 1С тут бессильна Можно в запросе все умножать на миллиард, а потом в 1С уже делить на миллиард, например | |||
| 13
    
        Garykom 07.06.24✎ 15:59 | 
        (10)  При выполнении арифметических операций в запросах к базе данных платформа 1С:Предприятия поддерживает точность вычислений до 8 разрядов дробной части. | |||
| 14
    
        CepeLLlka 07.06.24✎ 16:02 | 
        (13)В файловой то всё норм было, я тестил     | |||
| 15
    
        breezee 07.06.24✎ 20:31 | 
        Сделайте единицу измерения Микро*.
 И создавайте запись в регистр 100 микро(допустим, грамм) | |||
| 16
    
        timurhv 07.06.24✎ 21:37 | 
        (0) К числам с плавающей точкой всегда надо относиться особенно осторожно.
 Тут Excel вроде уже начинает считать не как целые числа, а как с плавающей точкой со всеми вытекающими. А то начнется эта ваша 1С неправильно считает. 
 | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |