|
Почему СКД не ищет? | ☑ | ||
---|---|---|---|---|
0
skyadmin
07.10.24
✎
12:53
|
Строка поиска = "Мука"
|
|||
1
skyadmin
07.10.24
✎
12:56
|
Если поменять Содержит на Равно тогда находит.
В принципе не важно, но интересно) |
|||
2
Галахад
гуру
07.10.24
✎
12:56
|
%мука%
|
|||
3
skyadmin
07.10.24
✎
12:59
|
(2) Не находит
|
|||
4
skyadmin
07.10.24
✎
13:03
|
ВЫБРАТЬ ПЕРВЫЕ 999
СправочникНоменклатура.Ссылка КАК Значение ИЗ Справочник.Номенклатура КАК СправочникНоменклатура
|
|||
5
youalex
07.10.24
✎
13:04
|
Итоговый запрос посмотри в консоли ИР (или макет компоновки в отладчике или в профайлере скуля сразу).
Если из группы Или условие Содержит вытащить? |
|||
6
skyadmin
07.10.24
✎
13:12
|
(5) даже если оставить одно условие, все равно не находит
|
|||
7
skyadmin
07.10.24
✎
13:30
|
Макет "Содержит"
ГДЕ СправочникНоменклатура.НаименованиеПолное ПОДОБНО &П СПЕЦСИМВОЛ "/"</query> </dataSet> <parameterValue> <name>П</name> <value xsi:type="xs:string">%ПараметрыДанных.СтрокаПоиска%</value> </parameterValue> <parameterValue> <name>СтрокаПоиска</name> <value xsi:type="xs:string">мука</value> </parameterValue> <template> Макет "Равно" ГДЕ СправочникНоменклатура.НаименованиеПолное = &СтрокаПоиска</query> </dataSet> <parameterValue> <name>СтрокаПоиска</name> <value xsi:type="xs:string">мука</value> </parameterValue> ничего не обычного не заметил |
|||
8
skyadmin
07.10.24
✎
13:32
|
База файловая
|
|||
9
formista2000
07.10.24
✎
13:35
|
(0) попробуй СправочникНоменклатура.Наименование или представление
|
|||
10
youalex
07.10.24
✎
13:44
|
В консоли запросов воспроизводится?
ГДЕ НаименованиеПолное ПОДОБНО "%мука%" |
|||
11
skyadmin
07.10.24
✎
13:55
|
(10) Да, вероятно проблема только с параметром СКД
|
|||
12
youalex
09.10.24
✎
02:30
|
(11) посмотрел в профайлере, при ПОДОБНО - 1с в скуль отдает имя параметра, а не значение, любопытно.
exec sp_executesql N'SELECT T1._IDRRef, T1._Description, T1._IDRRef, T1._Description FROM dbo._Reference47 T1 WHERE (T1._Description LIKE P1 ESCAPE ''/'')',N'P1 nvarchar(4000)',N'%ПараметрыДанных.СтрокаПоиска%' exec sp_executesql N'SELECT T1._IDRRef, T1._Description, T1._IDRRef, T1._Description FROM dbo._Reference47 T1 WHERE (T1._Description = P1)',N'P1 nvarchar(4000)',N'молоко' |
|||
13
Сергиус
09.10.24
✎
02:52
|
(12)Так это ж синтаксис такой - в конце текста запроса видно, что под параметром понимается строка, которая и подставляется.
|
|||
14
youalex
09.10.24
✎
05:14
|
(13) Первый запрос - ВидСравнения "Содержит" (передается имя параметра, что странно)
второй - Вид сравнения "Равно" (передается значение параметра, что логично) но, собственно, это уже на этапе компоновки происходит, судя по (7) |
|||
15
osa1C
09.10.24
✎
09:44
|
(0) Не понятно зачем ты путаешь SQL двумя условиями Равно и Подобно. Оставь только Подобно. Да ещё и связал их через И. Понятно, что будет находить только полное соответствие по первому условию.
Связь через И на самом деле в твоем условии мешается. По твоему условию значение должно быть И Равно И Подобно. Если оно равно, то само собой подобно, это находит. А вот если оно ПОДОБНО, то оно не обязательно равно и соответственно ничего нет. Свяжи условия через ИЛИ, если уж так хочешь условие Равно, но я бы оставил только Подобно. И на SQL, как и на 1С ругаться не надо. Всё они делают правильно, только это правильно не совпало с тем, что ты на самом деле имел ввиду. |
|||
16
toypaul
гуру
09.10.24
✎
07:38
|
(12) в 1С накосячили :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |