четверг, 20 декабря 2012 г.

ПРЕДСТАВЛЕНИЕ в запросе

В запросах (созданных построителем) появляется такая строка

Сама функция ПРЕДСТАВЛЕНИЕ преобразует все в строку. Но и без нее все вполне удобочитаемо. В чем ее роль?



См. ниже комментарий Александра Кунташова! Огромное спасибо!

3 комментария:

  1. Функция ПРЕДСТАВЛЕНИЕ() не просто преобразует в строку - она неявно присоединяет необходимые таблицы для получения представления. При этом для разработчика не важно, какое поле используется для формирования представления (код или наименование - если речь о справочниках).

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

    ОтветитьУдалить
    Ответы
    1. Спасибо! Ведь ни слова (разумного) в документации...

      Удалить
  2. Ну и еще (как я понял, четкого описания не нашел). Если в запросе использовать функцию ПРЕДСТАВЛЕНИЕ(), то в макет будет попадать именно она, а не поле к которому она введена. Не нужно ни каких дополнительных действий!
    Это в первую очередь относится к отчетам на базе УНИВЕРСАЛЬНОГО.
    Т.е. при описание параметров построения выходной формы (в процедуре УстановитьНачальныеНастройки) нужно указывать псевдонимы полей запроса, а в макет попадут данные функции ПРЕДСТАВЛЕНИЕ() к этому полю (разумеется если она задана).

    ОтветитьУдалить