Получить строку из таблицы значений

1. squall84 24.03.19 01:20 Сейчас в теме
Нигде не могу найти - что делать, если я получаю всего одну строку из таблицы значений? обходить эту одну строку циклом? Сейчас написал так, но насколько это правильно?
Функция ЗаполнениеШтрихкодаСтрока (СтрокаТабличнойЧасти)
	 	Запрос = Новый Запрос;
	Запрос.Текст = 
				"ВЫБРАТЬ ПЕРВЫЕ 1
				|	Штрихкоды.Штрихкод КАК Штрихкод,
				|	Штрихкоды.Владелец
				|ИЗ
				|	РегистрСведений.Штрихкоды КАК Штрихкоды
				|ГДЕ
				|	Штрихкоды.Владелец = &Номенклатура";
	Запрос.УстановитьПараметр("Номенклатура", СтрокаТабличнойЧасти.Номенклатура);

	РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    РезультатЗапроса.Свернуть("Штрихкод");
	
		Возврат РезультатЗапроса[0].Штрихкод;
	
	
КонецФункции
Показать
+
По теме из базы знаний
Найденные решения
3. spacecraft 24.03.19 01:46 Сейчас в теме
(1) это как из пушки по воробьям. Но работать тоже будет.
Можно так:
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
    Возврат Неопределено;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Возврат Выборка.Штрихкод;
Показать
squall84; Туки Туки; +2
5. dachnik 26 24.03.19 13:04 Сейчас в теме
НУ, если гарантированно нужен 1й результат из запроса, можно брать по индексу РезультатВыгруженныйТЗ[0]. Иногда так делаю. Но нужно иметь в виду, что запрос может оказаться пустым. Тут либо через исключение либо проверкой ВыполненныйЗапрос.Пустой()
squall84; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1484 24.03.19 01:31 Сейчас в теме
(1) выборку всегда обходят в цикле.
Можно еще юзнуть вместо цикла если выборка.следующий() тогда
Но это если нужно получить первое значение.
А так цикл, какая разница сколько там значений присвоит последнее!
+
3. spacecraft 24.03.19 01:46 Сейчас в теме
(1) это как из пушки по воробьям. Но работать тоже будет.
Можно так:
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
    Возврат Неопределено;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Возврат Выборка.Штрихкод;
Показать
squall84; Туки Туки; +2
4. Dmitrij-2 45 24.03.19 08:18 Сейчас в теме
(1) РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.Штрихкод;
Иначе
Возврат "";
КонецЕсли;
+
5. dachnik 26 24.03.19 13:04 Сейчас в теме
НУ, если гарантированно нужен 1й результат из запроса, можно брать по индексу РезультатВыгруженныйТЗ[0]. Иногда так делаю. Но нужно иметь в виду, что запрос может оказаться пустым. Тут либо через исключение либо проверкой ВыполненныйЗапрос.Пустой()
squall84; +1
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот