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

Использование функций для расчета итогов

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

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

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

Далее

Простые примеры: дополнительная строка итогов

Ваш отзывFavoriteLoadingВ закладки

Дополнительная строка итогов в СКД

Можно считать, что данная публикация является продолжением публикации «Свои итоги в СКД или расчет среднего значения» автор tamaks. Первоначально передо мной стояла похожая задача – добавить при выводе списка дополнительную строку итогов, в которой будет выводиться итог по полю, не отображаемом в отчете,  что и было сделано, благодаря вышеупомянутой статье.

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

Первоначальный отчет:

дополнительная строка итогов 1

Нужно получить вот такой:

дополнительная строка итогов 2

Дополнительная строка итогов в СКД Можно считать, что данная публикация является продолжением публикации «Свои итоги в СКД или расчет среднего значения» автор tamaks. Первоначально передо мной стояла похожая задача – добавить при выводе списка дополнительную строку итогов, в которой будет выводиться итог по полю, не отображаемом в отчете,  что и было сделано, благодаря вышеупомянутой статье. Но спустя некоторое время пользования отчетом бухгалтерия сказала: «Пусть будет все то же самое, но с разбивкой по периодам», т.е вывод данных уже шел не списком, а таблицей. Первоначальный отчет: Нужно получить вот такой:...

Далее

Полезные примеры: посчитать разницу с предыдущей записью

Ваш отзывFavoriteLoadingВ закладки

Пример того как можно получить поля предыдущей записи в группировке и не только. Удобно для вычисления разницы значений предыдущей цены и текущей.

Автор данного вопроса хотел посчитать отклонение текущей цены от предыдущей. Мое решение выглядит так:

Суть решения заключается в использовании функции языка выражений СКД ВычислитьВыражение() в добавленном вычисляемом поле, которое я назвал Дельта. У функции следующие параметры:

Параметры:

  • Выражение. Тип Строка;
  • Группировка. Тип Строка;
  • ТипРасчета. Тип Строка;
  • Начало. Строка, содержащая одно из вариантов;
  • Конец. Строка, содержащая одно из вариантов;
  • Сортировка. Строка;
  • ИерархическаяСортировка;
  • ОбработкаОдинаковыхЗначенийПорядка

Нас интересует 4 и 5 параметр (Начало и Конец). Выражение будет выглядеть следующим образом:

Пример того как можно получить поля предыдущей записи в группировке и не только. Удобно для вычисления разницы значений предыдущей цены и текущей. Автор данного вопроса хотел посчитать отклонение текущей цены от предыдущей. Мое решение выглядит так: Суть решения заключается в использовании функции языка выражений СКД ВычислитьВыражение() в добавленном вычисляемом поле, которое я назвал Дельта. У функции следующие параметры: Параметры: Выражение. Тип Строка; Группировка. Тип Строка; ТипРасчета. Тип Строка; Начало. Строка, содержащая одно из вариантов; Конец. Строка, содержащая одно из вариантов; Сортировка. Строка; ИерархическаяСортировка; ОбработкаОдинаковыхЗначенийПорядка Нас интересует 4 и 5 параметр (Начало и Конец). Выражение будет выглядеть следующим образом:...

Далее

Как получить корректную сумму ресурса у задвоенных записей. Использование новых агрегатных функций. Доступно, по-моему с 14 релиза 8.2.

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

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

Предположим клиент хочет видеть в отчете табличную часть документа и отдельной колонкой сумму всего документа. Тут проблемы нету: соединяем две таблицы и вперед. Проблема возникает когда надо получить итоги в отчете. Стандартная функция СУММА – будет возвращать сумму всех записей по колонке, соответственно сумма документа будет умножена на количество строк в табличной части. Для того чтобы избежать этого можно воспользоваться новыми агрегатными функциями, их было добавлено достаточно много, но нам понадобится функции ТаблицаЗначений, Массив и Сумма. Итак: ТаблицаЗначений – формирует таблицу значений (сюрприз, сюрприз из колонок которые содержатся в итоговой таблицы после того как отработал процессор компоновки. МАССИВ – формирует массив записей от группировок или берет 1-ую колонку таблицы значений...

Далее

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

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

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

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

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

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

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

Далее
Страница 1 из 212

Авторизация

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

Архивы

Закладки

  • Your favorites will be here.