• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

SeverBap

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

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

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

thinkfast

мб так:
|ГДЕ | ШтрихКоды.Наименование = &ШтрихКод.Наименование
или
|ГДЕ | ШтрихКоды.Ссылка= &ШтрихКод.Ссылка
 
H

has

Bap пробелы в наименовании посмотри. Точнее сократи пробелы
 
U

unknown181538

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

unknown181538

ПС. А не устроит ? :
возврат Справочники.ШтрихКоды.НайтиПоНаименованию(ШК);
 
S

SeverBap

Хочется через запрос! Сейчас у меня и так по наименованиею ищит!
 
P

puh14

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

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



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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!