Посты с тэгами "8.2.14"

Метод построения нарастающих итогов в таблице и диаграмме.

Отзывов (2)FavoriteLoadingВ закладки

Одна из самых сложных проблем в СКД  -создание ресурсов вида “нарастающие” итоги.

1.Типичным решением этой проблемы  является левое соединение  таблицы с самой собой. В группировки включается период исходной таблицы по которому строится итог с накоплением. В условие соединения входит выражение вида  Исх.ПериодДень >= Соед.ПериодДень. Собственно итоговое поле в запросе вычисляется агрегатной функцией СУММА(Соед.Ресурс)  в присоединенной таблице по полю ресурса.

Этот подход хорош для специализиированных отчетов в которых зараннее известно какое поле периода будет использовано в группировке.

В универсальных отчетах (например по регистру накоплений с настройкой Авто в периоде виртуальной таблицы) ,  в которых заранее неизвестно,  группировку по какому периоду будет выполнять пользователь – этот подход становится малоприемлем. Кроме того – этот подход приводит к дополнительным накладным расходам на выполнение более сложного запроса.

Одна из самых сложных проблем в СКД  -создание ресурсов вида “нарастающие” итоги. 1.Типичным решением этой проблемы  является левое соединение  таблицы с самой собой. В группировки включается период исходной таблицы по которому строится итог с накоплением. В условие соединения входит выражение вида  Исх.ПериодДень >= Соед.ПериодДень. Собственно итоговое поле в запросе вычисляется агрегатной функцией СУММА(Соед.Ресурс)  в присоединенной таблице по полю ресурса. Этот подход хорош для специализиированных отчетов в которых зараннее известно какое поле периода будет использовано в группировке. В универсальных отчетах (например по регистру накоплений с настройкой Авто в периоде виртуальной таблицы) ,  в которых заранее неизвестно,  группировку по какому периоду будет выполнять пользователь – этот подход становится малоприемлем. Кроме того – этот подход приводит к дополнительным накладным расходам на выполнение более сложного запроса....

Далее

Новые функции СКД 8.2.14

Отзывов (3)FavoriteLoadingВ закладки

В свете ближайшего выхода 8.2.14, попытаюсь описать некоторые новые функции системы компоновки данных.

В свете ближайшего выхода 8.2.14, попытаюсь описать некоторые новые функции системы компоновки данных. Открываем схему компоновки данных, желательно во внешнем отчете, чтобы было проще редактировать. Добавляем набор данных типа запрос и пишем, либо вручную, либо с помощью конструктора запросов простейший запрос: 1. Настраиваем запрос в СКД. 2. Настраиваем вычисляемые поля в СКД 3. Выполняем настройку компоновки данных на закладке настройки 4. Запускаем 1С Предприятие 8.2.14. Открываем отчет. Формируем, получаем. Описание самих новых функций: 1. ТекущаяДата() Возвращает системную дату. При компоновке макета компоновки во всех выражениях, которые присутствуют в компоновке, функция ТекущаяДата()заменяется значением текущей даты. 2. ВЫЧИСЛИТЬВЫРАЖЕНИЕ() Синтаксис: ВычислитьВыражение(<Выражение>, <Группировка>, <ОбластьВычисления>, <Начало>, <Конец>, <Сортировка>, <ИерархическаяСортировка>, <ОбработкаОдинаковыхЗначенийПорядка>) Описание: Функция предназначена для вычисления выражения в контексте некоторой группировки. Функция учитывает отбор группировок, но не учитывает иерархические отборы. Функция не может применяться к группировке в групповом отборе этой группировки. Например, в отборе группировки Номенклатура нельзя использовать выражение ВычислитьВыражение(«Сумма(СуммаОборот)”, , «ОбщийИтог») > 1000. Но такое выражение можно использовать в иерархическом отборе. Если конечная запись предшествует начальной, то считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют. При расчете интервальных выражений для общего итога (параметр Группировка имеет значение ОбщийИтог) считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют. Компоновщик макета при генерации выражения функции ВычислитьВыражение, в случае если выражение упорядочивания содержит поля, которые не могут быть использованы в группировке, заменяет функцию ВычислитьВыражение на NULL.   Параметры <Выражение>     Тип: Строка. Выражение, которое надо вычислить. <Группировка>   Тип: Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.   Например: Сумма(Продажи.СуммаОборот)/Вычислить(“Сумма(Продажи.СуммаОборот)”, “ОбщийИтог”) В данном примере в результате получится отношение суммы по полю Продажи.СуммаОборот записи группировки к сумме того же поля во всей компоновке; <ОбластьВычисления>   Тип: Строка. Параметр может принимать следующие значения:   ОбщийИтог — выражение будет вычисляться для всех записей группировки. Иерархия — выражение будет вычисляться для родительской иерархической записи, если таковая имеется, и для всей группировки, если родительской иерархической записи не имеется. Группировка — выражение будет вычисляться для текущей групповой записи группировки. ГруппировкаНеРесурса — при вычисление функции для групповой записи по ресурсам, выражение будет вычислено для первой групповой записи исходной группировки. При вычислении функции ВычислитьВыражение() со значением ГруппировкаНеРесурса для групповых записей, не являющихся группировками по ресурсам, функция вычисляется так же, как бы она вычислялась в том случае, если значение параметра было равно значению Группировка. Компоновщик макета компоновки данных при генерации макета компоновки данных при выводе в макет поля-ресурса, по которому выполняется группировка, помещает в макет выражение, вычисляемое при помощи функции ВычислитьВыражение(), с указанием параметраГруппировкаНеРесурса. Для остальных ресурсов в группировке по ресурсу помещаются обычные выражения ресурсов. <Начало>   Тип: Строка. Указывает, с какой записи нужно начинать фрагмент, в котором...

Далее

Авторизация

Логин:
Пароль:
Регистрация

Архивы

Закладки

  • Your favorites will be here.