Итоги в запросах в языке 1С 8.3, 8.2 (в примерах)
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
2017-12-18T22:44:27+00:00<<< Основы Группировка Условия Упорядочивание Функции
<<< Итоги Соединение Объединение Параметры
См. урок для начинающих по итогам в языке запросов 1С
Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)
/// Как получить итоги по одному полю в разрезе другого /// поля в 1с 8.3, 8.2 &НаСервере Процедура КакПолучитьИтогиПоОдномуПолюНаСервере() // Итоги подводятся одних полей в разрезе других. // Для вычисления итогов используются агрегатные функции: // СУММА // МАКСИМУМ // МИНИМУМ // СРЕДНЕЕ // КОЛИЧЕСТВО // При подведении итогов в таблицу включаются дополнительные // строки с самими итогами. // Для примера подведём итоги калорийности продуктов // в разрезе цвета. Запрос = Новый Запрос( "ВЫБРАТЬ | Цвет, | Наименование, | Калорийность |ИЗ | Справочник.Номенклатура |ГДЕ | ЭтоГруппа = Ложь |ИТОГИ | СУММА(Калорийность) |ПО | Цвет" ); ВыполнитьЗапросИВывестиНаФорму(Запрос); КонецПроцедуры /// Как получить итоги в целом /// по таблице в 1с 8.3, 8.2 &НаСервере Процедура КакПолучитьИтогиВЦеломПоТаблицеНаСервере() // Узнаем среднюю калорийность продуктов в целом // по всей таблице справочника. Запрос = Новый Запрос( "ВЫБРАТЬ | Наименование, | Калорийность |ИЗ | Справочник.Номенклатура |ГДЕ | ЭтоГруппа = Ложь |ИТОГИ | СРЕДНЕЕ(Калорийность) |ПО | ОБЩИЕ" ); ВыполнитьЗапросИВывестиНаФорму(Запрос); КонецПроцедуры /// Как получить итоги одних полей в разрезе /// нескольких других в 1с 8.3, 8.2 &НаСервере Процедура КакПолучитьИтогиНесколькихПолейНаСервере() // Посчитаем итоги Калорийность, Жиры, Белки и Углеводы // по цветам и вкусам продуктов, а также в целом // по таблице. Запрос = Новый Запрос( "ВЫБРАТЬ | Цвет, | Вкус, | Наименование, | Калорийность, | Жиры, | Белки, | Углеводы |ИЗ | Справочник.Номенклатура |ГДЕ | ЭтоГруппа = Ложь |ИТОГИ | СУММА(Калорийность), | СУММА(Жиры), | СУММА(Белки), | СУММА(Углеводы) |ПО | ОБЩИЕ, | Цвет, | Вкус" ); ВыполнитьЗапросИВывестиНаФорму(Запрос); КонецПроцедуры /// Как получить итоги по иерархии в 1с 8.3, 8.2 &НаСервере Процедура КакПолучитьИтогиПоИерархииНаСервере() // Если мы подводим итоги в разрезе поля, тип которого имеет иерархическую // структуру - можно использовать ключевое слово ИЕРАРХИЯ, // чтобы подвести итоги по всем уровням вложенности. // Для примера выведем среднюю цену на продукты, установленную для клиентов, // в разрезе элементов и групп справочника Номенклатура. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Период, | Номенклатура, | Цена |ИЗ | РегистрСведений.ЦенаНаЕдуДляКлиентов КАК ЦенаНаЕдуДляКлиентов |ИТОГИ | СРЕДНЕЕ(Цена) |ПО | Номенклатура ИЕРАРХИЯ"; ВыполнитьЗапросИВывестиНаФорму(Запрос); // Обратите внимание, что у ключевого слова ИЕРАРХИЯ есть вариант // ТОЛЬКО ИЕРАРХИЯ. В этом случае итоги будут подводиться // только по иерархии (группам) без расчёта итогов в контрольных // точках (элементах). КонецПроцедуры /// Скачать и выполнить эти примеры на компьютере |
Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)
Итоги в запросах в языке 1С 8.3, 8.2 (в примерах)
<<< Основы Группировка Условия Упорядочивание Функции
<<< Итоги Соединение Объединение Параметры