3.2 KiB
3.2 KiB
title, slug
| title | slug |
|---|---|
| Представления в запросах | примеры-сниппеты-бсп-и-типовые-зуп/представления-в-запросах |
Механизм представлений позволяет строить "неявный" запрос, который затем преобразуется встроенными функциями ЗУП в готовый запрос для исполнения Примеры работы с механизмом можно посмотреть на Инфостарте: Готовые механизмы 1С: ЗУП, представления
Пример запроса
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Сотрудники.Ссылка КАК Сотрудник,
&ДатаОстатков КАК Период
ПОМЕСТИТЬ ВТСотрудники
ИЗ
Справочник.Сотрудники КАК Сотрудники
ГДЕ
НЕ Сотрудники.ВАрхиве
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник,
ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация
ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудников
ИЗ
ВТСотрудники КАК Сотрудники
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Представления_КадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
Представления_КадровыеДанныеСотрудников.Организация КАК Организация
ИЗ
Представления_КадровыеДанныеСотрудников КАК Представления_КадровыеДанныеСотрудников
Преобразование запроса
В системе компоновки данных
В отчете необходимо прописать ПриКомпоновкеРезультата:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект);
КонецПроцедуры
В иных местах
Запрос = Новый Запрос;
Запрос.Текст = "......"; // текст запроса, построенный через механизм представлений
Запрос.УстановитьПараметр([Свои параметры]);
//Далее запрос-пустышка преобразуется в нормальный
ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(Запрос.Текст, Запрос);
Запрос.Выполнить();