|
Точность 10 знаков после запятой в регистрах накопления | ☑ | ||
---|---|---|---|---|
0
xavchik
17.01.18
✎
14:47
|
Всем доброго дня.
Столкнулся с проблемой. Найдо в регистрах учитывать количество с точность 10 знаков после запятой. Сделал регистр накопления, к нему ресурс - число 20,10. Сделал по нему движение 0,0000000001 (единица в десятой позиции), движение по регистру вижу. Выбираю статки запросом - получаю 0,0000000000 (НОЛЬ). По всей видимость итоги 1С округляет до 8 знаков после запятой. База MS SQL Server Express 2012. Сталкивался кто-нибудь с подобной задачей? |
|||
1
Segate
17.01.18
✎
14:48
|
храни значения с множителем 100, потом при обработке результата дели на 100
|
|||
2
xavchik
17.01.18
✎
14:50
|
Есть такая идея, но нехота код переписывать по все конфе. Хотелось бы покрасивее.
Это ограничение СУБД? Знает кто подробнее. |
|||
3
xavchik
17.01.18
✎
15:02
|
Нашел решение.
Было подсказано вот этой статьей ИТС https://its.1c.ru/db/metod8dev#content:2665:hdoc Изменил типы ресурсов с Число(20,10) на Число(14,10) и заработало. Причем если использовать уже Число(15,10), то 10-я цифра обрезается. Пока времени разбираться подробно нет, а это решение пока устраивает. |
|||
4
xavchik
17.01.18
✎
15:37
|
Обнаружил еще несколько моментов
Установил к конфигураторе тип ресурса Число(20,10), открыл конфигурацию, выполнил запрос по остаткам - цифры в послежних разрядах на месте. Перепровел документ - цифры в последних разрядах обнулились. Т.е. при реструктуризации при созранении конфигурации он эти итоги считает правильно, и при пересчете после проведения документа он их теряет. Универсальный отчет УТ 10.3 показывает нормально только при типе Число(14,10), консоль запросов показывает нормально начиная с Число(16,10). Магия! |
|||
5
Fannasankh
17.01.18
✎
15:40
|
А зачем такая точность?
|
|||
6
Ботаник Гарден Меран
17.01.18
✎
15:46
|
В партнерке кстати есть темы про 8 знаков после запятой.
Это не магия, это кужня у них такая, с темной кладовкой. |
|||
7
xavchik
17.01.18
✎
15:48
|
И еще немного магии:
Универсальный отчет за 1 день https://ibb.co/edM22R Универсальный отчет без указания периода (данные те же): https://ibb.co/i0K5NR |
|||
8
xavchik
17.01.18
✎
15:48
|
(5) Есть разные объекты учета. Мои требуют такой точности :-)
|
|||
9
xavchik
17.01.18
✎
15:49
|
(6) Речь идет о партнерском разделе сайта?
|
|||
10
El_Duke
гуру
17.01.18
✎
15:58
|
(8) Очень интересно ...
На каких весах вы взвешиваете или в какой микроскоп разглядываете такие объекты учета ? |
|||
11
Быдло замкадное
17.01.18
✎
16:01
|
20 знаков слева, 10 справа...
Тогда уж оставь 1 знак слева |
|||
12
Быдло замкадное
17.01.18
✎
16:01
|
героин продают, не иначе!
|
|||
13
kauksi
17.01.18
✎
16:03
|
чую что конфа для учета биткоинов
|
|||
14
Serg_1960
17.01.18
✎
16:18
|
Из одной моей старой темы на эту тему (точнее про некоторые особенности работы ВЫРАЗИТЬ в запросе):
Запрос = Новый Запрос("Выбрать ВЫРАЗИТЬ(13.1/13 КАК ЧИСЛО(27,25)) КАК Точность"); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); Сообщить(""+Выборка.Точность);// 1,0076923076923076923076923... |
|||
15
organizm
17.01.18
✎
16:33
|
Это старая песня, единицу хранения присвоили килотонны, а приходуют наноограммы. "Дебилы, мля" (с)
|
|||
16
xavchik
17.01.18
✎
16:41
|
(11) Маловато будет
|
|||
17
xavchik
17.01.18
✎
16:41
|
(12) Хорошая идея для разработки отраслевой конфигурации. 1С: Наркоторговля 8 ПРОФ :-)
|
|||
18
lodger
17.01.18
✎
16:42
|
(0) ведите учет в целых числах, без дробной части. "позицию запятой", т.е. множитель, хранить в соседнем реквизите или в реквизите измерения и доставать для математики.
косяки с дробными частями это старый прикол платформы и особенности работы с СУБД (которая, как вы помните может быть встроенной файловой в том числе). |
|||
19
xavchik
17.01.18
✎
16:43
|
(14) Да, в статье по ссылки выше так и написано. Но мне надо, чтобы это работало глобально, а не переписывать все места обращения к этому ресурсу - ибо геморно и забивает логику
|
|||
20
xavchik
17.01.18
✎
16:44
|
(15) Нет, тут единиц измерения нет вообще, не используются они
|
|||
21
xavchik
17.01.18
✎
16:45
|
(18) Да, это решение, предлагали уже выше. Но забивает код ненужными деталями. Хочется красиво. В принципе, предложенный обходной путь работает.
|
|||
22
organizm
17.01.18
✎
16:48
|
(21) с кратностью как раз красивый универсальный способ! Как вы определил, что 10 знаков после запятой будет достаточно?
|
|||
23
breezee
17.01.18
✎
16:52
|
(17) Ага, там все занято уже по торговле, а отчетность им наркоторговцам навряд ли сдавать надо)
|
|||
24
xavchik
17.01.18
✎
16:52
|
Ну, если уж упрусь, что надо будет больше, то передалаю таким способом.
|
|||
25
xavchik
17.01.18
✎
16:53
|
(23) Нужно, нужно... Перед крышующими "органами" :-)
|
|||
26
breezee
17.01.18
✎
16:54
|
(21) А чем вам единицы хранения не устраивают? Выше предлагали или у вас товар может быть продан на 1 микрограмм и 1 млн тонн одновременно? Так все равно можно оформить в разных единицах продажу, а то что вы пишите про регистр с точностью в 10 знаков - это как раз не очень красивое решение
|
|||
27
breezee
17.01.18
✎
16:55
|
(26)
*Выше предлагали. Или у Фикс |
|||
28
xavchik
17.01.18
✎
16:56
|
(27) Segate предлагал, в самом начала
|
|||
29
xavchik
17.01.18
✎
16:57
|
(26) У меня вообще нет единиц измерения и быть их не может. Они не присущи объекту учета. Это просто количество и все.
|
|||
30
breezee
17.01.18
✎
16:57
|
(28) Ну так разве плохое решение? продайте в 1 мг, а не 0.0000001 грамм
|
|||
31
breezee
17.01.18
✎
16:58
|
(29) А что у вас такое? Если копейки криво округляются - спишите последнюю...
|
|||
32
vde69
17.01.18
✎
16:59
|
если количество с 10 знаками, то с какой точностью нужна цена? и в каких это будет единицах?
блин я целый год потратил для приведение учета сделанного дебилами до 6 знаков после запятой к типовому, все жутко ругались.... а поработали на типовом полгода и стали вспоминать старое как страшилку ... |
|||
33
breezee
17.01.18
✎
17:00
|
(32) Манагеры тоже будут рады забивать такие удобные документы
|
|||
34
vde69
17.01.18
✎
17:00
|
за реализацию САБЖА - надо гнать из профессии...
|
|||
35
bodri
17.01.18
✎
17:05
|
(34) а заказчиков расстрелять?
|
|||
36
xavchik
17.01.18
✎
17:08
|
Как же я люблю, когда люди начинают вместо ответа на вопрос, рассуждать о том, кого надо расстреливать и жалеть манагеров, которые будут что-то куда забивать :-)
Непередаваемая атмосфера форумов... |
|||
37
breezee
17.01.18
✎
17:11
|
(36) Но вопрос довольно странный, если бы мы отвечали на вопрос, а не разбирались в сути проблемы - у нас бы получилась не рабочая система, которая состоит целиком из хотелок пользователей
|
|||
38
xavchik
17.01.18
✎
17:13
|
(37) Я согласен, что с заказчиком надо обсуждать вопрос со всех сторон. Но - я не заказчик в данном случае. Я - разработчик.
|
|||
39
vde69
17.01.18
✎
17:13
|
(37) ну на самом деле, может это и не сумма и не количество, а например координаты геопозиционирования... но в таком случае их проще написать в виде строки.
|
|||
41
Lama12
17.01.18
✎
18:31
|
(0) Разработка конфигурации - "1С:Астронавигация"?
Вроде у них своя платформа... |
|||
42
stopa85
17.01.18
✎
19:31
|
(0) Вообще, конечно, грусно .. но что делать.
В СУБД у тебя есть DECIMAL(20,10), а в коде платформы только Число. Подозреваю, что это "Число" - есть число с плавающей точкой, а операции по ним по определению приближенные, т.е. не точные. |
|||
43
Asmody
17.01.18
✎
19:36
|
Представление чисел, виды числовых типов, операции с десятичными и с плавающей точкой, точность числа и "машинный ноль" сейчас проходят в школьном курсе информатики.
|
|||
44
xavchik
17.01.18
✎
20:29
|
(43) Еще один гений, блин...
Я пишу на 1С. На 1С, Карл! 1С, это не ассемблер с прямой работой с регистрами памяти процессора, это платформа. Платформа, включает в себя целый набор технологий (SQL, платформа 1С, драйверы для работы с СУБД и куча еще чего), которые позводяют не заморачивасть с операциями с числами с плавающей точкой. Так что мой вопрос совсем не простой, как может показаться, а твои перечисления умных слов не никак не приближают к правильному ответу... |
|||
45
xavchik
17.01.18
✎
20:33
|
(42) +100500
Внутри все так и есть. Но задача проста: хранить значения в регистрах с точностью до 10-го знака и получать по ним итоги платформенными средствами |
|||
46
Веселый собака
17.01.18
✎
22:16
|
(32) Ты супермен, конечно, и правильный такой. Но теперь тебе надо будет каждый раз доказывать это!
|
|||
47
Asmody
17.01.18
✎
22:27
|
(44) Независимо от того, на чём ты пишешь, Карлуша, знать как представляются и обрабатываются числа в компьютере нужно.
|
|||
48
xavchik
17.01.18
✎
23:43
|
(47) Во-первых, я знаю. Во-вторых, нужно знать много чего. Например, какие грибы есть можно, а какие - нет. Это тоже очень важная информация, даже иногда жизненноважная. Но ценность от нее в этом месте, возможно, даже выше, чем то, о чем ты говоришь.
|
|||
49
Asmody
17.01.18
✎
23:53
|
(48) хочешь об этом поговорить?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |