Разработка выражений электронной отчетности для вызова методов классов приложений
В этой статье описывается, как повторно использовать существующую логику приложения в конфигурациях электронной отчетности (ER) путем вызова необходимых методов классов приложения в выражениях ER. Значения аргументов для вызывающих классов могут быть динамически определены во время выполнения. Например, значения могут быть основаны на данных в анализируемом документе для обеспечения их правильности.
Для примера в этой статье мы разработаем процесс, который анализирует входящие банковские выписки для обновления данных приложения. Входящие банковские выписки будут приходить в виде текстовых файлов (. txt), содержащих коды международного номера банковского счета (IBAN). В рамках процесса импорта банковских выписок необходимо проверить правильность кода IBAN с помощью логики, которая уже доступна.
Необходимые условия
Процедуры в этой статье предназначены для пользователей, которым назначена роль Системный администратор или Разработчик электронной отчетности.
Процедуры можно выполнить с использованием любого набора данных.
Чтобы выполнить их, необходимо загрузить и сохранить следующий файл: SampleIncomingMessage.txt.
В этой статье вам предстоит создать необходимые конфигурации ER для демонстрационной компании Litware, Inc. Поэтому перед выполнением процедур данной статьи необходимо выполнить следующие шаги.
- Перейдите в раздел Управление организацией>Рабочие области>Электронная отчетность.
- На странице Конфигурации локализации убедитесь, что поставщик конфигурации для демонстрационной компании Litware, Inc. доступен и помечен как активный. Если вы не видите этого поставщика конфигурации, необходимо сначала выполнить шаги в процедуре Создание поставщиков конфигурации и пометка их как активных.
Импорт новой конфигурации модели ER
На странице Конфигурации локализации в разделе Поставщики конфигурации выберите плитку для поставщика конфигурации Microsoft.
Выберите Репозитории.
На странице Репозитории локализации выберите Показать фильтры.
Чтобы выбрать запись глобального репозитория, добавьте поле фильтра Имя.
В поле Имя введите Глобальный. Затем выберите оператор фильтра содержит.
Выберите Применить.
Выберите Открыть для просмотра списка конфигураций электронной отчетности в выбранном репозитории.
На странице Репозиторий конфигураций в дереве конфигураций выберите Модель платежа.
Если на экспресс-вкладке Версии доступна кнопка Импорт, выберите ее, затем выберите Да.
Если кнопка Импорт недоступна, вы уже импортировали версию выбранную версию конфигурации электронной отчетности Модель платежа.
Закройте страницу Репозиторий конфигураций, затем закройте страницу Репозитории локализации.
Добавление новой конфигурации формата электронной отчетности
Добавьте новый формат ER для анализа входящих банковских выписок в формате TXT.
На странице Конфигурации локализации выберите плитку Конфигурации отчетности.
На странице Конфигурации в дереве конфигураций на левой панели выберите Модель платежа.
Выберите Создать конфигурацию.
В раскрывающемся диалоговом окне выполните следующие действия:
- В поле Создать введите Формат, основанный на модели данных PaymentModel.
- В поле Имя введите Формат импорта банковской выписки (образец).
- В поле Поддерживает импорт данных выберите Да.
- Выберите Создать конфигурацию, чтобы завершить создание конфигурации.
Разработка конфигурации формата ER — формат
Разработайте формат электронной отчетности, который представляет ожидаемую структуру внешнего файла в формате TXT.
Для добавленной конфигурации формата Формат импорта банковской выписок (образец) выберите Конструктор.
На странице Конструктор форматов в дереве структуры формата в левой области выберите Добавить корень.
В появившемся диалоговом окне выполните следующие действия:
- В дереве выберите Текст\Последовательность, чтобы добавить компонент формата Последовательность.
- В поле Имя введите Корень.
- В поле Специальные знаки выберите Новая строка — Windows (CR LF). На основании этого параметра каждая строка в анализируемом файле будет рассматриваться как отдельная запись.
- Нажмите ОК.
Выберите Добавить.
В появившемся диалоговом окне выполните следующие действия:
- В дереве выберите Текст\Последовательность.
- В поле Имя введите Строки.
- В поле Кратность выберите Один — много. На основании этого параметра ожидается, что по крайней мере одна строка будет представлена в файле анализа.
- Нажмите ОК.
В дереве выберите Корень\Строки, затем выберите Добавить последовательность.
В появившемся диалоговом окне выполните следующие действия:
- В поле Имя введите Поля.
- В поле Кратность выберите Ровно один.
- Нажмите ОК.
В дереве выберите Корень\Строки\Поля, затем выберите Добавить.
В появившемся диалоговом окне выполните следующие действия:
- В дереве выберите Текст\Строка.
- В поле Имя введите IBAN. 3.. Нажмите ОК.
Нажмите Сохранить.
Конфигурация теперь настроена так, что каждая строка в файле анализа содержит только код IBAN.
Разработка конфигурации формата ER — сопоставление с моделью данных
Разработайте сопоставление формата электронной отчетности, использующего информацию из файла анализа для заполнения модели данных.
На странице Конструктор форматов в области действий выберите Сопоставить формат модели.
На странице Сопоставление модели и источника данных в области действий выберите Создать.
В поле Определение выберите BankToCustomerDebitCreditNotificationInitiation.
В поле Имя введите Сопоставление с моделью данных.
Нажмите Сохранить.
Выберите Конструктор.
На странице Конструктор сопоставления модели в дереве Типы источников данных выберите Dynamics 365 for Operations\Класс.
В разделе Источники данных выберите Добавить корень, чтобы добавить источник данных, который будет вызывать существующую логику приложения для проверки кодов IBAN.
В появившемся диалоговом окне выполните следующие действия:
- В поле Имя введите Check_codes.
- В поле Класс введите или выберите ISO7064.
- Нажмите ОК.
В дереве Типы источников данных выполните следующие действия:
- Разверните источник данных формат.
- Разверните формат\Корень: Последовательность(Корень).
- Разверните формат\Корень: Последовательность(корень)\Строки: Последовательность 1..* (Строки).
- Разверните формат\Корень: Последовательность(Корень)\Строки: Последовательность 1..* (Строки)\Поля: Последовательность 1..1 (Поля).
В дереве Модель данных выполните следующие действия:
- Разверните поле Платежи модели данных.
- Разверните Платежи\Счет кредитора(CreditorAccount).
- Разверните Платежи\Счет кредитора(CreditorAccount)\Идентификация.
- Разверните Платежи\Счет кредитора(CreditorAccount)\Идентификация\IBAN.
Выполните следующие действия, чтобы привязать компоненты настроенного формата к полям модели данных:
- Выберите формат\Корень: Последовательность(корень)\Строки: Последовательность 1..* (Строки).
- Выберите Платежи.
- Выберите Связать. На основании этого параметра каждая строка в анализируемом файле будет рассматриваться как один платеж.
- Выберите формат\Корень: Последовательность(корень)\Строки: последовательность 1..* (строки)\Поля: последовательность 1..1 (поля)\IBAN: строка(IBAN).
- Выберите Платежи\Счет кредитора(CreditorAccount)\Идентификация\IBAN.
- Выберите Связать. На основе этого параметра поле IBAN модели данных будет заполнено значением из файла синтаксического анализа.
На вкладке Проверки выполните следующие шаги, чтобы добавить правило проверки, которое отображает сообщение об ошибке для любой строки в файле анализа, которая содержит недопустимый код IBAN:
- Выберите Создать, затем выберите Изменить условие.
- На странице Конструктор формул в дереве Источник данных разверните источник данных Check_codes, который представляет класс приложения ISO7064, чтобы просмотреть доступные методы данного класса.
- Выберите Check_codes\verifyMOD1271_36.
- Выберите Добавить источник данных.
- В поле Формула введите следующее выражение: Check_codes.verifyMOD1271_36(формат.Корень.Строки.Поля.IBAN).
- Выберите Сохранить и закройте страницу.
- Выберите Изменить сообщение.
- На странице Конструктор формул в поле Формула введите CONCATENATE("Обнаружен недопустимый код IBAN:", формат.Корень.Строки.Поля.IBAN).
- Выберите Сохранить и закройте страницу.
На основе этих параметров условие проверки будет возвращать значение FALSE для любого недопустимого кода IBAN путем вызова существующего метода verifyMOD1271_36 класса приложения ISO7064. Обратите внимание, что значение кода IBAN определяется динамически во время выполнения в качестве аргумента вызывающего метода на основе содержимого анализируемого текстового файла.
Нажмите Сохранить.
Закройте страницу Конструктор сопоставления моделей и закройте страницу Сопоставление модели и источника данных.
Выполнение сопоставления формата
В целях тестирования выполните сопоставление формата с помощью ранее загруженного файла SampleIncomingMessage.txt. Созданные выходные данные будут включать данные, импортированные из выбранного текстового файла и перенесенные в модель пользовательских данных при реальном импорте.
На странице Сопоставление модели и источника данных выберите Выполнить.
На странице Параметры электронного отчета выберите Обзор, найдите загруженный файл SampleIncomingMessage.txt и выберите его.
Нажмите ОК.
Обратите внимание на то, что страница Сопоставление модели и источника данных показывает сообщение об ошибке о недопустимом коде IBAN.
Просмотрите выходные данные в формате XML, представляющем данные, которые были импортированы из выбранного файла, а затем перенесены в модель данных. Обратите внимание, что только три строки импортированного текстового файла были обработаны без ошибок. Код IBAN в строке 4 недопустим и был пропущен.