![]() |
![]() |
![]() |
|
Сравнение Числовой константы и числа | ☑ | ||
---|---|---|---|---|
0
TechKom
20.09.05
✎
13:36
|
Если СуммаДокумента > Константы.СуммаБухгалтера Тогда
Отказ = Истина; Иначе Вот сравниваю, но пишет что невозможно сравнить, потому что используется только для примитивных данных. А сравить надо. Как сравнить числовую константу и число? |
|||
1
iSeRG
20.09.05
✎
13:38
|
Константы.СуммаБухгалтера.Получить()
|
|||
2
gavril
20.09.05
✎
14:02
|
СуммаДокумента или Константы.СуммаБухгалтера.Получить() могут быть "null" в 8-ке. Проверь.
|
|||
3
iSeRG
20.09.05
✎
14:06
|
NULL это только в запросах
|
|||
4
Волшебник
модератор
20.09.05
✎
14:10
|
(3) Вопрос на засыпку. Сможешь ли ты преобразовать строку в число в запросе?
Например, есть строковый код "0005", "0006" и нужно отобрать элементы с кодом, большим, чем 5. |
|||
5
Astaroth
20.09.05
✎
14:14
|
(4) уже можно отвечать?
|
|||
6
Волшебник
модератор
20.09.05
✎
14:15
|
(5) Да, пожалуйста.
|
|||
7
iSeRG
20.09.05
✎
14:16
|
ВЫРАЗИТЬ (ххх,ЧИСЛО)
|
|||
8
Волшебник
модератор
20.09.05
✎
14:18
|
(7) Попробуй.
|
|||
9
Дяпти
20.09.05
✎
14:30
|
(4) А можно я?
Если "нужно отобрать элементы с кодом, большим, чем 5", тогда // ГДЕ Код > "0005" // А вот преобразовать типы друг в друга не получиЦЦо :-( |
|||
10
iSeRG
20.09.05
✎
14:34
|
(8) попробовал не получается
|
|||
11
Волшебник
модератор
20.09.05
✎
14:37
|
(9) Уже лучше. Но не идеально. Числовое сравнение подменяется строковым. В некоторых случаях можно получить неверные результаты.
(10) А то.. |
|||
12
iSeRG
20.09.05
✎
14:42
|
(11) а что можно идеально?
|
|||
13
Волшебник
модератор
20.09.05
✎
14:42
|
(12) Я пока не знаю способа.
|
|||
14
Дяпти
20.09.05
✎
14:45
|
(11) А в каких?
|
|||
15
Волшебник
модератор
20.09.05
✎
14:46
|
(14) Например, "11" < "2".
|
|||
16
Волшебник
модератор
20.09.05
✎
14:47
|
(15) т.е. в случае ведущих нулей всё должно быть ок, но если их нет, жди несуразностей.
|
|||
17
Cerrg
20.09.05
✎
14:49
|
(4) ?(5>Число(НужнаяСтрока), Действие1, Действие2)
|
|||
18
Дяпти
20.09.05
✎
14:49
|
Странно что енто не реализовано - есть же в T-SQL функция "cast", надо было просто "выразить" тупо, не умничая, транслировать в "cast"
|
|||
19
Shaytan
20.09.05
✎
14:50
|
(3) Оказывается не только.
|
|||
20
Волшебник
модератор
20.09.05
✎
14:50
|
(17) Функции Число в языке запросов нет. Как и конструкции ?, вместо которой применяется ВЫБОР.
|
|||
21
Shaytan
20.09.05
✎
14:51
|
(+19) Нпример, при обращении к реквизиту "только для элемента" у группы справочника получим NULL.
|
|||
22
Cerrg
20.09.05
✎
14:52
|
(20) Не заметил про запрос.... извини
|
|||
23
Волшебник
модератор
20.09.05
✎
14:52
|
(19) Как мне каежтся, NULL образуется сам по себе только в запросах при внешних соединениях, когда не находится соответствующей записи. Во встроенном языке обычно используется значение Неопределено (которое не равно Null).
|
|||
24
Волшебник
модератор
20.09.05
✎
14:53
|
(21) Или получим ошибку.
|
|||
25
Волшебник
модератор
20.09.05
✎
14:55
|
(24) нет, я не прав. Ошибка будет в другом случае. Когда обращаемся к полю ЭтоГруппа НЕиерахического справочника, или к свойству Код справочника, у которого длина кода = 0.
|
|||
26
Shaytan
20.09.05
✎
15:02
|
(23) Оказалось что не всегда Неопределено. Проверял в отладчике - при (19) именно NULL.
|
|||
27
iSeRG
20.09.05
✎
15:04
|
а код можно?
|
|||
28
Astaroth
20.09.05
✎
15:06
|
(25) не знаю как вам, но ИМХО, и в случае (21) должна быть ошибка, а не NULL
|
|||
29
Волшебник
модератор
20.09.05
✎
15:06
|
(25)+ а также к полям Родитель (для неирерахических), Владелец (для неподчиненных).
Интересные эффекты наблюдаются когда справочник входит в составной тип (например, измерение регистра сведений) и происходит обращение через точку к полям ЭтоГруппа, Родитель, Владелец. Ошибки не выдается, а возвращается NULL, который аналогичен значению ЛОЖЬ. Т.е. при использовании в условии ГДЕ результатом будет ЛОЖЬ, причем не важно, используется ли ГДЕ ЭтоГруппа или ГДЕ НЕ ЭтоГруппа Любое сравнение значения NULL с другим даёт NULL. Для отбора таких значений нужно применять ЕСТЬ NULL |
|||
30
Волшебник
модератор
20.09.05
✎
15:07
|
(28) Проводил эксперимент. Ошибку не выдаёт. Выдаёт именно NULL
|
|||
31
Astaroth
20.09.05
✎
15:09
|
(30) погоди, это в запросе?
|
|||
33
Волшебник
модератор
20.09.05
✎
15:11
|
(31) да
|
|||
34
Astaroth
20.09.05
✎
15:13
|
(33) тогда я не понимаю цепочку (3)-(19)-(21)
|
|||
35
Волшебник
модератор
20.09.05
✎
15:14
|
(34) Что конкретно тебе непонятно? Вопрос в студию
|
|||
36
Shaytan
20.09.05
✎
15:15
|
(19,21,23) + Имелась ввиду объектная модель.
|
|||
37
iSeRG
20.09.05
✎
15:17
|
(34) он видимо имеет ввиду что (2) имеет место
|
|||
38
Astaroth
20.09.05
✎
15:18
|
iSeRG
3 - 20.09.05 - 14:06 NULL это только в запросах Shaytan 19 - 20.09.05 - 14:50 (3) Оказывается не только. Shaytan 21 - 20.09.05 - 14:51 (+19) Нпример, при обращении к реквизиту "только для элемента" у группы справочника получим NULL. Волшебник Модератор 24 - 20.09.05 - 14:53 (21) Или получим ошибку. Волшебник Модератор 25 - 20.09.05 - 14:55 (24) нет, я не прав. Ошибка будет в другом случае. Когда обращаемся к полю ЭтоГруппа НЕиерахического справочника, или к свойству Код справочника, у которого длина кода = 0. Astaroth 28 - 20.09.05 - 15:06 (25) не знаю как вам, но ИМХО, и в случае (21) должна быть ошибка, а не NULL Волшебник Модератор 30 - 20.09.05 - 15:07 (28) Проводил эксперимент. Ошибку не выдаёт. Выдаёт именно NULL т.е. по-логике, начиная с (19) речь идет _не о запросе_. или, всетаки, о запросе? |
|||
39
Волшебник
модератор
20.09.05
✎
15:33
|
Лично я говорил только о запросе.
|
|||
40
Cerrg
20.09.05
✎
15:37
|
(39) А через ТипЗначения получится?
|
|||
41
Волшебник
модератор
20.09.05
✎
15:39
|
(40) Вот любитель встроенного языка! В запросе нельзя использовать функции встроенного языка. В клиент-серверной версии запросы конвертируются в T-SQL и выполняются на SQL-сервере.
|
|||
42
iSeRG
20.09.05
✎
15:39
|
(40) ну и ветка получилась
|
|||
43
Волшебник
модератор
20.09.05
✎
15:39
|
(40) Кстати, функция правильно называется ТипЗнч
|
|||
45
Cerrg
20.09.05
✎
15:41
|
(43) Описание параметров запроса - ТипЗначения
|
|||
46
Волшебник
модератор
20.09.05
✎
15:41
|
(42) Думаю, такие ветки очень интересны и познавательны. В стиле настоящих хакеров в первоначальном смысле этого слова - "копать", т.е. разбираться досконально в различных тонкостях.
|
|||
47
iSeRG
20.09.05
✎
15:43
|
(46) ну да интересны - уже как с 13:38 не могу полностью занятся своей работой :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |