1С 8.3 Отбор в запросе по нескольким значениям
Данные > Примеры кода 1С > 1С 8.3 Запросы
Перейти в раздел примеры кода 1С 8.3:
Отбор по нескольким значениям (в запросе) в 1С 8.3:
Процедура ОтборВЗапросеПоНесколькимЗначениям() Экспорт
//КодN1=100; КодN2=200; КодN3=300;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СтраныМира.Код КАК Код,
| СтраныМира.Наименование КАК Наименование,
| СтраныМира.НаименованиеПолное КАК НаименованиеПолное,
| СтраныМира.УчастникЕАЭС КАК УчастникЕАЭС,
| СтраныМира.МеждународноеНаименование КАК МеждународноеНаименование
ИЗ
| Справочник.СтраныМира КАК СтраныМира
|ГДЕ
| СтраныМира.Родитель В (&ГруппаСтран)";
// Пример 1: Через массив одним параметром
ГруппаСтран = Новый Массив;
ГруппаСтран.Добавить(Справочники.СтраныМира.НайтиПоКоду(КодN1)); // Группа N1
ГруппаСтран.Добавить(Справочники.СтраныМира.НайтиПоКоду(КодN2)); // Группа N2
ГруппаСтран.Добавить(Справочники.СтраныМира.НайтиПоКоду(КодN3)); // Группа N3...
Запрос.УстановитьПараметр("ГруппаСтран", ГруппаСтран);
// Пример 2: Несколькими параметрами без массива (использовать в запросе ИЛИ)
//Запрос.УстановитьПараметр("ГруппаСтран1", Справочник.Материалы.НайтиПоКоду(КодN1));
//Запрос.УстановитьПараметр("ГруппаСтран2", Справочник.Материалы.НайтиПоКоду(КодN2));
//Запрос.УстановитьПараметр("ГруппаСтран3", Справочник.Материалы.НайтиПоКоду(КодN3));
РезультатЗапроса = Запрос.Выполнить(); Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл
Сообщить(Записи.Наименование);
// Обход результата запроса по каждой записи в полученной выборке
КонецЦикла;
КонецПроцедуры
//КодN1=100; КодN2=200; КодN3=300;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СтраныМира.Код КАК Код,
| СтраныМира.Наименование КАК Наименование,
| СтраныМира.НаименованиеПолное КАК НаименованиеПолное,
| СтраныМира.УчастникЕАЭС КАК УчастникЕАЭС,
| СтраныМира.МеждународноеНаименование КАК МеждународноеНаименование
ИЗ
| Справочник.СтраныМира КАК СтраныМира
|ГДЕ
| СтраныМира.Родитель В (&ГруппаСтран)";
// Пример 1: Через массив одним параметром
ГруппаСтран = Новый Массив;
ГруппаСтран.Добавить(Справочники.СтраныМира.НайтиПоКоду(КодN1)); // Группа N1
ГруппаСтран.Добавить(Справочники.СтраныМира.НайтиПоКоду(КодN2)); // Группа N2
ГруппаСтран.Добавить(Справочники.СтраныМира.НайтиПоКоду(КодN3)); // Группа N3...
Запрос.УстановитьПараметр("ГруппаСтран", ГруппаСтран);
// Пример 2: Несколькими параметрами без массива (использовать в запросе ИЛИ)
//Запрос.УстановитьПараметр("ГруппаСтран1", Справочник.Материалы.НайтиПоКоду(КодN1));
//Запрос.УстановитьПараметр("ГруппаСтран2", Справочник.Материалы.НайтиПоКоду(КодN2));
//Запрос.УстановитьПараметр("ГруппаСтран3", Справочник.Материалы.НайтиПоКоду(КодN3));
РезультатЗапроса = Запрос.Выполнить(); Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл
Сообщить(Записи.Наименование);
// Обход результата запроса по каждой записи в полученной выборке
КонецЦикла;
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник