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 8 11.02.19 09:37 Сейчас в теме
(1) Как и писали раньше, в языке запроса не доступны обычные методы. Все что можно использовать, можно посмотреть при редактирование поля, наверху слева
Прикрепленные файлы:
2. pyrkin_vanya 352 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 352 10.02.19 20:13 Сейчас в теме
(5)Я не до конца выразил свою мысль. ПОДСТРОКА - это функция языка запроса. Запрос не умеет преобразовывать типы данных. В вашему случае тупо строка. Тут все просто.
10. G.P. 11 11.02.19 12:51 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии


Специалист техподдержки 1С
Иркутск
зарплата от 28 000 руб. до 34 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 48 000 руб. до 96 000 руб.
По совместительству

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

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