1. G.P. 11 09.02.19 19:20 Сейчас в теме

Простой вопрос по запросам

Добрый день!
В 1С "Управление торговлей" составляю простой запрос с таким текстом:

ЗапросТекст = "ВЫБРАТЬ
| СпрНоменклатура.Ссылка,
| СпрНоменклатура.Производитель,
| СпрНоменклатура.Код,
| СпрНоменклатура.Наименование,
| СпрНоменклатура.СтранаПроизводства,
| ВЫБОР КОГДА (СпрНоменклатура.Ссылка.Уровень()>1) ТОГДА
| СпрНоменклатура.Родитель.Родитель + "" / "" + СпрНоменклатура.Родитель
| ИНАЧЕ
| СпрНоменклатура.Родитель
| КОНЕЦ КАК Путь,
...

Но при проверке запроса появляется ошибка:
Синтаксическая ошибка:
ВЫБОР КОГДА (<<?>>СпрНоменклатура.Ссылка.Уровень()>1) ТОГДА

Что делаю не так? Уже голову на этом сломал...
Ответы
Избранное Подписка Сортировка: Древо
3. alxarz 29 09.02.19 19:53 Сейчас в теме
(1)
Что делаю не так?
а где нашли что в запросе есть функция уровень()?
4. spacecraft 10.02.19 01:16 Сейчас в теме
(1) можно так:
ЗапросТекст =	"ВЫБРАТЬ 
| СпрНоменклатура.Ссылка, 
| СпрНоменклатура.Производитель, 
| СпрНоменклатура.Код, 
| СпрНоменклатура.Наименование, 
| СпрНоменклатура.СтранаПроизводства, 
|	ВЫБОР КОГДА СпрНоменклатура.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|	ТОГДА ""
|	КОГДА СпрНоменклатура.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|	ТОГДА СпрНоменклатура.Родитель.Наименование
|	ИНАЧЕ 
|	СпрНоменклатура.Родитель.Родитель.Наименование + "/" + СпрНоменклатура.Родитель.Наименование 
|	КОНЕЦ КАК Путь,	
... 
Показать
9. oleg-x 6 11.02.19 09:37 Сейчас в теме
(1) Как и писали раньше, в языке запроса не доступны обычные методы. Все что можно использовать, можно посмотреть при редактирование поля, наверху слева
Прикрепленные файлы:
2. pyrkin_vanya 348 09.02.19 19:24 Сейчас в теме
Функции и конкатенация в запросе не доступны.
5. Sapiens_bru 10.02.19 10:58 Сейчас в теме
(2)Вот запрос с функциями и с конкатенацией. Даже с конкатенацией функций.
И он почему-то работает

ВЫБРАТЬ
ПОДСТРОКА(Номенклатура.Наименование, 1, 1) + "/" + ПОДСТРОКА(Номенклатура.Наименование, 2, 1) КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
6. spacecraft 10.02.19 11:22 Сейчас в теме
(5) ПОДСТРОКА это функция самого языка запроса. Уровень() это не функция языка запроса.
Конкатенация строк работает, но в (0) :
Ссылка + "/" + Ссылка. Это не будет работать.
7. Sapiens_bru 10.02.19 11:49 Сейчас в теме
(6) Не сомневаюсь! Исходный текст комментария гласит - "Функции и конкатенация в запросе не доступны". Это не так. Некоторые функции работают, некоторые случаи конкатенации (без приведения типов) также работают.
8. pyrkin_vanya 348 10.02.19 20:13 Сейчас в теме
(5)Я не до конца выразил свою мысль. ПОДСТРОКА - это функция языка запроса. Запрос не умеет преобразовывать типы данных. В вашему случае тупо строка. Тут все просто.
10. G.P. 11 11.02.19 12:51 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Москва
зарплата от 160 000 руб. до 180 000 руб.
Полный день

Ведущий программист / Руководитель проектов 1С
Москва
зарплата от 190 000 руб. до 190 000 руб.
Полный день

Программист 1С ЗУП
Уфа
зарплата от 60 000 руб. до 90 000 руб.
Полный день

Программист 1С
Москва
зарплата от 140 000 руб. до 140 000 руб.
Полный день

Программист 1С
Санкт-Петербург
Полный день