Задание 1. Группировка и сортировка Лабораторная работа № 23 ТЕМА ПРОГРАММЫ: Создание баз учетных данных ТЕМА УРОКА : Формирование запросов в программе 1С: Предприятие. ЦЕЛИ УРОКА: ●Изучить синтаксис запросов в программе; ●Создать все необходимые запросы. Теоретические сведения Во всех программных модулях доступ к атрибутам и методам запросов может выполняться только через переменную, созданную функцией СоздатьОбъект. Чтобы вызвать атрибут или метод объекта, имя этого атрибута, метода (с указанием необходимых параметров) пишется через точку после имени переменной. При создании объекта типа «Запрос» в качестве параметра функции СоздатьОбъект используется ключевое слово Запрос. Пример: Запрос = СоздатьОбъект("Запрос"); Работа с запросами предполагает следующий порядок: при помощи функции СоздатьОбъект создается объект типа «Запрос» и ссылка на него присваивается какой-либо переменной. Далее обращение к запросу производится посредством этой ссылки. после создания переменной типа «Запрос» следует обращение к методу Выполнить, которому в качестве параметра передается текст запроса, написанный на специальном языке запросов. Метод Выполнить анализирует текст запроса, выполняет в соответствии с ним выборку данных и формирует временный выходной набор данных (выборку). после этого организуется циклическая обработка сформированного временного набора данных (выборки) с целью получения требуемого отчета. Текст описания запроса на языке запросов состоит из последовательности операторов. Концом оператора является символ ";". Операторы могут записываться в любом порядке, однако, следует помнить, что интерпретатор языка запросов однопроходный, следовательно, сначала следует описать переменную, и только потом ее использовать в операторах Группировка, Функция или Условие. Общая схема выполнения запроса Запрос − это обращение к системе 1С с просьбой выбрать определенные данные из базы данных. Например, с помощью запроса можно быстро организовать выбор всех сотрудников с определенной должностью. Для организации запроса необходимо выполнить следующие действия. Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "<текст запроса на особом языке запросов>" Запрос.Выполнить(ТекстЗапроса); //далее идет обработка результатов запроса Практически в любом запросе есть ключевое слово Группировка. Оно означает, что нужно выбрать из таблицы только те записи, у которых значение определенного поля различается. Переменные в запросе С помощью переменных запроса происходит обращение к требуемым данным. Переменные запроса чаще всего ссылаются на справочники и документы. Кроме того можно ссылаться на журналы расчетов, регистры, бухгалтерские счета. Например, конкретным переменным присваиваются значения реквизитов справочника. |ФИО = Справочник.Сотрудники.Наименование; |Долж = Справочник.Сотрудники.Должность; |ДатаПриема = Справочник.Сотрудники.ДатаПриема; |ДатаУвольнения = Справочник.Сотрудники.ДатаУвольнения; |"; Порядок выполнения: - Откройте информационную базу «Кадровый учет», созданную вами в Лр №19 в режиме Конфигуратор.
Перейдите в режим 1С: Предприятие и убедитесь, что справочники «Сотрудники» и «Должности» заполнены данными (иначе заполните их). Задание 1. Группировка и сортировка Перейдите на форму списка справочника «Сотрудники». В модуле формы списка запишите приведенный ниже код. Этот запрос выберет из справочника Сотрудники список используемых должностей и отсортирует этот список по алфавиту. Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = " |Долж = Справочник.Сотрудники.Должность; |Группировка Долж упорядочить по Долж.Наименование; "; Запрос.Выполнить(ТекстЗапроса); Пока Запрос.Группировка("Долж")=1 Цикл Сообщить(Запрос.Долж); КонецЦикла; |