Повышение производительности решений электронной отчетности за счет добавления параметризованных источников данных ВЫЧИСЛЯЕМЫЕ ПОЛЯ
В этой статье объясняется, как можно получить трассировку производительности выполняемых форматов электронной отчетности (ER), а затем использовать сведения из этих трассировок для повышения производительности путем настройки параметризированного источника данных Вычисляемое поле.
В процессе разработки конфигураций электронной отчетности для создания бизнес-документов определяется метод, используемый для извлечения данных из приложения и ввода их в создаваемые выходные данные. При разработке параметризированного источника данных электронной отчетности типа Вычисляемое поле можно сократить число вызовов базы данных и значительно сократить время и затраты, связанные со сбором сведений о выполнении формата электронной отчетности.
Необходимые условия
Чтобы выполнить примеры в этой статье, необходимо иметь доступ к одной из следующих ролей:
- Разработчик электронной отчетности
- Консультант по функциональным возможностям электронной отчетности
- Системный администратор
Компания должна иметь значение DEMF.
Выполните шаги в Приложении 1 этой статьи, чтобы загрузить компоненты примера решения от Майкрософт для электронной отчетности, который необходим для выполнения примеров из этой статьи.
Выполните шаги, изложенные в Приложении 2 данной статьи, для настройки минимального набора параметров электронной отчетности, необходимого для использования структуры электронной отчетности, чтобы повысить производительность примера решения от Майкрософт для электронной отчетности.
Импорт примера решения электронной отчетности
Представьте, что вы должны разработать решение электронной отчетности для создания нового отчета, отображающего проводки по поставщику. В настоящее время на странице Проводки по поставщику можно найти проводки для выбранного поставщика (перейдите по пути Расчеты с поставщиками>Поставщики>Все поставщики, выберите поставщика, затем на панели операций на вкладке Поставщик в группе Проводки выберите Проводки). Однако необходимо иметь вместе все проводки по поставщику в одном электронном документе в формате XML. Это решение будет состоять из нескольких конфигураций ER, которые содержат требуемую модель данных, сопоставление моделей и компоненты формата.
Первым шагом является импорт образца решения электронной отчетности для создания отчета о проводках по поставщику.
Выполните вход в экземпляр Microsoft Dynamics 365 Finance, который был подготовлен для вашей компании.
В этой статье вам предстоит создать и изменить конфигурации для демонстрационной компании Litware, Inc. Убедитесь, что данный поставщик конфигурации был добавлен в ваш экземпляр Finance и отмечен как активный. Дополнительные сведения см. в Создание поставщиков конфигураций и пометка их как активных.
В рабочей области Электронная отчетность выберите плитку Конфигурации отчетности.
На странице Конфигурации импортируйте конфигурации электронной отчетности, загруженные в качестве необходимого компонента в Finance, в следующем порядке: модель данных, сопоставление моделей, формат. Для каждой конфигурации выполните следующие действия.
- На панели действий выберите пункт Обмен>Загрузить из XML-файла.
- Выберите Обзор и выберите соответствующий файл для конфигурации электронной отчетности в формате XML.
- Нажмите ОК.
Проверка примера решения электронной отчетности
Просмотр сопоставления моделей
На странице Конфигурации в дереве конфигураций разверните Модель улучшения производительности и выберите Сопоставление улучшения производительности.
В области действий выберите Конструктор.
На странице Сопоставление модели и источника данных в области действий выберите Конструктор.
Это сопоставление модели электронной отчетности предназначено для выполнения следующих действий:
- Получите список проводок по поставщику, которые хранятся в таблице VendTrans (источник данных Trans).
- Для каждой проводки выберите из таблицы VendTable запись поставщика, для которой была разнесена проводка (источник данных #Vend).
Примечание
Источник данных #Vend настроен для получения соответствующей записи поставщика с помощью существующего отношения "многие к одному" @.'>Relations'.VendTable_AccountNum.
Сопоставление модели в этой конфигурации реализует базовую модель данных для любого из форматов электронной отчетности, созданных для этой модели и выполняемых в Finance. Таким образом, содержимое источника данных Trans предоставляется для форматов электронной отчетности, таких как абстрактные источники данных модели.
Закройте страницу Конструктор сопоставления модели.
Закройте страницу Сопоставление модели и источника данных.
Предварительный просмотр формата
На странице Конфигурации в дереве конфигураций разверните Модель улучшения производительности и выберите Формат улучшения производительности.
В области действий выберите Конструктор.
На странице Конструктор формата на вкладке Сопоставление выберите Свернуть/Развернуть.
Разверните элементы Модель, Данные и Проводка.
Этот формат электронной отчетности предназначен для создания отчета о проводках по поставщику в формате XML.
Закройте страницу Конструктор форматов.
Запуск примера решения электронной отчетности для трассировки выполнения
Представьте, что вы завершили разработку первой версии решения электронной отчетности. Теперь необходимо проверить решение в вашем экземпляре Finance и проанализировать производительность выполнения.
Включение трассировки производительности электронной отчетности
Выберите компанию DEMF.
Следуйте указаниям в разделе Включение трассировки производительности электронной отчетности, чтобы создать трассировку производительности при выполнении формата электронной отчетности.
Выполнение формата электронной отчетности
- Перейдите в раздел Администрирование организации>Электронная отчетность>Конфигурации.
- На странице Конфигурации в дереве конфигураций выберите пункт Формат улучшения производительности.
- В области действий выберите Выполнить.
Используйте трассировку производительности для анализа производительности сопоставления моделей
- На странице Конфигурации в дереве конфигураций выберите пункт Сопоставление улучшения производительности.
- В области действий выберите Конструктор.
- На странице Сопоставления модели в области действий выберите Конструктор.
- На странице Конструктор сопоставления модели в области действий выберите Трассировка производительности.
- Выберите последнюю созданную трассировку, затем выберите ОК.
Новые сведения теперь доступны для некоторых элементов источника данных в текущем сопоставлении модели:
- Фактическое время, потраченное на получение данных с использованием источника данных
- То же время, выраженное в процентах от общего времени, затраченного на выполнение всего сопоставления модели
Сетка Статистика производительности показывает, что источник данных Trans обращается к таблице VendTrans один раз. Значение [265][Q:265] источника данных Trans указывает на то, что проводки по поставщику 265 были извлечены из таблицы приложения и возвращены в модель данных.
Сетка Статистика производительности также показывает, что сопоставление текущей модели дублирует запросы базы данных во время выполнения источника данных #Vend. Это дублирование происходит по следующим причинам:
Таблица поставщика вызывается два раза для каждой из 265 прошедших итерацию проводок по поставщику, что дает общее количество вызовов 530:
- Один вызов выполняется для ввода номера счета поставщика.
- Один вызов выполняется для ввода имени поставщика.
Таблица поставщиков вызывается для каждой итерации проводки по поставщику, даже если выбранные проводки были разнесены только для пяти поставщиков. Из 530 вызовов 525 являются дубликатами. На следующем рисунке показано полученное сообщение о повторяющихся вызовах (запросах базы данных).
Общее время выполнения сопоставления модели (приблизительно восемь секунд); обратите внимание на то, что более 80 процентов (примерно шесть секунд) было потрачено на получение значений из таблицы приложений VendTable. Этот процент слишком велик для двух атрибутов пяти поставщиков, в сравнении с объемом информации из таблицы приложения VendTrans.
Для уменьшения числа вызовов, выполняемых для получения сведений о поставщике для каждой проводки, и для повышения производительности сопоставления моделей можно использовать кэширование для источника данных #Vend.
Примечание
Источник данных Trans\#Vend будет кэширован в области текущей проводки источника данных Trans во время выполнения.
При кэшировании источника данных #Vend уменьшается число дубликатов вызовов с 525 до 260, но дублирование не устраняется полностью. Для полного устранения дублирования можно настроить новый параметризованный источник данных типа Вычисляемое поле.
Улучшите сопоставление модели на основе информации из трассировки выполнения
Изменение логики сопоставления модели
Выполните следующие действия, чтобы использовать кэширование и источник данных типа Вычисляемое поле, чтобы предотвратить дублирование вызовов к базе данных.
На странице Конфигурации в дереве конфигураций выберите пункт Сопоставление улучшения производительности.
В области действий выберите Конструктор.
На странице Сопоставления модели в области действий выберите Конструктор.
На странице Конструктор сопоставления моделей выполните следующие шаги, чтобы добавить источник данных типа Записи таблицы для доступа к записям в таблице приложения VendTable:
- В области Типы источников данных разверните Dynamics 365 for Operations и выберите Записи таблицы.
- Выберите Добавить корень.
- В диалоговом окне в поле Имя введите Vend.
- В поле Таблица введите VendTable.
- Нажмите ОК.
Можно параметризировать вызовы к источникам данных типа Вычисляемое поле только в том случае, если эти источники данных находятся в контейнере. Таким образом, необходимо выполнить следующие действия, чтобы добавить источник данных типа Пустой контейнер для хранения нового параметризованного источника данных типа Вычисляемое поле:
- В области Типы источников данных разверните Общие и выберите Пустой контейнер.
- Выберите Добавить корень.
- В диалоговом окне в поле Имя введите Box.
- Нажмите ОК.
Выполните следующие действия, чтобы добавить параметризованный источник данных типа Вычисляемое поле:
- В области Источники данных выберите Box.
- В области Типы источников данных раскройте Функции и выберите элемент Вычисляемое поле.
- Выберите Добавить.
- В диалоговом окне в поле Имя введите Vend.
- Выберите Изменить формулу.
- На странице Конструктор формул выберите Параметры, чтобы указать параметры, которые должны быть предоставлены при вызове этого источника данных.
- В диалоговом окне Параметры выберите Создать.
- В поле Имя введите parmVendAccNumber.
- В поле Тип выберите String.
- Нажмите ОК.
- В поле Формула введите FIRSTORNULL(FILTER(Vend, Vend.AccountNum=parmVendAccNumber)).
- Выберите Сохранить, затем закройте страницу Конструктор формул.
- Нажмите ОК, чтобы добавить новый источник данных.
Чтобы пометить добавленный источник данных как кэшируемый во время выполнения, необходимо выполнить следующие действия:
- В области Источники данных выберите Box\Vend.
- Выберите Кэш.
Примечание
Источник данных Box\Vend будет кэширован в области всех проводок по поставщикам источника данных Trans во время выполнения.
Выполните следующие шаги для обновления вложенного источника данных Trans\#Vend, чтобы в нем использовался источник данных Box\Vend:
- В области Источники данных разверните Trans.
- Выберите источник данных Trans\#Vend, затем выберите Правка>Изменить формулу.
- На странице Конструктор формул в поле Формула введите Box.Vend(@.AccountNum).
- Выберите Сохранить, затем закройте страницу Конструктор формул.
- Выберите ОК, чтобы завершить изменения в выбранном источнике данных.
Нажмите Сохранить.
Закройте страницу Конструктор сопоставления модели.
Закройте страницу Сопоставления модели.
Выполните измененную версию сопоставления модели ER
- На странице Конфигурации на экспресс-вкладке Версии выберите версию 1.2 конфигурации Сопоставление улучшения производительности.
- Выберите Изменить статус>Завершено, затем выберите ОК.
Запуск измененного решения электронной отчетности для трассировки выполнения
Повторите шаги из раздела Выполнение формата электронной отчетности выше в этой статье, чтобы создать новую трассировку производительности.
Используйте трассировку производительности для анализа корректировок сопоставления моделей
- На странице Конфигурации в дереве конфигураций выберите пункт Сопоставление улучшения производительности.
- В области действий выберите Конструктор.
- На странице Сопоставления модели в области действий выберите Конструктор.
- На странице Конструктор сопоставления модели в области действий выберите Трассировка производительности.
- Выберите последнюю созданную трассировку, затем выберите ОК.
Обратите внимание, что изменения, внесенные в сопоставление модели, исключают повторяющиеся запросы к базе данных. Также уменьшилось число обращений к таблицам базы данных и источникам данных для данного сопоставления модели.
Общее время выполнения сократилось примерно в 20 раз (с примерно 8 секунд до 400 миллисекунд). Поэтому производительность всего решения электронной отчетности улучшилась.
Приложение 1. Загрузка компонентов образца решения электронной отчетности Microsoft
Необходимо загрузить следующие файлы и сохранить их локально.
Хранилище файлов | Содержимое |
---|---|
Модель улучшения производительности.версия.1 | Пример конфигурации модели данных электронной отчетности |
Сопоставление улучшения производительности.версия.1.1 | Пример конфигурации сопоставления модели электронной отчетности |
Формат улучшения производительности.версия.1.1 | Пример конфигурации формата электронной отчетности |
Приложение 2. Настройка платформы электронной отчетности
Прежде чем можно будет начать пользоваться платформой электронной отчетности с целью повышения производительности образца решения электронной отчетности Microsoft, необходимо настроить минимальный набор параметров электронной отчетности.
Настройка параметров ER
Перейдите в раздел Управление организацией>Рабочие области>Электронная отчетность.
На странице Конфигурации локализации в разделе Связанные ссылки выберите Параметры электронной отчетности.
На странице Параметры электронной отчетности на вкладке Общие сведения задайте для параметра Включить режим конструктора значение Да.
На вкладке Вложения установите следующие параметры.
- В поле Конфигурации выберите тип Файл для компании DEMF.
- В полях Архив заданий, Временная, Базовый и Другие выберите тип Файл.
Дополнительные сведения о настройке параметров электронной отчетности см. в разделе Настройка платформы электронной отчетности.
Активация поставщика конфигураций электронной отчетности
Каждая добавленная конфигурация электронной отчетности помечается как принадлежащая поставщику конфигурации электронной отчетности. Для этой цели используется поставщик конфигурации электронной отчетности, который активирован в рабочей области Электронная отчетность. Поэтому перед началом добавления или изменения конфигураций электронной отчетности необходимо активировать поставщика конфигурации электронной отчетности в рабочей области Электронная отчетность.
Примечание
Только владелец конфигурации электронной отчетности может редактировать конфигурацию. Поэтому перед редактированием конфигурации электронной отчетности необходимо активировать соответствующего поставщика конфигурации электронной отчетности в рабочей области Электронная отчетность.
Просмотр списка поставщиков конфигурации электронной отчетности
- Перейдите в раздел Управление организацией>Рабочие области>Электронная отчетность.
- На странице Конфигурации локализации в разделе Связанные ссылки выберите Поставщики конфигураций.
- На странице Таблица поставщиков конфигураций каждая запись поставщика имеет уникальное имя и URL-адрес. Проверьте содержимое данной страницы. Если запись для Litware, Inc. уже существует, пропустите следующую процедуру, Добавление нового поставщика конфигурации электронной отчетности.
Добавление нового поставщика конфигурации электронной отчетности
- Перейдите в раздел Управление организацией>Рабочие области>Электронная отчетность.
- На странице Конфигурации локализации в разделе Связанные ссылки выберите Поставщики конфигураций.
- На странице Поставщики конфигураций выберите Создать.
- В поле Имя введите Litware, Inc.
- В поле Интернет-адрес введите
https://www.litware.com
. - Нажмите Сохранить.
Активация поставщика конфигураций электронной отчетности
- Перейдите в раздел Управление организацией>Рабочие области>Электронная отчетность.
- На странице Конфигурации локализации в разделе Поставщики конфигураций выберите плитку Litware, Inc., затем выберите Установить активные.
Дополнительные сведения о поставщиках конфигурации электронной отчетности см. в разделе Создание поставщиков конфигураций и пометка их как активных.