Имя: Пароль:
1C
1С v8
округление в запросе
0 kintevy
 
08.12.22
16:46
Нужно округлить в запросе на количество знаков после запятой, которое содержится в переменной, как это сделать?
Пишу ВЫРАЗИТЬ(Количество * Коэффициент /Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК ЧИСЛО(10,Номенклатура.ЕдиницаХраненияОстатков.лКоэффициентОкругления))
Выходит ошибка из за того, что там должна стоять константа.
Но знаки после запятой могут меняться в зависимости от ситуации, в переменной эти ситуации предусмотрены
1 mikecool
 
08.12.22
16:47
подставь числа через перебор ВЫБОР КОГДА...
2 mikecool
 
08.12.22
16:48
недавно открыли мне нотацию
Выбор Что-то
  когда такое тогда это
  когда сякое тогда то
3 mikecool
 
08.12.22
16:49
т.е.
выбор Номенклатура.ЕдиницаХраненияОстатков.лКоэффициентОкругления
  Когда ДоДвухЗнаков Тогда 2
и т.п.
4 kintevy
 
08.12.22
16:51
(3) а в одной строке без выбора никак не сделать?
потому что не получится через условие сделать
5 Kassern
 
08.12.22
16:52
(2) С почином вас)
6 Kassern
 
08.12.22
16:54
(4) Сколько знаков после запятой может быть?
7 CepeLLlka
 
08.12.22
17:01
(0)Была такая тема у меня, сделал как посоветовали, всё работает до сих пор.
Округление в запросе при помощи ВЫРАЗИТЬ()

Но недавно в зазеркальях обещали ОКР() в запросе. Может ваша версия платформы поддерживает это уже?
8 SleepyHead
 
гуру
08.12.22
17:13
(7) Ссылка не открылась
9 Kigo_Kigo
 
08.12.22
17:13
10 ildary
 
08.12.22
17:38
(0) Кроме вариантов выше можно попробовать применить схему запроса и подставить через неё значение константы
11 bolobol
 
08.12.22
17:49
Предлагаю заюзать СКД и POW. Умножить на количество знаков, сделать целое, разделить
12 kintevy
 
09.12.22
11:48
(7) бинго! выход был именно в методе окр, не знал что его в новые версии добавили