Имя: Пароль:
1C
1С v8
Формат числа без лишних нулей после запятой
,
0 Timqsh
 
15.10.13
12:35
Как отформатировать число, чтобы 3.333333 стало 3.33, а 1 при этом не превратилось в 1.00?

З.Ы. Форматирую поле в СКД
1 Rie
 
15.10.13
12:36
(0) Они, наверно, в разных полях? Или это в одном и том же поле сделать надо?
2 Timqsh
 
15.10.13
12:39
(1) Нет поле одно.
Например равное ЧастроеПоле / ОбщееПоле * 100
Хочу чтобы 1 / 3 * 100 давало 33.33, а 3/3 * 100 давало 100 без лишних нулей.

Есть простой способ?)
3 Лодырь
 
15.10.13
12:40
Округли до 2 знаков без форматирования
4 hhhh
 
15.10.13
12:43
(2) ну почитать документацию. Там вроде есть такой формат.
5 Cube
 
15.10.13
12:44
(2) Окр(1 / 3 * 100, 2)
6 Timqsh
 
15.10.13
12:46
(3) Сейчас попробую. Я так понимаю в моем случает это на заклдке ресурсов надо делать. И в СКД округление через Выразить( <> как Число(15,2) ) делается. Верно понимаю?)
7 Timqsh
 
15.10.13
12:47
(4) В конструкторе форматной строки не нашел(
(5) У меня СКД окр() не пашет
8 Лодырь
 
15.10.13
12:47
(5) В СКД он обломается с ОКР, надо юзать чтонибудь аля ВЫРАЗИТЬ(НекийПоказатель,"Число(10.2)")
(6) смотри пример в посте
9 Cube
 
15.10.13
12:48
(7) Смотря где пахать... В запросе есть выразить()....
10 Timqsh
 
15.10.13
13:04
Написал в ресурсах Выразить(Сумма(Итого) , "Число(10,2)") - 100 вывел как 100,00.

Не там написал?
11 smaharbA
 
15.10.13
13:17
два раза выразить
12 Timqsh
 
15.10.13
13:18
В общем написал тестовый отчет с таким запросом
ВЫБРАТЬ
    1 КАК знач,
    "а" КАК груп

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    1 / 3,
    "б"

Если выводить детальные записи то достаточно как тут советуют использовать округление - написать в поле "выражение представление" выразить(знач, "Число(15,2)").

А если выводить знач как сумму по полю груп то ничего не помогает.
13 Timqsh
 
15.10.13
13:20
(11) Написать Выразить(сумма(выразить()))? Ща попробую
14 Timqsh
 
15.10.13
13:23
Хрен там. Походу простого способа сделать что я хочу для ресурса скд нету =(
15 Cube
 
15.10.13
13:24
(12) А в запросе округлить никак?
16 Timqsh
 
15.10.13
13:33
(15)А как я запросе получу коэфициент с корректными суммами по группировкам?

Например
"а" 1 2 50%
"а" 1 4 25%
итого по "а"
"а" 2 6 33.33%

Через СКД можно такой формулой в ресурсах: Сумма(Частное) / Сумма(Итого) * 100
17 smaharbA
 
15.10.13
13:36
"ВЫБРАТЬ
        |    ВЫРАЗИТЬ(ВЫРАЗИТЬ(УстановкаЦенНоменклатуры.Цена КАК ЧИСЛО(10, 1)) КАК ЧИСЛО) КАК Цена
        |ИЗ
        |    Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатуры
        |ГДЕ
        |    УстановкаЦенНоменклатуры.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
        |
        |СГРУППИРОВАТЬ ПО
        |    УстановкаЦенНоменклатуры.Цена";
18 Timqsh
 
15.10.13
13:46
(17)Охренеть и правда 2 раза выразить работает. В том числе в СКД при расчете ресурсов.

Но какой же изврат) Спрашивать, существует ли в 1С неизвратный способ, я так понимаю не стоит)
19 el7cartel
 
15.10.13
13:51
(15) мы не ищем легких путей)))
20 Timqsh
 
15.10.13
14:12
(19) Просвети меня, как в запросе рассчитать коэффициент с группировками на примере (16). А то я чего то упор этих легких путей не вижу =)
21 mistеr
 
15.10.13
15:03
Выразить(сумма(выразить())) чревато искажениями, из-за потери точности.

Надо Выразить() в выражении для вычисляемого поля, и отдельно Выразить() в выражении для ресурса.
22 mistеr
 
15.10.13
15:03
23 Timqsh
 
16.10.13
13:36
(21) Да, я как раз успел разобраться как правильно работать с ресурсами в этом случае - выражение вычисляемого поля для детальных записей и выражение для ресурса для итоговых.

(22)Хороший пример, спасибо. А если еще использовать идею из (17) и добавить еще одно выразить в начале к выражениям представления:

Выразить(Выразить(Частное / Итого * 100 , "Число(10,2)") ,"Число")

и к выражению ресурса:

Выразить(Выразить(Сумма(Частное) / Сумма(Итого) * 100 , "Число(10,2)") ,"Число")

то и нулей там, где процент равен 25.00 или 50.00, не будет. Потери точности в таком случае вроде тоже быть не должно.