- •Основы программирование в среде «1с: предприятие»
- •1. Предметно-ориентированное моделирование информационных систем
- •1.1. Понятие предметно-ориентированного моделирования
- •1.2. Типы моделей
- •2. Система программ «1с: Предприятие 8»
- •2.1. Состав системы программ «1с: Предприятие 8»
- •2.2. Структура конфигурации
- •2.3. Архитектуры системы программ «1с: Предприятие»
- •2.4. Платформенно-зависимая модель «1с: Предприятие»
- •3. Объектная модель платформы «1с: Предприятие»
- •3.1. Объекты для построения платформенно-зависимой модели
- •3.2. Общая структура основного объекта
- •4. Основы работы с информационной базой
- •4.1. Создание информационной базы
- •4.2. Перенос информационной базы
- •4.3. Объекты системы
- •4.4. Классификация объектов
- •4.5. Прикладные объекты
- •4.6. Подчиненные объекты
- •4.7. Встроенный язык системы
- •4.8. Виды модулей
- •4.9. Подсистемы
- •4.10. Отладка конфигурации
- •Лабораторная работа 1
- •5. Справочники
- •5.1. Назначение справочников
- •5.2. Программные объекты справочников
- •5.3. Подчиненные справочники
- •5.4. Иерархические справочники
- •5.5. Модуль объекта Справочник
- •5.6. Свойства справочников
- •5.7. Формы объектов
- •5.8. Представления объектов
- •5.9. Настройка интерфейса
- •5.10 Структура экрана в пользовательском режиме
- •Лабораторная работа 2
- •6. Документы
- •6.1. Назначение документов
- •6.2. Программные объекты документов
- •6.3. Проведение документа
- •6.4. Ввод на основании
- •6.5. Типы данных. Типообразующие объекты конфигурации
- •6.6. Заполнение реквизитов
- •6.7. Расчет суммы в строках документа
- •Лабораторная работа 3
- •7. Регистры
- •7.1. Назначение и свойства
- •7.2. Виды регистров
- •7.3. Виртуальные таблицы
- •7.4. Программные объекты регистров
- •7.5. Регистры накопления
- •7.6. Движения документа
- •7.7. Командный интерфейс регистров
- •Лабораторная работа 4
- •8. Отчеты
- •Лабораторная работа 5
- •9. Макеты и формы
- •9.1. Создание макета печатной формы
- •9.2. Редактирование макета
- •9.3. Редактирование формы
- •Лабораторная работа 6
- •10. Регистры сведений
- •10.1. Создание периодического регистра сведений
- •10.2. Использование периодического регистра сведений в документе
- •Лабораторная работа 7
- •11. Перечисления
- •Лабораторная работа 8
- •12. Оборотные регистры накопления
- •Лабораторная работа 9
- •13. Табличная модель платформы «1с: Предприятие»
- •13.1. Табличная модель данных
- •13.2. Виды таблиц базы данных
- •13.3. Создание запроса и использование его результатов
- •13.4. Структура и описание запроса
- •13.5. Взаимосвязь таблиц
- •13.6. Упорядочивание
- •13.7. Группировка и итоги
- •13.8. Параметры
- •14. Система компоновки данных
- •Лабораторная работа 10.1
- •Лабораторная работа 10.2
- •Лабораторная работа 10.3
- •Лабораторная работа 10.4
13.3. Создание запроса и использование его результатов
Аналогом SQL в «1С:Предприятии» является язык запросов. Синтаксис и основные конструкции языка почти идентичны стандарту ANSI SQL 92. Возможна запись в русскоязычной и англоязычной нотациях.
Назначение запросов – извлечение данных, структура которых отличается от структуры таблиц и анализ данных. Для того, чтобы использовать запрос, необходимо выполнить следующие действия:
1. Создать объект запроса.
2. Разработать запрос. (Это можно делать вручную в редакторе кода или при помощи специального инструмента – Конструктора запросов)
3. Задать параметры запроса
4. Исполнить запрос
5. Обработать результаты запроса
6. Отобразить результаты запроса
Рис.13.1. Алгоритм выполнения запроса
Для использования запросов имеется объект встроенного языка:
НекоторыйЗапрос = Новый Запрос(текст);
Текст запроса также можно задавать не в конструкторе, но и при помощи свойства
Запрос.Текст = “ВЫБРАТЬ …..”;
Параметры запроса задаются методом
Запрос.УстановитьПараметр(Имя, Значение);
Выполнение запроса осуществляется методом
Запрос.Выполнить();
Результаты запроса необходимо представить пользователю или использовать в программном коде для дальнейшей работы. Метод Выполнить() возвращает коллекцию РезультатЗапроса, которая содержит набор записей запроса. Структура записей определяется свойством Колонки
Обращаться к коллекции можно так:
РезультатЗапроса[1][1]
РезультатЗапроса.Колонки[1]
Также возможно обращение по именам колонок. При этом согласование типа данных ложится на разработчика.
Перебор записей результата запроса осуществляется при помощи объекта Выборка:
Выборка = РезультатЗапроса.Выбрать();
и его метода
Выборка.Следующий();
Перебор может быть организован в цикле:
Пока Выборка.Следующий() Цикл
…
КонецЦикла;
13.4. Структура и описание запроса
Текст запроса состоит из следующих логических частей:
<Описание запроса>
[<Объединение запросов>]
[<Упорядочивание результатов>]
[АВТОУПОРЯДОЧИВАНИЕ]
[<Описание итогов>]
Описание запроса является единственной обязательной частью запроса. Описание запроса определяется следующей конструкцией
ВЫБРАТЬ [РАЗРЕШЕННЫЕ] [РАЗЛИЧНЫЕ] [ПЕРВЫЕ <Количество>] <Список полей выборки>
[ИЗ <Список источников>]
[ГДЕ <Условие отбора>]
[СГРУППИРОВАТЬ ПО <Поля группировки>]
[ИМЕЮЩИЕ <Условие отбора>]
[ДЛЯ ИЗМЕНЕНИЯ [<Список таблиц верхнего уровня>]]
Команда ВЫБРАТЬ обеспечивает отбор данных в соответствии с заданным критерием. После нее приводится перечень имен полей, по которым требуется выполнить поиск. Поля разделяются запятой (рис.13.2).
Рис.13.2
Вертикальная линия «|» в языке запросов означает перенос выражения из предыдущей строки.
После оператора ИЗ задается имя таблицы, которой адресован запрос, имя виртуальной таблицы или вложенный запрос. В одном запросе можно обращаться к полям нескольких таблиц, в этом случае имена таблиц перечисляются через запятую.
Ключевое слово РАЗРЕШЕННЫЕ означает, что запрос выберет только те записи, на которые у текущего пользователя есть права.
Ключевое слово РАЗЛИЧНЫЕ позволяет оставить в результате запроса только отличающиеся строки (рис.13.3).
Рис.13.3
Конструкция ПЕРВЫЕ <Количество> позволяет задать предельное количество строк в результате запроса.
В запросе можно использовать дополнительные условия отбора. Для этого применяется оператор ГДЕ, после которого можно задавать ограничения на отбираемые поля.
В дополнительных условиях можно применять не только запрашиваемые поля, но и любые другие из данной таблицы. Допускается использование арифметических операторов сравнения, логических операторов AND, OR, NOT. В качестве параметров можно вводить числа, строки, даты, логические переменные (рис.13.4).
Рис.13.4
Если источником данных является табличная часть объекта, то обращение к реквизитам самого объекта может происходить только по ссылке. Табличным частям и полям могут назначаться псевдонимы. Для этого используется ключевое слово КАК. Псевдонимы обязательно использовать при обращении к полям табличной части (рис.13.5).
Рис.13.5