Skip to content

Представления в запросах

Механизм представлений позволяет строить “неявный” запрос, который затем преобразуется встроенными функциями ЗУП в готовый запрос для исполнения Примеры работы с механизмом можно посмотреть на Инфостарте: Готовые механизмы 1С: ЗУП, представления

Пример запроса

ВЫБРАТЬ РАЗРЕШЕННЫЕ
Сотрудники.Ссылка КАК Сотрудник,
&ДатаОстатков КАК Период
ПОМЕСТИТЬ ВТСотрудники
ИЗ
Справочник.Сотрудники КАК Сотрудники
ГДЕ
НЕ Сотрудники.ВАрхиве
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник,
ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация
ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудников
ИЗ
ВТСотрудники КАК Сотрудники
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Представления_КадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
Представления_КадровыеДанныеСотрудников.Организация КАК Организация
ИЗ
Представления_КадровыеДанныеСотрудников КАК Представления_КадровыеДанныеСотрудников

Преобразование запроса

В системе компоновки данных

В отчете необходимо прописать ПриКомпоновкеРезультата:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект);
КонецПроцедуры

В иных местах

Запрос = Новый Запрос;
Запрос.Текст = "......"; // текст запроса, построенный через механизм представлений
Запрос.УстановитьПараметр([Свои параметры]);
//Далее запрос-пустышка преобразуется в нормальный
ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(Запрос.Текст, Запрос);
Запрос.Выполнить();