Главная » Статьи » "1С" Предприятие |
Скачивать материалы с сайта, могут только зарегистрированные пользователи.
Для регистрации заполните два поля ниже!
Через минуту Вы получите "Гостевой доступ"
Владимир Козлов где-то в 2001
Что подразумевается под “динамическими запросами”? Только то, что текст запроса не хранится в явном виде где-то в модуле, а формируется “на лету” (т.е. методами встроенного языка, прямо в процессе работы), на основании выбранных пользователем настроек и условий. Зачем это нужно? Дело в том, что механизм запросов V7 в ряде случаев намного превосходит методы “тупого перебора” по производительности (не говоря о простоте и изящности кода). Но почему-то многие программисты не идут дальше использования конструктора запросов и хранения текста запроса в явном виде в модуле. Между тем, текст запроса – это просто строковое выражение и им можно манипулировать точно так же, как и обычной строкой. Текст запроса можно собирать из различных кусков, которые хранятся в реквизитах объектов или текстовых файлах, задавать интерактивно через реквизиты диалога и вообще делать с ним что угодно. А если подключить к этой механике объект Метаданные с его почти неограниченными возможностями чтения структуры конфигурации, то можно делать весьма интересные вещи, причём делать их быстро. В качестве примера, иллюстрирующего вышесказанное, предлагается обработка “Универсальный реестр документов” – лучше один раз увидеть, чем прочитать тонну описаний. Предистория этого дела такова – в типовых конфигурациях от 1С для компоненты “Оперативный учет” был (и есть) такой универсальный отчет – “Реестр документов”, уж очень он мне в свое время (еще во времена 7.5) понравился, и я вставил его в свою рабочую конфигурацию. Я думаю, что наверняка все, кто так или иначе связан с программированием на 1С, знакомы с этим отчетом, так что описывать его функционал не буду. Идея отчета хороша, но реализация мне кажется весьма ущербной, особенно после появления версии 7.7. Так что пришлось этот отчёт переписать заново. В результате получился UniReestr.ert. Что он умеет?
Еще один момент, на который хочу обратить внимание – в моей конфигурации в данном отчёте реализована возможность открытия общего журнала документов на конкретном документе, выбранном кликом по “книжечке” в печатной форме отчёта, на мой вкус это очень удобно. Если вы согласны со мной и хотите реализовать такую же фичу и у себя, то следует проделать следующее:
В заключение хочу заметить, что данный отчёт может служить неплохой иллюстрацией методов работы с объектами Метаданные, которые в штатном описании языка очень слабо документированы. Текст отчёта в достаточной степени снабжён комментариями, так что разбор особого труда не составит. | |
Просмотров: 1258 | | |
Выразить благодарность - Поделиться с друзьями!
Всего комментариев: 0 | |