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


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

Метки: 

Как не округлять, а отрезать знаки после запятой

Я
   Gena1984
 
24.01.18 - 16:52
Всем добрый вечер. Вопрос следующий. УПП 1.3 последний релиз. Необходимо в отчете производства за смену уменьшить количество знаков после запятой с 5 (кем то давным давно было увеличено до 5) до 3 (стандартная разрядность), но что бы не округлялось,, а отрезалось 2 знака в хвосте. Может есть какие то настройки конфигуратора, не могу найти. В конфигураторе уменьшил до 3, базу обновил, посмотрел, он округлил.
 
 
   Сти
 
1 - 24.01.18 - 16:56
(1) Нет такой настройки. Обработкой отрезать, а потом уже менять разрядность.
   vde69
 
2 - 24.01.18 - 16:57
формат
   Gena1984
 
3 - 24.01.18 - 16:59
Обработкой тяжело. Это я просто пример привел отчет производства за смену. в базе куча таких документов. И требования и перемещения и списание и т.д. Плюс перепроводить их нельзя. Это и 12 и 13 и 14 и так до 17 года. Все это как то надо лихо отрезать что бы было 3 знака и никаких остатков не вылезло, если округляешь остатки вылазят.
   Вафель
 
4 - 24.01.18 - 17:00
1с само округляет, когда привдение типов делает
те ты говоришь Строка.Количество = 1.12356. а оно приводит к 1.124
   CountR
 
5 - 24.01.18 - 17:00
(3) Странная у вас программа - если округлять, то остатки вылазят, а если обрезать - то все ок! Куда обрезанное девается?
   zzzzz
 
6 - 24.01.18 - 17:02
Это ведь отчет. Зачем обработка в отчете?
Можно форматом, можно округлением. По всякому можно.
Отрезка - это одна строчка.
Там проблема в нач ост 1. Переместили 0,0005 осталось 0,9995 на новом складе 0,0005
На следующий день - остаток на одном складе 0,9995 в отчете 
0,999 а на другом складе 0,0005. а в отчете -0.
Куда дели?
   Serg_1960
 
7 - 24.01.18 - 17:05
(6)  "Отчет производства за смену" - это документ в УПП. Вот такое вот название у него :)
   arsik
 
8 - 24.01.18 - 17:06
(3) А зачем их перепроводить. Регистры редактируешь и реквизиты в документе редактируешь.
   Мандалай
 
9 - 24.01.18 - 17:06
Цел
   Serg_1960
 
10 - 24.01.18 - 17:09
Имхо, надо смотреть не только документ, но и его движения. Однажды встретился я на практике случай: в документе увеличили количество знаков после запятой, а в движениях - нет, забыли, оставили как и было. И все довольны и улыбаются - и те, кому нужна печатная форма пыль пустить в глаза, и те, кому такая точность нафиг не сдадась в учете :))
 
 Рекламное место пустует
   Базис
 
11 - 24.01.18 - 17:09
На франчей похоже. Сперва 100 часов за увеличение точности, теперь столько же за обратное. ДокиНеЧитай@СразуПравьКод
   Serg_1960
 
12 - 24.01.18 - 17:10
Ой, sorry, за очепятки
   Вафель
 
13 - 24.01.18 - 17:15
(11) пока клиент платит - все ок )))
   Gena1984
 
14 - 24.01.18 - 17:24
Пусть оно исчезнет просто. Речь идет только о количестве, в суммах все ОК. было 1,12567 кг станет 1,125 кг. Пусть так и будет. Вопрос как это быстро сделать по всей базе.
   Serg_1960
 
15 - 24.01.18 - 23:25
(0) Быстро не получится. Преобразования значений исполняется на уровне платформы. Другими словами, математическое округление "зашито" в платформе.
И потому ждет тебя, касатик, пиковый туз и дальняя дорога в два этапа :)
- обработкой изменятся значения с нужной точностью так, как нужно;
- вносятся изменения в конфигураторе.
   ndv76
 
16 - 25.01.18 - 04:45
ЦЕЛ(1.12567*1000)/1000 = 1.125 в 7.7
   Peltzer
 
17 - 25.01.18 - 05:15
Ок. У ребят в ОПзС было пять знаков. Оставьте прошлые периоды историкам. А в новых документах на форме режьте до нужного числа знаков.
Вопрос в том, какие регистры затрагивают введенные числа.
   Emery
 
18 - 25.01.18 - 06:56
(16) > ЦЕЛ(1.12567*1000)/1000 = 1.125

Если нужно обрезать без округления три знака после запятой, то это легко сделать также на базе функции округления:

Окр(1.125670.0005, 3) = 1.125

В  общем случае, для n знаков аналогичная формула будет:

[x, n] = Окр(x – 1/(2*10^n), n)

Кстати, если нужно всегда округлять вверх до ближайшего целого, то в приведенных формулах минус меняем на плюс.
   capllary_surgut
 
19 - 25.01.18 - 08:43
(0) А вариант преобразования в строку, обрезания, и возврат в число чем не устраивает?
   rs_trade
 
20 - 25.01.18 - 08:56
заменить нулями последние две цифры? и потом усечь.
   Serg_1960
 
21 - 25.01.18 - 09:14
(17) "Оставьте прошлые периоды историкам" - если чисто формально трактовать вашу фразу, как "сохранение предыдущих значений без изменений", то изменять точность нужно только на форме документа, ничего более не трогая. Логично? Логично. Ведь если на форме три знака после запятой, то пользователь не сможет внести более точное значение, даже если реквизиты объекта это позволяют сделать. Вы спросите "Зачем это нужно?" Отвечаю: можно легко реализовать ТЗ, когда точность внесения значений зависит от даты документа и установленной константой даты, после которой она изменяется. Я не сложно сказал?



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