|
Запрос: ПОДОБНО ВЫРАЗИТЬ() / ПОДОБНО ПРЕДСТАВЛЕНИЕ() - возможно ли? |
☑ |
0
N-S-B
05.04.18
✎
22:14
|
В СКД отчете необходимо сравнить строку и наименование элемента справочника. Справочник передается как параметр в отчет.
В запросе пытаюсь сделать так:
ГДЕ
ВТ.Наименование ПОДОБНО ПРЕДСТАВЛЕНИЕ(&МойСправочник)
либо
ГДЕ
ВТ.Наименование ПОДОБНО ВЫРАЗИТЬ(&МойСправочник КАК СТРОКА(10))
Ругается на неверные параметры ПОДОБНО. Как бы это реализовать?
|
|
1
VS-1976
05.04.18
✎
22:18
|
(0) Реализуй через левое соединение
|
|
2
zwei
05.04.18
✎
22:19
|
Левое соединение справочник как псевдоним по псевдоним.ссылка = &параметр
Где вт.наменование подобно псевдоним.наименоваие
Как то так
|
|
3
VS-1976
05.04.18
✎
22:29
|
(2) Только немного по другому можно, к примеру так:
ВНУТРЕННЕЕ соединение справочник как псевдоним
ПО псевдоним.ссылка = &параметр
И вт.наменование подобно "%" + ПОДСТРОКА(псевдоним.наименоваие, 10 ) + "%"
|
|
4
Фрэнки
05.04.18
✎
22:32
|
<Выражение> [НЕ] ПОДОБНО <Литерал типа СТРОКА> [СПЕЦСИМВОЛ <Литерал типа СТРОКА>]
т.е. после ПОДОБНО нельзя написать &МойСправочник а нужно реально слепить некий литерал
|
|
5
Фрэнки
05.04.18
✎
22:44
|
вот из конфигурации пример
ТекстЗапроса = "
|ВЫБРАТЬ
| КОЛИЧЕСТВО(*) КАК Количество
|ИЗ
| ПланОбмена.[ИмяПланаОбмена] КАК Таблица
|ГДЕ
| Таблица.Наименование ПОДОБНО &ШаблонИмени";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[ИмяПланаОбмена]", ПланОбменаАвтономнойРаботы());
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("ШаблонИмени", НаименованиеАвтономногоРабочегоМестаПоУмолчанию() + "%");
Выборка = Запрос.Выполнить().Выбрать();
в нем видно, что ШаблонИмени это литерал с приставленным знаком процент в хвост
|
|
6
N-S-B
06.04.18
✎
10:00
|
(2) (3) Спасибо, разобрался
(5) Это понятно, но мне надо было в рамках только запроса это решить
|
|
7
catena
06.04.18
✎
10:07
|
где ВТ.Наименование подобно "%"+Выразить(&МойСправочник как Справочник.Номенклатура).Наименование+"%"
|
|
8
N-S-B
06.04.18
✎
11:51
|
(7) Во круто, так даже еще проще)
|
|