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

Конструктор выражений для СКД

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

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

Прилагается деморолик (просто запустить exe-файл).

При разработке отчетов с применением Системы компоновки данных (СКД) требуется составлять выражения на языке СКД, которые применяются для описания вычисляемых полей, ресурсов, условий связи, параметров макета и т.п. Эти выражения часто бывают довольно сложными, например, такими:

Конструктор выражений для СКД предназначен для построения сложных выражений в СКД при помощи мыши – перетаскиванием элементов выражения из готовых списков (доступные поля, параметры) в текстовое поле, что позволяет сократить время и избежать ошибок ручного набора. Сформированное выражение копируется в буфер обмена и затем вставляется в нужное место СКД. Прилагается деморолик (просто запустить exe-файл). При разработке отчетов с применением Системы компоновки данных (СКД) требуется составлять выражения на языке СКД, которые применяются для описания вычисляемых полей, ресурсов, условий связи, параметров макета и т.п. Эти выражения часто бывают довольно сложными, например, такими:...

Далее

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

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

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

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

Далее

Использование функций из модулей менеджера

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

Не понятно с какого момента, но теперь в СКД можно обращаться не только к функциям общих модулей, но и к экспортным функциям модулей менеджера. Т.е. пишем в модуле менеджера любого объекта экспортную функцию, а затем в СКД обращаемся к ней стандартно, например Справочники.Картинки.Тест().

Плюс работают и стандартные функции, вроде Справочники.Картинки.НайтиПоКоду().

Плюс работают методы глобального контекста, например РольДоступна.

Возможно все и так об этом знают, но на всякий случай решил написать. Лично я с вызовом экспортных функций модулей менеджеров как-то не сталкивался, и удивился что это работает. а последние 2 фишки уже давно использую.

 

Не понятно с какого момента, но теперь в СКД можно обращаться не только к функциям общих модулей, но и к экспортным функциям модулей менеджера. Т.е. пишем в модуле менеджера любого объекта экспортную функцию, а затем в СКД обращаемся к ней стандартно, например Справочники.Картинки.Тест(). Плюс работают и стандартные функции, вроде Справочники.Картинки.НайтиПоКоду(). Плюс работают методы глобального контекста, например РольДоступна. Возможно все и так об этом знают, но на всякий случай решил написать. Лично я с вызовом экспортных функций модулей менеджеров как-то не сталкивался, и удивился что это работает. а последние 2 фишки уже давно использую.   Перейти к...

Далее

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

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

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

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

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

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

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

Далее

Автоматическое преобразование схемы СКД в программный код

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

Как хорошо известно – схему компоновки данных(схема СКД) можно создавать не только
заполнением параметров в конструкторе, но и программно.
Кто-то хочет добавить свои группировки, кто-то “улучшить” интерфейс, кто то – создать Отчет,
сильно динамически зависящей от внешних(для СКД) параметров.
Примеров кода очень много, в том числе и на этом сайте.
Но всякий, кто брался за это дело – быстро убеждался в большой трудоемкости этого процесса.
СКД использует около 100 специальных типов и свыше 1000 различных свойств, до 30 уровней вложенности, и это
не считая свойств системных перечислений и собственно объектов конфигурации.
Дело усложняется тем, что многие параметры взаимосвязаны и не подлежат прямому изменению.

Как хорошо известно – схему компоновки данных(схема СКД) можно создавать не только заполнением параметров в конструкторе, но и программно. Кто-то хочет добавить свои группировки, кто-то “улучшить” интерфейс, кто то – создать Отчет, сильно динамически зависящей от внешних(для СКД) параметров. Примеров кода очень много, в том числе и на этом сайте. Но всякий, кто брался за это дело – быстро убеждался в большой трудоемкости этого процесса. СКД использует около 100 специальных типов и свыше 1000 различных свойств, до 30 уровней вложенности, и это не считая свойств системных перечислений и собственно объектов конфигурации. Дело усложняется тем, что многие параметры взаимосвязаны и не подлежат прямому изменению....

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

Авторизация

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

Архивы

Закладки

  • Your favorites will be here.