![]() |
![]() |
![]() |
|
Проанализировать строку в запросе | ☑ | ||
---|---|---|---|---|
0
San1
04.11.07
✎
14:10
|
Всем доброго времени суток. Появилась нужда сравнить содержимое поля со строковой константой. Нужно че-то вроде
... ВЫБОР КОГДА (ВЫРАЗИТЬ(ИмяДокумента КАК Строка(5)) = "Прием") ТОГДА ... или ... ВЫБОР КОГДА (ИмяДокумента ПОДОБНО "Прием%") ТОГДА ... где ИмяДокумента - Представление документа. Как это сделать? Можно, конечно, разбить запрос на неск ОБЪЕДИНИТЬ и вставить это условие в секцию ГДЕ, включив в кажд часть нужный вариант выбора, но тогда получается прилично объединений, время выполнения вырастет... Коряво вообщем. Может есть другие варианты? |
|||
1
ТелепатБот
гуру
04.11.07
✎
14:10
|
||||
2
San1
04.11.07
✎
14:12
|
Ёклмн.. вроде ставил раздел 8... Вопрос по восьмерке, перенесите тему, пожалуйста.
|
|||
3
Wladimir_spb
04.11.07
✎
14:29
|
Попробуй сделать простеньки запрос с ВЫБОР и такой же через ОБЪЕДИНИТЬ. Скорее всего время выполнения запроса с объединить будет гораздо меньше...
|
|||
4
San1
04.11.07
✎
15:09
|
Блин, чет ниче у меня с ПОДОБНО вообще не выходит( Выбираю данные из регистра сведений, у кт есть регистратор. Собственно, он меня и интересует.
Может, это из-за того, что поле Регистратор имеет составной тип.. Уж как я его только к строке не преобразовывал, и ВЫБРАТЬ ИЗ ВЫБРАТЬ делал, все одно, пишет неверные параметры ПОДОБНО, и все. С полем, кт есть просто строка - все отрабатывает. |
|||
5
PR
04.11.07
✎
15:14
|
ССЫЛКА
|
|||
6
San1
04.11.07
✎
15:53
|
Не совсем понятно, что делать со ссылкой.. Я получал "имя" документа так: Регистратор.Представление, и так: ПРЕДСТАВЛЕНИЕ(Регистратор). Возможно, ПОДОБНО не работает, т.к. ему нужно строку неограниченной длины. Но на ВЫРАЗИТЬ(Регистратор.Представление КАК Строка) - ругается, мол несовместимые типы. Регистратор.Представление - строка, и в чем дело никак не пойму. С регистром, у кт единственный регистратор тоже самое, дело не в составном типе. 8|
|
|||
7
San1
04.11.07
✎
16:03
|
Все.
"Каждая объектная таблица в информационной базе имеет виртуальное поле - "Представление". Это поле содержит текстовое представление объекта. В запросе возможно получать данное поле точно также как и другие поля таблиц, однако никакие операции с данным полем выполнять нельзя. Данная особенность связана с тем, что это поле является виртуальным, и, на самом деле, при получении данного поля из базы данных, запрос получает несколько полей, а при получении значения поля из результата запроса преобразовывает полученные значения в строку. Таким образом, единственное, что можно сделать с полем "Представление", это получить его в результат запроса." Вопрос №3: Как в запросе преобразовать ДокументСсылка в строку..) |
|||
8
Wladimir_spb
04.11.07
✎
16:19
|
||||
9
San1
04.11.07
✎
16:27
|
Наверно проще будет крутить полученную в результате работы запроса ТЗ, чем получить представление документа в запросе так, чтобы с ним можно было работать, если это вообще возможно. На этом, пока и остановлюсь. Всем спасибо.
|
|||
10
San1
04.11.07
✎
16:29
|
(8) Ух ты! Спасибо, а я про это дело и не знал совсем!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |