Вход | Регистрация


1С:Предприятие ::

Метки: 

Точность 10 знаков после запятой в регистрах накопления

Я
   xavchik
 
17.01.18 - 14:47
Всем доброго дня.

Столкнулся с проблемой. Найдо в регистрах учитывать количество с точность 10 знаков после запятой. Сделал регистр накопления, к нему ресурс - число 20,10.

Сделал по нему движение 0,0000000001 (единица в десятой позиции), движение по регистру вижу.

Выбираю статки запросом - получаю 0,0000000000 (НОЛЬ).

По всей видимость итоги 1С округляет до 8 знаков после запятой. База MS SQL Server Express 2012.

Сталкивался кто-нибудь с подобной задачей?
 
  Рекламное место пустует
   Segate
 
1 - 17.01.18 - 14:48
храни значения с множителем 100, потом при обработке результата дели на 100
   xavchik
 
2 - 17.01.18 - 14:50
Есть такая идея, но нехота код переписывать по все конфе. Хотелось бы покрасивее.

Это ограничение СУБД? Знает кто подробнее.
   xavchik
 
3 - 17.01.18 - 15:02
Нашел решение.
Было подсказано вот этой статьей ИТС

https://its.1c.ru/db/metod8dev#content:2665:hdoc

Изменил типы ресурсов с Число(20,10) на Число(14,10) и заработало. Причем если использовать уже Число(15,10), то 10-я цифра обрезается.

Пока времени разбираться подробно нет, а это решение пока устраивает.
   xavchik
 
4 - 17.01.18 - 15:37
Обнаружил еще несколько моментов

Установил к конфигураторе тип ресурса Число(20,10), открыл конфигурацию, выполнил запрос по остаткам - цифры в послежних разрядах на месте.

Перепровел документ - цифры в последних разрядах обнулились.

Т.е. при реструктуризации при созранении конфигурации он эти итоги считает правильно, и при пересчете после проведения документа он их теряет.

Универсальный отчет УТ 10.3 показывает нормально только при типе Число(14,10), консоль запросов показывает нормально начиная с Число(16,10).

Магия!
   Fannasankh
 
5 - 17.01.18 - 15:40
А зачем такая точность?
   Ботаник Гарден Меран
 
6 - 17.01.18 - 15:46
В партнерке кстати есть темы про 8 знаков после запятой.
Это не магия, это кужня у них такая, с темной кладовкой.
   xavchik
 
7 - 17.01.18 - 15:48
И еще немного магии:

Универсальный отчет за 1 день
https://ibb.co/edM22R

Универсальный отчет без указания периода (данные те же):
https://ibb.co/i0K5NR
   xavchik
 
8 - 17.01.18 - 15:48
(5) Есть разные объекты учета. Мои требуют такой точности :-)
   xavchik
 
9 - 17.01.18 - 15:49
(6) Речь идет о партнерском разделе сайта?
   El_Duke
 
10 - 17.01.18 - 15:58
(8) Очень интересно ...
На каких весах вы взвешиваете или в какой микроскоп разглядываете такие объекты учета ?
 
  Рекламное место пустует
   Быдло замкадное
 
11 - 17.01.18 - 16:01
20 знаков слева, 10 справа...
Тогда уж оставь 1 знак слева
   Быдло замкадное
 
12 - 17.01.18 - 16:01
героин продают, не иначе!
   kauksi
 
13 - 17.01.18 - 16:03
чую что конфа для учета биткоинов
   Serg_1960
 
14 - 17.01.18 - 16:18
Из одной моей старой темы на эту тему (точнее про некоторые  особенности работы ВЫРАЗИТЬ в запросе):

Запрос = Новый Запрос("Выбрать ВЫРАЗИТЬ(13.1/13 КАК ЧИСЛО(27,25)) КАК Точность");
Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий();
Сообщить(""+Выборка.Точность)// 1,0076923076923076923076923...
   organizm
 
15 - 17.01.18 - 16:33
Это старая песня, единицу хранения присвоили килотонны, а приходуют наноограммы. "Дебилы, мля" (с)
   xavchik
 
16 - 17.01.18 - 16:41
(11) Маловато будет
   xavchik
 
17 - 17.01.18 - 16:41
(12) Хорошая идея для разработки отраслевой конфигурации. 1С: Наркоторговля 8 ПРОФ :-)
   lodger
 
18 - 17.01.18 - 16:42
(0) ведите учет в целых числах, без дробной части. "позицию запятой", т.е. множитель, хранить в соседнем реквизите или в реквизите измерения и доставать для математики.
косяки с дробными частями это старый прикол платформы и особенности работы с СУБД (которая, как вы помните может быть встроенной файловой в том числе).
   xavchik
 
19 - 17.01.18 - 16:43
(14) Да, в статье по ссылки выше так и написано. Но мне надо, чтобы это работало глобально, а не переписывать все места обращения к этому ресурсу - ибо геморно и забивает логику
   xavchik
 
20 - 17.01.18 - 16:44
(15) Нет, тут единиц измерения нет вообще, не используются они
   xavchik
 
21 - 17.01.18 - 16:45
(18) Да, это решение, предлагали уже выше. Но забивает код ненужными деталями. Хочется красиво. В принципе, предложенный обходной путь работает.
   organizm
 
22 - 17.01.18 - 16:48
(21) с кратностью как раз красивый универсальный способ! Как вы определил, что 10 знаков после запятой будет достаточно?
   breezee
 
23 - 17.01.18 - 16:52
(17) Ага, там все занято уже по торговле, а отчетность им наркоторговцам навряд ли сдавать надо)
   xavchik
 
24 - 17.01.18 - 16:52
Ну, если уж упрусь, что надо будет больше, то передалаю таким способом.
   xavchik
 
25 - 17.01.18 - 16:53
(23) Нужно, нужно... Перед крышующими "органами" :-)
   breezee
 
26 - 17.01.18 - 16:54
(21) А чем вам единицы хранения не устраивают? Выше предлагали или у вас товар может быть продан на 1 микрограмм и 1 млн тонн одновременно? Так все равно можно оформить в разных единицах продажу, а то что вы пишите про регистр с точностью в 10 знаков - это как раз не очень красивое решение
   breezee
 
27 - 17.01.18 - 16:55
(26)
*Выше предлагали. Или у  
Фикс
   xavchik
 
28 - 17.01.18 - 16:56
(27) Segate предлагал, в самом начала
   xavchik
 
29 - 17.01.18 - 16:57
(26) У меня вообще нет единиц измерения и быть их не может. Они не присущи объекту учета. Это просто количество и все.
   breezee
 
30 - 17.01.18 - 16:57
(28) Ну так разве плохое решение? продайте в 1 мг, а не 0.0000001 грамм
   breezee
 
31 - 17.01.18 - 16:58
(29) А что у вас такое? Если копейки криво округляются - спишите последнюю...
   vde69
 
32 - 17.01.18 - 16:59
если количество с 10 знаками, то с какой точностью нужна цена? и в каких это будет единицах?

блин я целый год потратил для приведение учета сделанного дебилами до 6 знаков после запятой к типовому, все жутко ругались.... а поработали на типовом полгода и стали вспоминать старое как страшилку ...
   breezee
 
33 - 17.01.18 - 17:00
(32) Манагеры тоже будут рады забивать такие удобные документы
 
  Рекламное место пустует
   vde69
 
34 - 17.01.18 - 17:00
за реализацию САБЖА - надо гнать из профессии...
   bodri
 
35 - 17.01.18 - 17:05
(34) а заказчиков расстрелять?
   xavchik
 
36 - 17.01.18 - 17:08
Как же я люблю, когда люди начинают вместо ответа на вопрос, рассуждать о том, кого надо расстреливать и жалеть манагеров, которые будут что-то куда забивать :-)

Непередаваемая атмосфера форумов...
   breezee
 
37 - 17.01.18 - 17:11
(36) Но вопрос довольно странный, если бы мы отвечали на вопрос, а не разбирались в сути проблемы - у нас бы получилась не рабочая система, которая состоит целиком из хотелок пользователей
   xavchik
 
38 - 17.01.18 - 17:13
(37) Я согласен, что с заказчиком надо обсуждать вопрос со всех сторон. Но - я не заказчик в данном случае. Я - разработчик.
   vde69
 
39 - 17.01.18 - 17:13
(37) ну на самом деле, может это и не сумма и не количество, а например координаты геопозиционирования... но в таком случае их проще написать в виде строки.
   Lama12
 
41 - 17.01.18 - 18:31
(0) Разработка конфигурации - "1С:Астронавигация"?
Вроде у них своя платформа...
   stopa85
 
42 - 17.01.18 - 19:31
(0) Вообще, конечно, грусно .. но что делать.

В СУБД у тебя есть DECIMAL(20,10), а в коде платформы только Число.

Подозреваю, что это "Число" - есть число с плавающей точкой, а операции по ним по определению приближенные, т.е. не точные.
   Asmody
 
43 - 17.01.18 - 19:36
Представление чисел, виды числовых типов, операции с десятичными и с плавающей точкой, точность числа и "машинный ноль" сейчас проходят в школьном курсе информатики.
   xavchik
 
44 - 17.01.18 - 20:29
(43) Еще один гений, блин...

Я пишу на 1С. На 1С, Карл!

1С, это не ассемблер с прямой работой с регистрами памяти процессора, это платформа. Платформа, включает в себя целый набор технологий (SQL, платформа 1С, драйверы для работы с СУБД и куча еще чего), которые позводяют не заморачивасть с операциями с числами с плавающей точкой.

Так что мой вопрос совсем не простой, как может показаться, а твои перечисления умных слов не никак не приближают к правильному ответу...
   xavchik
 
45 - 17.01.18 - 20:33
(42) +100500

Внутри все так и есть. Но задача проста: хранить значения в регистрах с точностью до 10-го знака и получать по ним итоги платформенными средствами
   Веселый собака
 
46 - 17.01.18 - 22:16
(32) Ты супермен, конечно, и правильный такой. Но теперь тебе надо будет каждый раз доказывать это!
   Asmody
 
47 - 17.01.18 - 22:27
(44) Независимо от того, на чём ты пишешь, Карлуша, знать как представляются и обрабатываются числа в компьютере нужно.
   xavchik
 
48 - 17.01.18 - 23:43
(47) Во-первых, я знаю. Во-вторых, нужно знать много чего. Например, какие грибы есть можно, а какие - нет. Это тоже очень важная информация, даже иногда жизненноважная. Но ценность от нее в этом месте, возможно, даже выше, чем то, о чем ты говоришь.
   Asmody
 
49 - 17.01.18 - 23:53
(48) хочешь об этом поговорить?
 
 



Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует