Язык запросов «1С:Предприятия 8»
Год издания: 2013
Автор: Хрусталева Е.Ю.
Издательство: М.: 1С-Паблишинг
ISBN: 978-5-9677-1992-9
Серия: 1С:Библиотека разработчика
Язык: русский
Формат: PDF
Качество: издательский макет или текст (eBook)
Интерактивное оглавление: нет
Количество страниц: 369
Описание:
Запросы – это один из базовых механизмов «1С:Предприятия» наряду со встроенным языком, который позволяет читать и обрабатывать данные, хранящиеся в базе. Для составления запросов «1С:Предприятие» использует собственный язык, основанный на SQL.
Эта книга поможет начинающим разработчикам, не знакомым с SQL, освоить язык запросов «1С:Предприятия». Книга также будет полезна и тем, кто имеет опыт составления SQL-запросов в других средах разработки: язык запросов «1С:Предприятия» содержит значительное количество расширений, ориентированных на специфику финансово-экономических задач.
В книге рассматривается значительное количество практических примеров. Для создания примеров использована версия 8.3.3.687 платформы «1С:Предприятие».
Дополнительные материалы
Приложение включает демонстрационные конфигурации, иллюстрирующие примеры книги, и учебную версию платформы «1С:Предприятие 8.3».
Скачайте материалы и учебную версию, раскройте архив и следуйте инструкциям по установке.
Оглавление
Глава 1. Механизм запросов
Как хранятся данные в «1С:Предприятии»
Исходные таблицы для запросов
Реальные таблицы
Виртуальные таблицы
Язык запросов «1С:Предприятия»
Общая схема выполнения запросов
Синтаксис текста запросов
Примеры использования языка запросов для получения данных из одной таблицы
Как получить все данные из таблицы
Как получить только определенные поля для всех записей из таблицы
Как расположить полученные записи в нужном порядке
Как упорядочить записи таблицы по ссылочному полю
Как получить текстовое представление ссылочного поля
Как получить только первые несколько записей с наибольшими значениями некоторого поля
Как получить записи, в которых определенные поля не содержат одинаковых значений
Как получить общее количество записей в таблице и количество записей с различным значением некоторого поля
Как получить записи из таблицы, отобранные по некоторому условию
Как получить записи таблицы, содержащие строки, соответствующие заданному шаблону
Как задать произвольное значение отбора записей из таблицы
Как получить данные из табличной части некоторого документа
Как получить данные из табличной части документа в качестве вложенной таблицы
Как получить записи иерархической таблицы и расположить их в порядке иерархии
Как отобрать записи иерархической таблицы по условию
Как узнать среднюю цену, по которой продавался товар
Как узнать общее количество и сумму продаж каждого товара в разрезе покупателей
Как узнать среднюю цену поступления товара, не группируя сами записи
Расчет итогов для иерархического справочника
Расчет итогов по нескольким полям
Расчет общих итогов
Примеры использования выражений в списке полей выборки запроса
Примеры использования языка запросов для получения данных из нескольких таблиц
Как использовать данные одного запроса внутри другого запроса
Как получить данные из разных таблиц для одного и того же поля
Как получить данные из разных таблиц, связанных несколькими соединениями
Как получить данные из таблицы, на которую ссылается поле другой таблицы
Как получить данные из разных таблиц, не связывая, а дополняя их
Временные таблицы и пакетные запросы
Глава 2. Работа с запросами во встроенном языке
Конструктор запроса
Создание простого запроса
Связи источников запроса
Объединение запросов
Создание пакетного запроса, использующего временную таблицу
Выполнение запросов из встроенного языка
Создание запроса
Передача параметров в запрос
Получение выборки из результата запроса
Обход выборки из результата запроса
Линейный (прямой) порядок обхода
Иерархический порядок обхода
Обход по группировкам
Обход выборки результата запроса, содержащего данные табличной части
Обработка результатов запроса с помощью конструктора запроса
Обход выборки
Вывод в табличный документ
Вывод в диаграмму
Выгрузка результата запроса в таблицу или дерево значений
Отладка запросов
Использование временных таблиц с помощью встроенного языка
Использование таблицы значений в качестве источника временной таблицы
Примеры решения различных задач с использованием запросов
Поиск всех родителей для элемента иерархического справочника
Создание запроса из произвольного источника
Создание кросс-отчета
Вывод итогов по периодам с заданной периодичностью
Глава 3. Решение прикладных задач
Хранение информации
Регистры сведений
Получение данных из независимых непериодических регистров сведений
Получение данных из периодических регистров сведений
Получение данных из регистров сведений, подчиненных регистратору
Планы видов характеристик
Пример 1
Пример 2
Пример 3
Получение значений характеристик из регистра сведений
Учет движения средств
Регистры накопления
Получение движений регистра накопления
Получение остатков
Получение оборотов
Получение остатков и оборотов
Бухгалтерский учет
Планы счетов
Планы видов характеристик – виды субконто
Регистры бухгалтерии
Получение движений регистра бухгалтерии
Получение остатков
Получение оборотов
Получение оборотов между корреспондирующими счетами
Получение остатков и оборотов
Получение движений с субконто
Сложные периодические расчеты
Планы видов расчета
Регистры расчета
Получение данных из регистра расчета
Получение данных о фактическом периоде действия записи для расчета
Получение данных графика для расчета записи
Получение базы для расчета записей
Перерасчеты
Глава 4. Оптимизация запросов
Индексирование таблиц
Способы индексирования таблиц
Эффективное использование индексов
Пример 1
Пример 2
Пример 3
Пример 4
Пример 5
Общие рекомендации
Причины неоптимальной работы запросов и основные направления их оптимизации
Общие рекомендации
Не использовать запросы в цикле
Не использовать в запросе функции от параметров
Использовать параметры виртуальных таблиц
Соответствие индексов и условий запроса
Не использовать соединения с вложенными запросами и с виртуальными таблицами
Соединения с вложенными запросами
Соединения с виртуальными таблицами
Не использовать вложенные запросы в условиях соединения
Исключить получение поля «Ссылка» через точку
Ограничить получение данных через точку от полей составного ссылочного типа
Исключить вывод ссылочных полей в отчет