|
Наименование товара в кавычках в запросе | ☑ | ||
---|---|---|---|---|
0
admin1s
07.09.23
✎
13:04
|
Коллеги подскажите пожалуйста, нужно в запросе написать и найти товар в названии которого есть кавычки, пример наименования для поиска в запросе: Туфли "Классные", как написать чтобы запрос понимал что ищем наименование целиком а не до кавычек? Можно пример кода?
ВЫБРАТЬ Номенклатура, Характеристика, ВНаличии, Склад ИЗ РегистрНакопления.ТоварыНаСкладах ГДЕ ТоварыНаСкладах.Наименование = (Туфли "Классные") ?? // вот тут нужно указать что найти нужно именно это (Туфли "Классные") Если поиск в данном случае для регистра и по журналам документов, просьба привести пример поиска для обоих. |
|||
1
admin1s
07.09.23
✎
13:06
|
Может использовать LIKE или двойное экранирование поможет: ""Туфли "Классные"""??
|
|||
2
RomaH
naïve
07.09.23
✎
13:12
|
ВЫБРАТЬ
Номенклатура, Характеристика, ВНаличии, Склад ИЗ РегистрНакопления.ТоварыНаСкладах ГДЕ ТоварыНаСкладах.Наименование = &Наименование |
|||
3
Donkey_hot
07.09.23
✎
13:13
|
(0) Используйте параметр
|
|||
4
stopa85
07.09.23
✎
13:14
|
(0) не правильно - есть опасность SQL-инъекции
(2) правильно |
|||
5
DJ Anthon
07.09.23
✎
13:14
|
""Туфли """"Классные""""""
но такое только для разовых запросов, для обработок пилите параметры и сохраняемые реквизиты или даже регистры сведений |
|||
6
admin1s
07.09.23
✎
13:16
|
(3) Благодарю, какой параметр?
|
|||
7
Donkey_hot
07.09.23
✎
13:19
|
(6) Текст запроса как в 2.
Далее: Запрос.УстановитьПараметр("Наименование", "Туфли ""Классные""") Если выбираете в консоли запросов, то задаете параметр как Туфли "Классные" |
|||
8
AlexeyKh
07.09.23
✎
13:26
|
отлично рабоает (проверял в консоли)
выбрать первые 100 таб.Ссылка, таб.Наименование, таб.НаименованиеПолное из СПравочник.Номенклатура таб где таб.Наименование подобно "%""%" |
|||
9
admin1s
07.09.23
✎
13:29
|
(7) т.е. для консоли значит будет без двойного экранирования? Так не срабатывает
|
|||
10
admin1s
07.09.23
✎
13:30
|
(8) а где в вашем примере наименование с кавычками?
|
|||
11
admin1s
07.09.23
✎
13:31
|
Не совсем понял как это сработает для консоли?
ВЫБРАТЬ Номенклатура, Характеристика, ВНаличии, Склад ИЗ РегистрНакопления.ТоварыНаСкладах ГДЕ ТоварыНаСкладах.Наименование = &Наименование УстановитьПараметр("Наименование", Туфли ""Классные"") выдает синтакс-ю ошибку. |
|||
12
Жан Пердежон
07.09.23
✎
13:35
|
Для консоли параметры в интерфейсе задаются:
ВЫБРАТЬ Номенклатура, Характеристика, ВНаличии, Склад ИЗ РегистрНакопления.ТоварыНаСкладах ГДЕ ТоварыНаСкладах.Наименование = &Наименование |
|||
13
admin1s
07.09.23
✎
13:39
|
(12) Хорошо, а где поисковую строку вставить?
|
|||
14
unbred
07.09.23
✎
13:44
|
||||
15
admin1s
07.09.23
✎
13:45
|
(14) так не срабатывает, я же писал выше!
|
|||
16
DJ Anthon
07.09.23
✎
13:47
|
УстановитьПараметр("Наименование", "Туфли ""Классные""")
|
|||
17
unbred
07.09.23
✎
13:52
|
(4) да ему один раз найти и показать. он же не 1с программист, если я правильно понял.
|
|||
18
unbred
07.09.23
✎
13:52
|
(0)
ВЫБРАТЬ "А" КАК Поле1 ПОМЕСТИТЬ ВТ_1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ """Б""" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_1.Поле1 КАК Поле1 ИЗ ВТ_1 КАК ВТ_1 ГДЕ ВТ_1.Поле1 ПОДОБНО "%""%" |
|||
19
admin1s
07.09.23
✎
13:56
|
Код:
ВЫБРАТЬ Номенклатура КАК Товары, Характеристика КАК Размер, ВНаличии КАК ЕстьНаСкладе, Склад ИЗ РегистрНакопления.ТоварыНаСкладах ГДЕ ТоварыНаСкладах.Номенклатура = &Номенклатура УстановитьПараметр("Номенклатура", "Туфли ""Классные""") Ошибка: {(8, 5)}: Синтаксическая ошибка "УстановитьПараметр("Номенклатура"," <<?>>УстановитьПараметр("Номенклатура", "Туфли ""Классные""") |
|||
20
Timon1405
07.09.23
✎
14:00
|
(10) что непонятного в (8)?
по вашему ТЗ "в названии которого есть кавычки" условие ПОДОБНО "%""%" ищет ровно то что нужно. |
|||
21
unbred
07.09.23
✎
14:04
|
(19) хватит уже)
ВЫБРАТЬ ПЕРВЫЕ 10 ТоварыНаСкладах.Номенклатура КАК Товар, ТоварыНаСкладах.Номенклатура.Наименование КАК Наименование, ТоварыНаСкладах.Характеристика КАК Размер, ТоварыНаСкладах.ВНаличии КАК ЕстьНаСкладе, ТоварыНаСкладах.Склад КАК Склад ИЗ РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах ГДЕ ТоварыНаСкладах.Номенклатура.Наименование ПОДОБНО "%""%" меняешь "ПЕРВЫЕ 10" на "РАЗЛИЧНЫЕ", 10 баксов мне карту) |
|||
22
admin1s
07.09.23
✎
14:05
|
(21) ПОДОБНО "%"Туфли "Классные""%" типо вот так?
|
|||
23
unbred
07.09.23
✎
14:07
|
(22) ПОДОБНО "%""Классные""%"
|
|||
24
admin1s
07.09.23
✎
14:09
|
(21) можно примеры все же по моему коду:
ВЫБРАТЬ Номенклатура КАК Товары, Характеристика КАК Размер, ВНаличии КАК ЕстьНаСкладе, Склад ИЗ РегистрНакопления.ТоварыНаСкладах ГДЕ ТоварыНаСкладах.Номенклатура ПОДОБНО "%"Туфли"%" Ошибка: {(7, 45)}: Синтаксическая ошибка "Джемпер"%"" ТоварыНаСкладах.Номенклатура ПОДОБНО "%"<<?>>Туфли"%" Так не срабатывает |
|||
25
unbred
07.09.23
✎
14:10
|
(24) это как раз пример по твоему коду)
|
|||
26
admin1s
07.09.23
✎
14:11
|
{(7, 5)}: Поле не найдено "ТоварыНаСкладах.Номенклатура"
<<?>>ТоварыНаСкладах.Номенклатура ПОДОБНО "%""Туфли""%" |
|||
27
unbred
07.09.23
✎
14:14
|
(26) может просто скопируешь?)
посмотришь первые 10)) а то Наименование забыл) |
|||
28
Donkey_hot
07.09.23
✎
14:18
|
(26)
1. Вы работаете в консоли или пишете код на встроенном языке? 2. Зачем вам значки процентов если вы ищете точное соответствие? |
|||
29
admin1s
07.09.23
✎
14:20
|
(27) первые 10 выводит, а дальше то что, у меня конкретная строка поиска, нет задачи вывести просто первые 10!
|
|||
30
admin1s
07.09.23
✎
14:21
|
(28) Да, в консоли. Подскажите как сделать правильно применительно к моему коду?
|
|||
31
Donkey_hot
07.09.23
✎
14:21
|
(30)
|
|||
32
admin1s
07.09.23
✎
14:23
|
(28) подскажите кстати где прочесть о различиях написания кода в консоли и на встроенном языке?
|
|||
33
Donkey_hot
07.09.23
✎
14:23
|
(30) Про ПЕРВЫЕ 10 забываете, просто сносите их.
В условии пишете ГДЕ Наименование = &МоеНаименование Далее находите вкладку или кнопку "Параметры" (в зависимости от версии консоли) Если там еще нет строки с параметром МоеНаименование, находите кнопку типа "Взять из запроса" или что-то около того В поле Значение указываете Туфли "Классные" безо всякого экранирования |
|||
34
Donkey_hot
07.09.23
✎
14:24
|
(32) В книге Хрусталевой "Язык запросов 1С:Предприятие"
|
|||
35
Donkey_hot
07.09.23
✎
14:25
|
(33) ГДЕ Номенклатура.Наименование, разумеется.
|
|||
36
admin1s
07.09.23
✎
14:27
|
(33) да, спасибо, все четко и по делу. Хрусталеву прям сейчас читаю! При нажатии кнопки параметры выдает ошибку: "К сожалению возникла не предвиденная ситуация" ((( Качаю другую консоль с оф сайта, эта с инфостарта
|
|||
37
Donkey_hot
07.09.23
✎
14:35
|
(36) Ваша задача рассматривается в разделе "Как задать произвольное значение отбора записей из таблицы", но там все примеры на ПОДОБНО, а Вам нужно банальное равенство.
|
|||
38
admin1s
07.09.23
✎
14:42
|
(33) все работает но искомое слово не выдает, пробовал разные товары, на складе они точно есть - вижу по отчету
https://ru.paste.pics/PAHB5 |
|||
39
Donkey_hot
07.09.23
✎
14:45
|
(38) Вы сравниваете ссылку со строкой. Разумеется, ничего не выдает. Номенклатура.Наименование = &....
|
|||
40
Donkey_hot
07.09.23
✎
14:47
|
(38) И судя по решаемой задаче, вам нужно обращаться к виртуальной таблице Остатки регистра накопления, текущий запрос вернет вам просто набор приходно-расходных движений. Но это уже тема для отдельного разговора.
|
|||
41
admin1s
07.09.23
✎
14:49
|
(40) Все равно пусто (
ВЫБРАТЬ Номенклатура КАК Товары, Характеристика КАК Размер, ВНаличии КАК ЕстьНаСкладе, Склад ИЗ РегистрНакопления.ТоварыНаСкладах КАК Товары ГДЕ Номенклатура.Наименование = &МоеНаименование |
|||
42
admin1s
07.09.23
✎
14:50
|
(41) Хорошо, посмотрю
|
|||
43
Donkey_hot
07.09.23
✎
14:51
|
(41) Так у вас есть товар, который в точности называется "Блуза" без каких-либо опознавательных знаков или есть Блуза "Классная", Блуза "Так Себе" и т.п?
В данном случае вы ищете по строгому соответствию (т.к. тема начиналась с конкретного товара Туфли "Классные"). |
|||
44
pasha_d
07.09.23
✎
14:55
|
Найдите в справочнике свои туфли, найдите там код туфлей и потом:
УстановитьПараметр("Номенклатура", Справочники.Номенлатура.НайтиПоКоду("КодТуфлей")); |
|||
45
Donkey_hot
07.09.23
✎
14:55
|
(44) Он в консоли работает.
|
|||
46
pasha_d
07.09.23
✎
14:57
|
(45) ну через ПОДОБНО тогда
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |