|
Функция ПРЕДСТАВЛЕНИЕ в запросе возвращает какую-то "особенную" строку? | ☑ | ||
---|---|---|---|---|
0
Симпатяшка
29.05.15
✎
12:43
|
Если верить справке 1С, функция Представление возвращает тип Строка. Ну понятно, что неограниченной длины. Вопрос в том, почему же тогда я с этим значением не могу работать как со строкой?
Например: ВЫБРАТЬ Номенклатура.НаименованиеПолное, ПРЕДСТАВЛЕНИЕ(Номенклатура.Ссылка) ИЗ Справочник.Номенклатура КАК Номенклатура И полное наименование, и представление ссылки по идее строки. Я могу написать ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(100)) или ПОДСТРОКА(Номенклатура.НаименованиеПолное, 5, 15). Делаю то же самое с представлением: ПОДСТРОКА(ПРЕДСТАВЛЕНИЕ(Номенклатура.Ссылка), 5, 15) - выдает ошибку, что параметр неверный. Почему так? |
|||
1
ДенисЧ
29.05.15
✎
12:44
|
В запросе с представлением ты работать не можешь.
Прими и смирись. Можешь с горя напиться, если поможет |
|||
2
чувак
29.05.15
✎
12:46
|
а какой смысл переделать представленеи в строку?
|
|||
3
Симпатяшка
29.05.15
✎
12:48
|
Потому что строки неограниченной длины нельзя между собой сравнивать. А если выразить как строку с заданной длиной, уже другой разговор )
|
|||
4
ДенисЧ
29.05.15
✎
12:49
|
(3) Всё-таки тебе придётся бежать в винный магазин...
|
|||
5
Симпатяшка
29.05.15
✎
12:50
|
(4) Это я уже поняла :(
|
|||
6
Симпатяшка
29.05.15
✎
12:51
|
Всё же выходит, что "Представление" какую-то волшебную строку возвращает
|
|||
7
Ёпрст
29.05.15
✎
12:54
|
(6) представление получается потом, не в самом запросе. Поентому в самом запросе с ним сделать ничего нельзя. Смирись
|
|||
8
Rovan
гуру
29.05.15
✎
13:21
|
(6)(+7) да, она строкой становится только на выходе запроса, а внутри него это видимо некая виртуальная функция.
Не парься! Наверняка у тебя в номенклатуре представление идет по Наименованию - вот их и сравнивай |
|||
9
Cyberhawk
29.05.15
✎
13:42
|
(0) "Если верить справке 1С, функция Представление возвращает тип Строка"
Покажи на картинке, где это такое написано |
|||
10
Fragster
гуру
29.05.15
✎
13:45
|
представление в запросе разворачивается в список полей, необходимых для формирования представления (автоматом делаются необходимые левые соединения, причем иногда достаточно много), а потом уже в обходе выборки результата или в выгрузке - получается строка из этих полей.
|
|||
11
Jonny_Khomich
29.05.15
✎
13:47
|
(0) что ты хочешь?
|
|||
12
Симпатяшка
01.06.15
✎
06:11
|
||||
13
Симпатяшка
01.06.15
✎
06:13
|
(10) если я помещу результат запроса во временную таблицу, а потом дальше в следующих запросах хочу использовать, всё равно не работает.
|
|||
14
Симпатяшка
01.06.15
✎
06:14
|
(11) Да не важно. Со своей задачей я разобралась как обойтись без представления. Просто хочу понять ПОЧЕМУ всё так.
|
|||
15
Любопытная
01.06.15
✎
06:15
|
(12) Там же написано, что результат нигде нельзя использовать. Справку же до конца надо дочитывать)
|
|||
16
GROOVY
01.06.15
✎
06:15
|
Потому что работа этой функции = пост обработка запроса. В запросе невозможно использовать результат этой функции.
|
|||
17
Симпатяшка
01.06.15
✎
06:16
|
(15) Точно. Только сейчас увидела
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |