Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в конфигурирование 1Cv8 - Основные объ...doc
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆
    1. Упорядочивание результатов запроса

Просматривая данные из вложенной таблицы видно, что они упорядочены по дате документа. Если требуется получить данные с другим вариантом сортировки, то для этих целей можно использовать конструкцию «Упорядочить По»

Выбрать

*

Из Документ. Приходная Упорядочить По

Контрагент Иерархия

Следующий текст запроса позволит упорядочить по иерархии:

Выбрать

Наименование, Количество, Сумма Из Документ. Приходная. Товары Правое Внешнее Соединение Справочник. Номенклатура Как Номен По Номен. Ссылка=Номенклатура Упорядочить По Наименование Иерархия

Выбрать

*

Из

Документ. Приходная Упорядочить По Контрагент Возр, Номер Убыв

Возможные варианты упорядочивания: «Возр», «Убыв», «Иерархия». В качестве имен полей, по которым производится упорядочивание, можно указывать их псевдонимы.

В случае, если вариант упорядочивания не указан (и не используется «автоупорядочивание»), то упорядочивание будет производиться по значению внутренних идентификаторов.

Важно помнить, что упорядочивание по иерархии возможно только по таблицам с иерархией. Пример неработающего упорядочивания:

Практикум № 13_______________________________________

Измените вид соединения с правого на левое и попытайтесь пояснить результат.

Напишите текст запроса, который позволит вывести перечень из пяти самых дорогих товаров.

    1. Группировки результатов запроса

При просмотре предыдущих результатов выполнения запросов данные получались в том виде, как они вводились в документы. Но если требуется получить ответ на вопрос: сколько какого-то товара закупалось (вообще), то либо придется складывать все вручную, либо использовать группировку.

Данные в запросе могут быть сгруппированы с помощью агрегатных функций, указанных в качестве полей выборки. Очень важно помнить, что в большинстве случаев все поля выборки запроса должны делиться на агрегатные функции и поля, по которым ведется группировка (исключение в определенных случаях составляют поля «Представление», встроенные функции и т. п.).

Рассмотрим текст запроса:

Выбрать

Номенклатура Как Товар, Сумма (Количество), Сумма (Сумма) Из Документ. Приходная. Товары Сгруппировать По Номенклатура

При указании группировки псевдоним поля указывать нельзя. В качестве агрегатных функций можно использовать: • Сумма (Выражение) • Среднее (Выражение) • Минимум (Выражение) • Максимум (Выражение) • Количество ([Различные] Выражение)

Практикум № 14 _____________________________________

Напишите текст запроса, который для каждой номенклатурной позиции выводил бы количество поставок (при условии, что номенклатура в рамках документа не повторяется), среднее, минимальное, максимальное количество в поставке.

Вместе с группировкой можно пользоваться упорядочиванием, В соответствии со структурой текста запроса раздел группировки определяется раньше, чем раздел определения способов упорядочивания результатов запроса.

Выбрать

Номенклатура Как Товар, Ссылка. Контрагент, Сумма (Количество), Сумма (Сумма) как Сумма Из Документ. Приходная. Товары Сгруппировать По Номенклатура, Ссылка. Контрагент Упорядочить По Сумма Убыв

Условия на значения агрегатных функций

Рассмотрим следующий текст запроса:

Выбрать

Номенклатура Как Товар, Сумма (Количество),

Выбрать

Номенклатура Как Товар,

Сумма (Количество), Сумма (Сумма) как Сумма Из Документ. Приходная. Товары Сгруппировать По Номенклатура Упорядочить По Сумма Убыв

Сумма (Сумма) Из Документ. Приходная. Товары Сгруппировать По Номенклатура Имеющие Сумма (Сумма)> 1000

Практикум № 15 _________________________________________

Напишите текст запроса, который выдавал бы список покупателей, купивших более чем один товар, и при этом сумма покупки была более 200, отсортируйте список по убыванию количества покупок.