Посты с тэгами "Ресурсы"

Полезные примеры: остатки в разрезе характеристик

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

Вот тут поднималась тема http://1cskd.ru/2013/05/podskazhite-novichku-v-skd/, где автору необходимо было в одной из колонок разместить перечень характеристик(размеры обуви) с их количеством

Это достигается использованием все той же функции ВычислитьВыражениеСГруппировкойМассив()

В этом примере функция выглядит так:

ВычислитьВыражениеСГруппировкойМассив( “ХарактеристикаНоменклатуры.Наименование +
“”(“” + Формат(КоличествоОстаток,””ЧГ=0″”) + “”)”””,
,
“ЗначениеЗаполнено(ХарактеристикаНоменклатуры)”)

Третий параметр – это отбор, позволяет избежать представления пустой строки “” – соответственно вы не увидите остатков без характеристик.

Скачать пример

Вот тут поднималась тема http://1cskd.ru/2013/05/podskazhite-novichku-v-skd/, где автору необходимо было в одной из колонок разместить перечень характеристик(размеры обуви) с их количеством Это достигается использованием все той же функции ВычислитьВыражениеСГруппировкойМассив() В этом примере функция выглядит так: ВычислитьВыражениеСГруппировкойМассив( “ХарактеристикаНоменклатуры.Наименование + “”(“” + Формат(КоличествоОстаток,””ЧГ=0″”) + “”)”””, , “ЗначениеЗаполнено(ХарактеристикаНоменклатуры)”) Третий параметр – это отбор, позволяет избежать представления пустой строки “” – соответственно вы не увидите остатков без характеристик. Скачать пример Перейти к...

Далее

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

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

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

Для этого необходимо воспользоваться функцией: ВычислитьВыражениеСГруппировкойТаблицаЗначений(), у которой есть параметры:

  • Выражение – выражение, которое нужно вычислить. Тип Строка. В строке может быть перечислено несколько выражений через запятую. После каждого выражения может быть необязательное ключевое слово КАК и имя колонки таблицы значений. Например: “Контрагент, Сумма(СуммаОборот) Как ОбъемПродаж”.
  • ВыраженияПолейГруппировки – выражения полей группировки, перечисленные через запятую. Например, “Контрагент, Партия”;
  • ОтборЗаписей – выражение, применяемое к детальным записям. Например, “ПометкаУдаления = Ложь”;
  • ОтборГруппировок – отбор, применяемый к групповым записям. Например: “Сумма(СуммаОборот) > &Параметр1”.
Иногда бывает необходимо поместить табличную часть документа или данные, которые представляют собой строки табличной части в одну ячейку табличного документа, например так: Для этого необходимо воспользоваться функцией: ВычислитьВыражениеСГруппировкойТаблицаЗначений(), у которой есть параметры: Выражение – выражение, которое нужно вычислить. Тип Строка. В строке может быть перечислено несколько выражений через запятую. После каждого выражения может быть необязательное ключевое слово КАК и имя колонки таблицы значений. Например: “Контрагент, Сумма(СуммаОборот) Как ОбъемПродаж”. ВыраженияПолейГруппировки – выражения полей группировки, перечисленные через запятую. Например, “Контрагент, Партия”; ОтборЗаписей – выражение, применяемое к детальным записям. Например, “ПометкаУдаления = Ложь”; ОтборГруппировок – отбор, применяемый к групповым записям. Например: “Сумма(СуммаОборот) > &Параметр1”....

Далее

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

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

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

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

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

Параметры:

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

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

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

Далее

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

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

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

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

Далее

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

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

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

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

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

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

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

Далее
Страница 2 из 3123

Авторизация

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

Архивы

Закладки

  • Your favorites will be here.