Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОО_ИСБУ_Лек3.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
684 Кб
Скачать
☆

Общие итоги

Рассмотрим сначала общие итоги, как более простые для понима­ния. Следующий запрос выбирает из регистра накопления Про­дажи все записи за заданный период и рассчитывает общий объем продаж:

ВЫБРАТЬ Номенклатура, Сумма

ИЗ РегистрНакопления.Продажи

ИТОГИ СУММА(Сумма) ПО Общие

В результате запроса появляется дополнительная итоговая строка:

Номенклатура

Сумма

445

1С:Бухгалтерия 7.7 Базовая версия

140

1С:Бухгалтерия 7.7 Стандартная версия

280

Мышь ОК-720 Mouse A4Tech PS/2

3

Клавиатура Keyboard PS/2

22

При обходе результата запроса итоговые строки можно отличить от обычных с помощью метода ТипЗаписи().

Например, выведем результат данного запроса в окно сообщений, а итоговую строку выделим заглавными буквами:

Запрос = Новый Запрос("

| ВЫБРАТЬ Номенклатура, Сумма

| ИЗ РегистрНакопления.Продажи

| ИТОГИ СУММА(Сумма) ПО Общие");

Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл

Если Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ОбщийИтог Тогда

Сообщить("ОБЩИЙ ИТОГ: " + Выборка.СуммаПродажи);

Иначе

Сообщить("Товар/услуга: " + Выборка.Номенклатура +

"Сумма: " + Выборка.СуммаПродажи);

КонецЕсли;

КонецЦикла;

Итоги по группировкам

При расчете итогов по группировкам вычисляются значения агре­гатных функций по выборкам с одинаковыми значениями полей, по которым производится группировка.

Простой запрос с итогами по группировкам выглядит следующим образом:

ВЫБРАТЬ Номенклатура, Период, Сумма

ИЗ РегистрНакопления.Продажи

ИТОГИ СУММА(Сумма) ПО Номенклатура

АВТОУПОРЯДОЧИВАНИЕ

Результат запроса включает в себя обычные записи из регистра и итоги по каждому товару:

Товар

Период

Сумма

1C: Аспект 7.7

720

1C: Аспект 7.7

11.01.200221:56:07

90

1C: Аспект 7.7

24.02.2002 12:00:00

180

1С:Аспект 7.7

26.02.2002 12:00:00

180

1С:Аспект 7.7

04.08.2002 12:00:00

270

1С:Бухгалтерия 7.7

350

1C: Бухгалтерия 7.7

10.01.2002 12:00:01

140

1С:Бухгалтерия 7.7

04.08.2002 12:00:00

210

Обратите внимание, что запрос с итогами по группировкам отли­чается от обычной группировки (свертки) с помощью предложе­ния СГРУППИРОВАТЬ ПО с агрегатными функциями. В послед­нем случае в результат запроса не включаются исходные записи, а остаются только итоговые строки.

Например, следующий запрос выводит объем продаж, сгруппиро­ванный по каждой номенклатуре, и не выводит детальные записи регистра накопления:

ВЫБРАТЬ Номенклатура, СУММА(Сумма) КАК Сумма

ИЗ РегистрНакопления.Продажи

СГРУППИРОВАТЬ ПО Номенклатура

АВТОУПОРЯДОЧИВАНИЕ

Номенклатура

Сумма

1C: Аспект 7.7

720

1С:Бухгалтерия 7.7 Базовая версия

350

1C: Бухгалтерия 7.7 Стандартная версия

280

1С:Бухгалтерия ПРОФ версия 7.7

1 320

1С:Торговля и Склад 7.7 Проф

1 540

Можно рассчитать итоги по комбинации группировок, перечислив их через запятую:

ВЫБРАТЬ Контрагент, Номенклатура, Сумма

И3 РегистрНакопления.Продажи

ИТОГИ СУММА(Сумма)

ПО Контрагент, Номенклатура

АВТОУПОРЯДОЧИВАНИЕ

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

Контрагент

Номенклатура

Сумма

Алекс-2002

780

Алекс-2002

1С:Аспект 7.7

270

Алекс-2002

1C: Аспект 7.7

90

Алекс-2002

1C: Аспект 7.7

180

Алекс-2002

Windows XP Ноmе

510

Алекс-2002

Windows XP Ноmе

170

Алекс-2002

Windows XP Home

340

Эльбрус

85

Эльбрус

1C: Аспект 7.7

85

Эльбрус

1C: Аспект 7.7

20

Эльбрус

1С:Аспект 7.7

25

Эльбрус

1C: Аспект 7.7

40

Порядок группировок в тексте запроса имеет довольно важное значение, поскольку сначала рассчитываются итоги по первому группировочному полю, затем по второму и т.д.

Если в предыдущем примере поменять местами контрагента и номенклатуру, то получим следующий результат:

выбрать Контрагент, Номенклатура, Сумма

ИЗ РегистрНакопления.Продажи

ИТОГИ СУММА(Сумма) ПО Номенклатура, Контрагент

АВТОУПОРЯДОЧИВАНИЕ

Результат запроса показан ниже:

Номенклатура

Контрагент

Сумма

1C: Аспект 7.7

355

1С:Аспект 7.7

Алекс-2002

270

1С:Аспект 7.7

Алекс-2002

90

1С:Аспект 7.7

Алекс-2002

180

1C: Аспект 7.7

Эльбрус

85

1C: Аспект 7.7

Эльбрус

20

1C: Аспект 7.7

Эльбрус

25

1C: Аспект 7.7

Эльбрус

40

Windows XP Home Edition

510

Windows XP Home Edition

Алекс-2002

510

Windows XP Home Edition

Алекс-2002

170

Windows XP Home Edition

Алекс-2002

340

В 1С:Предприятии 8 реализована возможность обхода группи­ровок в произвольном порядке. То есть из одного результата за­проса возможно получать отчеты с различной последовательно­стью группировок. Например, в отчете на основе одного результата запроса могут выводиться сначала группировки по то­варам, а затем по поставщикам.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]