Простой запрос с условием

  • Автор темы Автор темы SeverBap
  • Дата начала Дата начала
S

SeverBap

Подскажите как исправить этот запрос:
Код:
	Запрос = Новый Запрос();
Запрос.УстановитьПараметр("ШтрихКод", ШК);
Запрос.Текст = "
|ВЫБРАТЬ
|	ШтрихКоды.Ссылка
|ИЗ
|	Справочник.ШтрихКоды КАК ШтрихКоды
|ГДЕ
|	ШтрихКоды.Наименование = &ШтрихКод
|";

РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();

Если Выборка.Следующий() Тогда
Возврат Выборка.ПолучитьОбъект();
Иначе
Возврат Неопределено;
КонецЕсли;
где ШК - это наименование справочника...
 
мб так:
|ГДЕ | ШтрихКоды.Наименование = &ШтрихКод.Наименование
или
|ГДЕ | ШтрихКоды.Ссылка= &ШтрихКод.Ссылка
 
Bap пробелы в наименовании посмотри. Точнее сократи пробелы
 
Может, если поле одно, то и так сойдет, а вообще:
Если Выборка.Следующий() Тогда
Возврат Выборка.ссылка.ПолучитьОбъект();
Иначе
Возврат Неопределено;
КонецЕсли;
 
ПС. А не устроит ? :
возврат Справочники.ШтрихКоды.НайтиПоНаименованию(ШК);
 
Хочется через запрос! Сейчас у меня и так по наименованиею ищит!
 
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("ШтрихКод", ШК);
Запрос.Текст = "
|ВЫБРАТЬ
| ШтрихКоды.Ссылка
| ШтрихКоды.Наименование как СтрокаПоиска
|ИЗ
| Справочник.ШтрихКоды КАК ШтрихКоды
|ГДЕ
| Строкапоиска ПОДОБНО ""%"" + &ШтрихКод + ""%""
|";

Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.ПолучитьОбъект();
Иначе
Возврат Неопределено;
КонецЕсли;



что-то такое... А то с пробелами действительно нехорошо может получится. Наименование в отдельную переменную вытащил на всякий случай - мож и с ШтрихКоды.Наименование прокатит.
 
Хочется через запрос! Сейчас у меня и так по наименованиею ищит!
Сомневаюсь, что будет быстрее. Поиск одного элемента по строке через запрос это очень странно, имхо.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab