|   |   | 
| 
 | Наименование товара в кавычках в запросе | ☑ | ||
|---|---|---|---|---|
| 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) ну через ПОДОБНО тогда     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |