воскресенье, 18 июня 2017 г.

Представления ссылочных полей для печатных форм


      При написании запросов для ссылочных данных ("ФизЛицо", "Валюта" и т.п.) мы в качестве выходных полей использовали сами поля ссылок.
Т.е. реально в поле "ФизЛицо" лежит не "Петрищев Иван Константинович (руководитель)", а ссылка на этого сотрудника: "d5f4e15a-ecb0-11db-95e0-00167618254b".

       Уже при заполнении параметров области макета система вынуждена автоматически по этой ссылке "бегать" в базу данных, в таблицу справочника для определения представления этой ссылки, т.е. в нашем случае – наименования "ПетрищеИванв  Константинович (руководитель)".
    Беда в том, что это происходит внутри цикла обхода результата запроса - то есть имеем многократные обращения к базе данных.Тем обиднее, что чаще всего сама ссылка вообще печатной форме не нужна. Потому что печатные формы в 99,99% случаев печатают, а не разглядывают с целью расшифровки.
      Чтобы повысить эффективность нашего механизма, если сами ссылки в печатной форме не нужны, но нужны их представления – нужно заставить сам запрос получать эти представления ссылочных данных, выводимых в выходной таблице.
     Тогда система, конечно же, тоже будет получать данные из справочников, но это будет сделано только за один раз – за счет неявного левого соединения "почти выходной" таблицы запроса с соответствующими таблицами справочников, перечислений, документов и т.п.
Необходимо использовать в запросе функцию

ПРЕДСТАВЛЕНИЕ(<Выражение>) 
 
 
 

Комментариев нет:

Отправить комментарий

Печать чека ККМ из драйвера ККМ

Суть проблемы: Пробиваем чек из 1С: Бухгалтерии. Чек пробит не  правильно. Теперь нужно сделать чек коррекции. Но в программе это сделать н...