Запрос к таблице значений в 1С 8.3

В данном примере попробуем использовать таблицу значений, как источник данных для запроса.

Листинг кода:

&НаСервере
Процедура ЗапросКТаблицеНаСервере()

	ТаблицаСотрудников = Новый ТаблицаЗначений;
	ТаблицаСотрудников.Колонки.Добавить("Сотрудник", 		Новый ОписаниеТипов("Строка"));
	ТаблицаСотрудников.Колонки.Добавить("Должность", 		Новый ОписаниеТипов("Строка"));
	ТаблицаСотрудников.Колонки.Добавить("Подразделение", 	Новый ОписаниеТипов("Строка"));
	
	НоваяСтрока = ТаблицаСотрудников.Добавить();
	НоваяСтрока.Сотрудник = "Иванов Иван Иванович";
	НоваяСтрока.Должность = "Директор";
	НоваяСтрока.Подразделение = "АУП";
	
	НоваяСтрока = ТаблицаСотрудников.Добавить();
	НоваяСтрока.Сотрудник = "Петров Петр Петрович";
	НоваяСтрока.Должность = "Заместитель директора";
	НоваяСтрока.Подразделение = "АУП";
	
	НоваяСтрока = ТаблицаСотрудников.Добавить();
	НоваяСтрока.Сотрудник = "Сидоров Сидр Сидорович";
	НоваяСтрока.Должность = "Бухгалтер";
	НоваяСтрока.Подразделение = "АУП";
	
	Запрос = Новый Запрос;
	Запрос.Текст =  "ВЫБРАТЬ
	                |	ВременнаяТаблица.Сотрудник КАК Сотрудник,
	                |	ВременнаяТаблица.Должность КАК Должность,
	                |	ВременнаяТаблица.Подразделение КАК Подразделение
	                |ПОМЕСТИТЬ ВТСотрудники
	                |ИЗ
	                |	&ВременнаяТаблица КАК ВременнаяТаблица
	                |;
	                |
	                |////////////////////////////////////////////////////////////////////////////////
	                |ВЫБРАТЬ
	                |	ВТСотрудники.Сотрудник КАК Сотрудник,
	                |	ВТСотрудники.Должность КАК Должность,
	                |	ВТСотрудники.Подразделение КАК Подразделение
	                |ИЗ
	                |	ВТСотрудники КАК ВТСотрудники";
	
	Запрос.УстановитьПараметр("ВременнаяТаблица", ТаблицаСотрудников);
	
	Выборка = Запрос.Выполнить().Выгрузить();
		
КонецПроцедуры

Создаем таблицу значений и заполняем ее тестовыми данными:

Тут формируем запрос и передаем в качестве параметра нашу таблицу значений и выполняем запрос к ней.

Пробуем в отладчике посмотреть на результат запроса.

Результат запроса

Теперь в запросе можно проводить разные операции с данными, отбирать, группировать и соединять.

Можете скачать пример внешней обработки с реализацией данного примера.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *