Получение представлений для ссылочных значений в табличном документе

#std449

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

Методическая рекомендация (полезный совет)

При формировании табличного документа запрещено в качестве параметров ячеек с типом заполнения Параметр указывать ссылочные значения, поскольку в этом случае в момент вывода данных в табличный документ будет выполнено многократное обращение к базе данных для получения представлений этих значений.
Поэтому в качестве параметров следует указывать сами представления.

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

При этом следует иметь ввиду, что при получении представлений для полей непосредственно в самом запросе (через поле Представление или функцией Представление(<Имя поля>)) выполняется неявное соединение с таблицей объекта, для которого получаются представления. Для полей составного типа - несколько соединений, для каждого из типов, входящих в состав. Это может приводить к увеличению времени выполнения запроса (и как следствие, общего времени формирования итогового документа), а при большом количестве типов – к невозможности его выполнения в клиент-серверной версии из-за ограничения Microsoft SQL Server 2005, по которому в запросе не может участвовать больше 256 таблиц. Такие случаи также могут быть исключением для данного правила, в них представления для ссылочных значений допускается получать в момент их вывода в табличный документ.

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

См. также