Внешние отчеты и обработки удобно использовать для того, чтобы выполнять предусматриваемые ими действия в различных системах. Так же внешние отчеты и обработки обычно используют для того, чтобы добавить в существующую конфигурацию какие-то новые возможности, настроить ее под нужды клиента, но при этом не изменять основную конфигурацию.
Войдем в Конфигуратор и выполним команду Файл > Новый > Внешняя обработка, рис. 7.1.
Рис. 7.1. Начало создания внешней обработки
Введем в поле имя КонсольЗапросов, для начала редактирования формы обработки нажмем на кнопку Открыть в поле Основная форма внешней обработки. Появится окно Конструктор формы обработки, оставим в нем все по умолчанию и нажмем Готово.
Добавим в форму элемент управления Поле текстового документа, зададим ему имя ТекстЗапроса, установим в параметре Расширение значение Язык запросов. Добавим в список реквизитов формы новый реквизит, зададим ему имя ТекстЗапросов и тип Строка.
Это позволит использовать в данном поле, при работе в режиме 1С:Предприятие, конструктор запросов, синтаксические конструкции языка запросов будут автоматически выделяться, рис. 7.2.
|
|
Рис. 7.2. Добавление в форму внешней обработки поля текстового документа
Поле ТекстЗапроса будет содержать текст запроса, который мы можем либо написать вручную, либо создать, воспользовавшись конструктором запроса.
Теперь добавим в форму еще один элемент управления - табличное поле. Зададим ему имя - РезультатВыполненияЗапроса. Так же добавим в форму поясняющие надписи: " Введите текст запроса " и " Результат выполнения запроса ", рис. 7.3.
Рис. 7.3. Добавление в форму внешней обработки табличного поля
В табличное поле мы будем помещать результат выполнения запроса.
Теперь зададим обработчик нажатия кнопки Выполнить. Для этого откроем окно свойств кнопки и нажмем на кнопку Открыть в поле Действие. Процедура обработчика события нажатия на кнопку будет выглядеть следующим образом:
Процедура КнопкаВыполнитьНажатие(Кнопка) Запрос = Новый Запрос; Запрос.Текст=ЭлементыФормы.ТекстЗапроса.ПолучитьТекст(); РезультатВыполненияЗапроса = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.РезультатВыполненияЗапроса.СоздатьКолонки();КонецПроцедурыПоясним ее команды. Они, в основном, связаны с новым для вас объектом Запрос.
Запрос = Новый Запрос;Создаем новый объект типа Запрос, записываем ссылку на него в переменную Запрос.
Запрос.Текст=ЭлементыФормы.ТекстЗапроса.ПолучитьТекст();Записываем в свойство запроса Текст данные, которые хранятся в поле текстового документа.
РезультатВыполненияЗапроса = Запрос.Выполнить().Выгрузить();Помещаем в поле табличного документа РезультатВыполненияЗапроса результат выполнения запроса. Этот результат получается, во-первых, после использования метода запроса Выполнить(). Этот метод выполняет запрос, если запрос выбрал какие-то данные из базы, возвращаемое значение имеет тип РезультатЗапроса. Метод Выгрузить() выгружает результат запроса в таблицу значений, которая и попадает в поле табличного документа РезультатВыполненияЗапроса.
|
|
Благодаря этой команде в поле РезультатВыполненияЗапроса можно увидеть его содержимое, иначе оно будет выглядеть пустым.
После того, как создание обработки завершено, сохраним ее командой главного меню программы Файл > Сохранить.
Файлы внешних обработок имеют расширение *.EPF, рис. 7.4.
Рис. 7.4. Сохраняем внешнюю обработку
Запустим систему в режиме 1С:Предприятие. Для того, чтобы работать с внешней обработкой, нам сначала нужно открыть ее. Для этого воспользуемся командой главного меню программы Файл > Открыть и с помощью стандартного окна открытия файлов выберем интересующую нас обработку, рис. 7.5.
Рис. 7.5. Внешняя обработка, открытая в режиме 1С:Предприятие
Сейчас все готово для ваших первых экспериментов с запросами.