Параметры в запросах в языке 1С 8.3, 8.2 (в примерах)
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
2017-12-18T22:46:59+00:00<<< Основы Группировка Условия Упорядочивание Функции
<<< Итоги Соединение Объединение Параметры
Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)
/// Как передать в запрос параметры простых типов в 1с 8.3, 8.2 &НаСервере Процедура КакПередатьВЗапросПараметрыПростыхТиповНаСервере() // Сделаем отбор продаж за 1 квартал 2014 года. Запрос = Новый Запрос( "ВЫБРАТЬ | Ссылка |ИЗ | Документ.ПродажаЕды |ГДЕ | Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода |УПОРЯДОЧИТЬ ПО | Дата ВОЗР" ); Запрос.УстановитьПараметр("НачалоПериода", '20140101000000'); Запрос.УстановитьПараметр("ОкончаниеПериода", '20140331235959'); ВыполнитьЗапросИВывестиНаФорму(Запрос); КонецПроцедуры /// Как передать в запрос параметры ссылочных типов в 1с 8.3, 8.2 &НаСервере Процедура КакПередатьВЗапросПараметрыСсылочныхТиповНаСервере() // Сделаем отбор продуктов со сладким вкусом. Запрос = Новый Запрос( "ВЫБРАТЬ | Наименование, | Вкус |ИЗ | Справочник.Номенклатура |ГДЕ | Вкус = &ВыбВкус" ); Запрос.УстановитьПараметр("ВыбВкус", Справочники.Вкусы.НайтиПоНаименованию("Сладкий") ); ВыполнитьЗапросИВывестиНаФорму(Запрос); КонецПроцедуры /// Как передать в запрос параметр списочного типа в 1с 8.3, 8.2 &НаСервере Процедура КакПередатьВЗапросПараметрСписокНаСервере() // Сделаем отбор продуктов, вкусы которых входят в переданный // нами список. Запрос = Новый Запрос( "ВЫБРАТЬ | Наименование, | Вкус |ИЗ | Справочник.Номенклатура |ГДЕ | Вкус В (&СписокВкусов)" ); Список = Новый Массив; Список.Добавить( Справочники.Вкусы.НайтиПоНаименованию("Сладкий") ); Список.Добавить( Справочники.Вкусы.НайтиПоНаименованию("Солёный") ); Запрос.УстановитьПараметр("СписокВкусов", Список ); ВыполнитьЗапросИВывестиНаФорму(Запрос); КонецПроцедуры /// Как передать в запрос таблицу значений в качестве /// параметра в 1с 8.3, 8.2 &НаСервере Процедура КакПередатьТаблицуЗначенийВКачествеПараметраНаСервере() // Сделаем отбор продуктов в соответствии с переданной // в запрос таблицей сочетания цвета и вкуса. СочетанияЦветаИВкуса = новый ТаблицаЗначений; СочетанияЦветаИВкуса.Колонки.Добавить("Цвет", Новый ОписаниеТипов("СправочникСсылка.Цвета")); СочетанияЦветаИВкуса.Колонки.Добавить("Вкус", Новый ОписаниеТипов("СправочникСсылка.Вкусы")); // красный + сладкий Стр = СочетанияЦветаИВкуса.Добавить(); Стр.Цвет = Справочники.Цвета.НайтиПоНаименованию("Красный"); Стр.Вкус = Справочники.Вкусы.НайтиПоНаименованию("Сладкий"); // жёлтый + солёный Стр = СочетанияЦветаИВкуса.Добавить(); Стр.Цвет = Справочники.Цвета.НайтиПоНаименованию("Жёлтый"); Стр.Вкус = Справочники.Вкусы.НайтиПоНаименованию("Солёный"); Запрос = Новый Запрос( "ВЫБРАТЬ | Наименование, | Цвет, | Вкус |ИЗ | Справочник.Номенклатура |ГДЕ | (Цвет, Вкус) В (&СписокСочетаний)" ); Запрос.УстановитьПараметр("СписокСочетаний", СочетанияЦветаИВкуса); ВыполнитьЗапросИВывестиНаФорму(Запрос); КонецПроцедуры /// Как использовать таблицу переданную в запрос в качестве /// источника в 1с 8.3, 8.2 &НаСервере Процедура КакИспользоватьТаблицуПараметрВКачествеИсточникаНаСервере() // Создадим и заполним таблицу значений в коде, а затем // передадим её в запрос. Страны = новый ТаблицаЗначений; Страны.Колонки.Добавить("Название", Новый ОписаниеТипов("Строка")); Страны.Колонки.Добавить("Численность", Новый ОписаниеТипов("Число")); НоваяСтрока = Страны.Добавить(); НоваяСтрока.Название = "Россия"; НоваяСтрока.Численность = 144000000; НоваяСтрока = Страны.Добавить(); НоваяСтрока.Название = "Австралия"; НоваяСтрока.Численность = 23000000; НоваяСтрока = Страны.Добавить(); НоваяСтрока.Название = "Новая зеландия"; НоваяСтрока.Численность = 4400000; // Сначала выбираем переданные значения во временную // таблицу, а уже затем работаем с временной таблицей // как с обычной. Запрос = Новый Запрос( "ВЫБРАТЬ | Название, | Численность |ПОМЕСТИТЬ | ВременнаяТаблица |ИЗ | &ТаблицаСтран КАК Страны |; |ВЫБРАТЬ | Название, | Численность |ИЗ | ВременнаяТаблица |УПОРЯДОЧИТЬ ПО | Численность УБЫВ" ); Запрос.УстановитьПараметр("ТаблицаСтран", Страны); ВыполнитьЗапросИВывестиНаФорму(Запрос); КонецПроцедуры /// Скачать и выполнить эти примеры на компьютере |
Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)
Параметры в запросах в языке 1С 8.3, 8.2 (в примерах)
<<< Основы Группировка Условия Упорядочивание Функции
<<< Итоги Соединение Объединение Параметры