Имя: Пароль:
1C
1С v8
Преобразование типов в языке выражений компоновки данных 1с
0 kr888
 
04.10.13
13:07
Создаю "пользовательское поле выражение" в настройках отчета, не срабатывает следующее выражение:
Выбор
    Когда [Физическое лицо. Дополнительное свойство: Бренд 3] = "0.1"
    Тогда Начислено * 0.1
Конец

Не подскажите, в чем ошибка?
1 kr888
 
04.10.13
13:10
Или можно ли здесь преобразовать строку в число?
2 kr888
 
04.10.13
13:54
[Физическое лицо. Дополнительное свойство: Бренд 3] - это свойство, а 0.1 - значение. Скорее всего, я неправильно обращаюсь к значение этого свойства.
3 kr888
 
04.10.13
14:56
Может, кто знает, как обратиться к значению свойства или преобразовать строку в число?
4 sqr4
 
04.10.13
14:57
в запросе нельзя. Можно только явно указать тип у составного через выразить
5 sqr4
 
04.10.13
15:02
Обращаетесь полюбому не правильно, физическое лицо - Это что такое, через пробел...
6 fisher
 
04.10.13
15:07
[Физическое лицо. Дополнительное свойство: Бренд 3]
Либо я совсем темный, либо это не 1С.
7 kr888
 
04.10.13
15:07
Это характеристики. Вот это срабатывает:

Выбор
    Когда ЗначениеЗаполнено(Организация)
        Тогда [Физическое лицо. Дополнительное свойство: Бренд 3]
Конец

Здесь я просто вывожу значение свойства в детальных записях.
Но в случае умножения...
8 fisher
 
04.10.13
15:08
(6) + Значит, все-таки темный. С характеристиками в СКД я не работал...
9 kr888
 
04.10.13
15:20
"Можно только явно указать тип у составного через выразить" - в данном случае как можно использовать "Выразить"? Я пробовала:
Выразить([Физическое лицо. Дополнительное свойство: Бренд 3], "Число(1,1)") * Начислено
Не помогло.
10 catena
 
04.10.13
15:23
(9)Выразить не преобразует типы, только делает вид. Так нельзя.
11 Зойч
 
04.10.13
15:25
а тип какой у значения бренд 3?
12 kr888
 
04.10.13
16:46
На ИТС в статье "Язык выражений системы компоновки данных" написано:
ВЫРАЗИТЬ (CAST)
Данная функция предназначена для выделения типа из выражения, которое может содержать составной тип. Если выражение будет содержать тип, отличный от требуемого, будет возвращено значение NULL. Параметры:

? Преобразуемое выражение;

? Тип – строка, содержащая строку типа. Например, Число, Строка и т. п. Кроме примитивных типов данная строка может содержать имя таблицы. В таком случае будет осуществлена попытка выразить к ссылке на указанную таблицу.
ВЫРАЗИТЬ(Данные.Реквизит1, "Число(10,3)")

то есть эта функция сообщит мне о том, правильно ли я определила тип? Если в примере Данные.Реквизит1 имеет тип Число, то что возврат функция?
13 kr888
 
04.10.13
16:52
(11) Строка
14 hhhh
 
04.10.13
17:11
(12) если число, то возвратит число, если строка, то возвратит NULL
15 Laerys
 
04.10.13
17:13
(13) зачем использовать строку для чисел?
16 catena
 
04.10.13
21:00
(12)Выделяет тип, но НЕ преобразует.
17 kr888
 
07.10.13
13:03
(15) для ввода брендов, с которыми работает сотрудник, используется План видов характеристик "Свойства объектов", у его поля Наименование в конфигураторе задан тип Строка.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.