|
Как установить в запросе значение поля по условию? | ☑ | ||
---|---|---|---|---|
0
Zhuravlik
08.05.13
✎
16:31
|
Добрый день.
Мучаю запросы, есть такая задача: необходимо выбрать строки из табличной части справочника с фильтром по ссылке на справочник, и по значению в первом столбце табл. части. В табличной части всего четыре поля: "Отчет" (Строка), "Элемент" (Строка), зн_УниТип (Составной: Число, Дата, Булево, ВсеСсылки), зн_Строка (Строка неограниченной длины). Необходимо выбрать значения поля "Элемент", и - если "зн_Строка" - пустая, то "зн_УниТип", иначе - "зн_Строка" с алиасом "Значение". Делаю так: "ВЫБРАТЬ | тчНастройки.Элемент КАК Элемент, | ВЫБОР | КОГДА тчНастройки.зн_Строка = "" ТОГДА тчНастройки.зн_Унитип | ИНАЧЕ тчНастройки.зн_Строка | КОНЕЦ КАК Значение | |ИЗ | Справочник.Пользователи.НастройкиОтчетов КАК тчНастройки |ГДЕ | тчНастройки.Ссылка.Ссылка = &Пользователь | И тчНастройки.Отчет = &Отчет" Но мне на это ругается конструктор запросов и сама программа. Рыл-рыл тырнет, понял что без мисты не справлюсь... |
|||
1
Defender aka LINN
08.05.13
✎
16:35
|
да уж...
"""" |
|||
2
Zhuravlik
08.05.13
✎
16:35
|
(1) Делал так, не проходит.
|
|||
3
Zhuravlik
08.05.13
✎
16:36
|
Собственно, строчкой "тчНастройки.зн_Строка = """ я хотел показать что у меня там проверка на пустоту...
|
|||
4
Zhuravlik
08.05.13
✎
16:38
|
(1) Ругается вот так: "Нельзя сравнивать поля неограниченной длинны и поля несовместимых типов"
|
|||
5
Defender aka LINN
08.05.13
✎
16:39
|
(2) Врешь
|
|||
6
Fragster
гуру
08.05.13
✎
16:39
|
Выразить(чНастройки.зн_Строка как Строка(1))
|
|||
7
Defender aka LINN
08.05.13
✎
16:39
|
(4) А, ну так и говори. ПОДОБНО.
|
|||
8
Fragster
гуру
08.05.13
✎
16:39
|
(2) вообще-то глядя на запрос (0) именно (1) приходит в голову
|
|||
9
Zhuravlik
08.05.13
✎
16:40
|
(5) Ей-богу не вру)))))))
(7) И так вроде пробовал, сейчас попробую еще раз... |
|||
10
Zhuravlik
08.05.13
✎
16:42
|
(6)
| ВЫБОР | КОГДА Выразить(тчНастройки.зн_Строка как Строка(1)) = """" ТОГДА тчНастройки.зн_Унитип | ИНАЧЕ тчНастройки.зн_Строка | КОНЕЦ КАК Значение Ругается, говорит "Несовместимые типы "ВЫБОР" <<?>> ВЫБОР" |
|||
11
Zhuravlik
08.05.13
✎
16:43
|
(8) Видимо это прокатило бы, если бы строка не была неограниченной длины.
|
|||
12
Zhuravlik
08.05.13
✎
16:48
|
Все никак...
|
|||
13
Zhuravlik
08.05.13
✎
16:52
|
| ВЫБОР
| КОГДА Выразить(тчНастройки.зн_Строка как Строка(1)) ПОДОБНО """" ТОГДА тчНастройки.зн_Унитип | ИНАЧЕ тчНастройки.зн_Строка | КОНЕЦ КАК Значение Тоже "Несовместимые типы "ВЫБОР" <<?>> ВЫБОР"< |
|||
14
Fragster
гуру
08.05.13
✎
16:54
|
(13) а весь секст запроса можешь?
|
|||
15
Zhuravlik
08.05.13
✎
16:55
|
"ВЫБРАТЬ
| тчНастройки.Элемент КАК Элемент, | ВЫБОР | КОГДА Выразить(тчНастройки.зн_Строка как Строка(1)) ПОДОБНО """" ТОГДА тчНастройки.зн_Унитип | ИНАЧЕ тчНастройки.зн_Строка | КОНЕЦ КАК Значение |ИЗ | Справочник.Пользователи.НастройкиОтчетов КАК тчНастройки |ГДЕ | тчНастройки.Ссылка = &Пользователь | И тчНастройки.Отчет = &Отчет" |
|||
16
Fragster
гуру
08.05.13
✎
17:03
|
фигня какая-то. у меня работает
|
|||
17
Fragster
гуру
08.05.13
✎
17:03
|
с другой ТЧ, но тоже неопределенной длины
|
|||
18
Fragster
гуру
08.05.13
✎
17:04
|
добавляй конструкцию "выбор" в запросе
|
|||
19
acsent
08.05.13
✎
17:06
|
у тебя там не хранилище ли случайно?
|
|||
20
Zhuravlik
08.05.13
✎
17:09
|
(18) Так ведь одна есть уже, куда добавлять?
(19) Нет |
|||
21
Zhuravlik
08.05.13
✎
17:10
|
йо, платформа 8.1, если что...
|
|||
22
Fragster
гуру
08.05.13
✎
17:12
|
(20) приведи в вид, который жрет конструктор, и внутри конструктора работая
|
|||
23
Zhuravlik
08.05.13
✎
17:19
|
(22) Так я так и хотел, можно сказать в том и проблема, что конструктор ругается без конца.
На всякий: тестирую и в конструкторе и в базе. |
|||
24
Zhuravlik
08.05.13
✎
17:19
|
(23) + Ток не получаицца(((
|
|||
25
Zhuravlik
08.05.13
✎
17:21
|
Лан, фих с ним. Проверяю на тип при выборке результатов запроса, потом поморочусь если время будет.
Спасибо всем за беспокойство. |
|||
26
hhhh
08.05.13
✎
17:35
|
(25)
КОГДА ПОДСТРОКА(тчНастройки.зн_Строка, 1, 1) = """" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |