Top.Mail.Ru

Инструменты разработчика среды MorphX (часть 2)

Данная статья является прямым продолжением Инструменты разработчика среды MorphX (часть 1) и посвящена инструментарию разработчика в среде MorphX Microsoft Dynamics AX 2012.

Обратная разработка

Инструмент обратной разработки может генерировать модель данных UML, модель объектов UML или модель данных отношений сущностей, включая все элементы из частного или общего проекта. Чтобы открыть инструмент, в окне «Проекты» нужно нажать правой кнопкой мыши Проект или Ракурс и выберите «Надстройки» > «Обратная разработка». Этот инструмент также доступен из меню Сервис.

Инструменты разработчика среды MorphX

При нажатии на кнопку ОК, инструмент использует метаданные для всех элементов проекта, чтобы сгенерировать документ Visio, который открывается автоматически. Сгенерированные элементы можно перетаскивать из Visio Model Explorer на поверхность для рисования, которая изначально пуста. Любые отношения между двумя элементами отображаются автоматически.

Тип модели Описание
UML data model При создании модели данных UML инструмент обратной разработки ищет таблицы в проекте. Модель данных UML содержит класс для каждой таблицы и представления в проекте, а также атрибуты и связи класса.

Модель данных UML также содержит ссылочные таблицы и все расширенные типы данных, базовые перечисления и типы данных X++.

Поля в AX 2012 генерируются как атрибуты UML. Все атрибуты помечаются как public в соответствии с принципом доступа к полям таблиц в AX 2012. Если поле является частью одного или нескольких индексов, к имени поля добавляется префикс с именами индексов; если индекс уникален, имя индекса указывается в фигурных скобках.

UML object model При создании объектной модели инструмент обратной разработки ищет классы, таблицы и интерфейсы Microsoft Dynamics AX в проекте. Модель UML содержит класс для каждой таблицы и класса Microsoft Dynamics AX в проекте и интерфейс для каждого интерфейса Microsoft Dynamics AX в проекте. Модель UML также содержит атрибуты и операции, включая возвращаемые типы, параметры и типы параметров.

Объектная модель UML также содержит ссылочные классы, таблицы и все расширенные типы данных, базовые перечисления и типы данных X++.

Поля и свойства классов в AX 2012 генерируются как атрибуты UML. Все поля генерируются как public-атрибуты, а свойства классов генерируются как protected-атрибуты. Каждый атрибут также показывает тип. Методы генерируются как операции UML, включая возвращаемые типы, параметры и типы параметров.

Инструмент обратной разработки также собирает информацию об обобщениях (классы, которые наследуются от других классов), реализациях (классы, которые реализуют определенные интерфейсы) и ассоциациях (классы, которые используют друг друга). Ассоциации ограничиваются ссылками в свойствах класса.

ER data model При создании модели данных отношения сущностей инструмент обратной разработки ищет таблицы и представления в проекте. Модель отношения сущностей содержит тип сущности для каждой таблицы AOT в проекте и атрибуты для полей в каждой таблице.

Поля в AX 2012 создаются как столбцы схемы отношений и сущностей. Столбцы могут выступать в роли внешнего ключа (FK), альтернативного ключа (AK), инверсионного входа (IE) и необязательного атрибута (O). Столбец внешнего ключа используется для идентификации записи в другой таблице, альтернативный ключ однозначно идентифицирует запись в текущей таблице, инверсионный вход идентифицирует ноль или более записей текущей таблицы (обычно по полям неуникальных индексов), а необязательные атрибуты не требуют обязательного ввода значения.

Отношения в AX 2012 генерируются как отношения сущностей. Свойство EntityRelationshipRole отношения используется как описание роли внешнего ключа в схеме сущностей и отношений.

Обозреватель таблиц

Инструмент «Обозреватель таблиц» — это небольшой полезный инструмент, который можно использовать в различных сценариях. С помощью него можно просматривать записи в таблице, не создавая пользовательский интерфейс. Этот инструмент полезен при отладке, проверке модели данных и модификации или очистке данных.

Чтобы получить доступ к инструменту «Обозреватель таблиц», нужно нажать правой кнопкой мыши любой из следующих типов элементов в AOT, а затем выбрать «Надстройки» > «Обозреватель таблиц»:

  • Таблицы
  • Таблицы, используемые в качестве источников данных в формах, отчетах и источниках данных
  • Системные таблицы, перечисленые в AOT в узле System Documentation\Tables

В дополнение к возможностям выборки, сортировки и фильтрации, предостовляемые элементом управления grid, Обозреватель таблиц позволяет вводить операторы SQL непосредственно в форму, используя синтаксис языка X++, а также просматривать результаты этого запроса. Он полностью поддерживает группировку, сортировку, агрегацию данных и списки полей.

Инструмент «Обозреватель таблиц» — это просто стандартная форма, использующая IntelliMorph. Он не может отображать поля, для которых для свойства visible установлено значение Нет, или поля, к которым у текущего пользователя нет доступа.

Поиск

Инструмент поиска может быть вызван из любого узла в AOT, нажав «Ctrl+F» или нажав «Найти» в контекстном меню. Инструмент поиска поддерживает множественный выбор в AOT.

Вкладка «Наименование и местоположение» определяет то, что ищется, и то, где производится поиск:

  • В списке поиска доступны варианты «Методы» и «Все узлы». Если выбрать Все узлы, появится вкладка Свойства.
  • Поле По имени ограничивает поиск узлами с указанным именем.
  • В поле «Содержащийся текст» вводиться текст для поиска, с поддержкой регулярных выражений.
  • При выборе флажка «Показать код источника» будет включен фрагмент исходного кода, содержащий совпадение, чтобы упростить просмотр результатов.

По умолчанию инструмент поиска выполняет поиск узла (и его подузлов), выбранного в AOT. Если изменить фокус в AOT, когда инструмент поиска открыт, значение «Поиск в» будет обновлено.

На вкладке «Дата» указываются дополнительные диапазоны для поиска, такие как Дата и Автор модификации.

На вкладке «Дополнительно» можно указать дополнительные параметры поиска, такие как слой для поиска, диапазон размеров элементов, тип элемента и уровень, на котором настроен элемент.

На вкладке Фильтр, можно написать более сложный запрос, используя X++ и библиотеки типов. Код в текстовом поле «Исходный код» — это тело метода со следующим определением:

boolean FilterMethod(str _treeNodeName,
                     str _treeNodeSource,
                     XRefPath _path,
                     ClassRunMode _runMode)

Двойное нажатие на любой строке в наборе результатов открывает редактор кода X++ и фокусируется на соответствующей строке кода. Если нажать правой кнопкой мыши строки в наборе результатов, откроется контекстное меню, содержащее меню надстроек.

Сравнение

Обычно существует несколько версий одного и того же элемента. Эти версии могут исходить из различных слоев или версий в управлении версиями, или они могут быть модифицированными версиями, существующими в памяти. AX 2012 имеет встроенный инструмент сравнения, который выделяет любые различия между двумя версиями элемента.

Сравнение показывает изменения элементов, которые можно провести тремя способами:

  • Изменение свойств метаданных
  • Изменение кода X++
  • Изменение порядка подузлов (например, порядок вкладок на форме)

Чтобы открыть инструмент «Сравнить», необходимо нажать на элемент правой кнопкой мыши и выбрать «Сравнить». Откроется диалоговое окно, где можно выбрать версии элемента, который нужно сравнить.

В следующем списке описаны параметры сравнения:

  • Показывать только различия. Все одинаковые узлы исключаются из представления, что упрощает поиск измененных узлов. Эта опция выбрана по умолчанию.
  • Пропускать пробелы. Символы-разделители, такие как пробелы и табуляции, при сравнении преобразуются в одиночный пробел. Инструмент сравнения может игнорировать количество пробелов, как это делает компилятор.
  • С учетом регистра. Поскольку X++ не чувствителен к регистру, инструмент Сравнить по умолчанию также не учитывает регистр.
  • Показать номера строк. Инструмент сравнения может добавлять номера строк ко всему отображаемому коду X++.

Перекрестные ссылки

Концепция перекрестных ссылок в AX 2012 проста. Если элемент использует другой элемент, ссылка записывается. С помощью перекрестных ссылок можно определить, какие элементы использует конкретный элемент.

Чтобы обновить инструмент «Перекрестные ссылки», в меню «Сервис» необходимо выбрать «Перекрестные ссылки» > «Периодические операции» > «Обновить». Обновление инструмента перекрестных ссылок также компилирует весь AOT, поскольку сведения о перекрестных ссылках извлекаются компилятором.

В дополнение к основной информации о перекрестных ссылках существуют две более мелкие подсистемы перекрестных ссылок:

  • Модель данных. Хранит информацию о связях между таблицами. Он в основном используется формой запроса и инструментом обратного проектирования.
  • Иерархия типов. Хранит информацию о классе и наследовании типов данных.

Контроль версий

Контроль версий – это инструмент MorphX, который позволяет использовать систему контроля версий, такую как Microsoft Visual SourceSafe (VSS) или Microsoft Visual Studio Team Foundation Server (TFS), для отслеживания и просмотра истории изменений прикладных элементов в AOT.

Инструмент доступен из нескольких мест:

  • Управление версиями в рабочей области разработчика
  • Панель инструментов управления AOT и на редакторе кода Х++
  • Контекстное меню прикладных элементов в AOT

Использование механизма контроля версий в Dynamics AX:

  • История изменений всех элементов. Все изменения фиксируются вместе с описанием изменений, что позволяет просматривать историю изменений и извлекать старые версии элемента.
  • Обеспечение качества кода. Внедрение контроля версий в AX 2012 обеспечивает полностью настраиваемый стандарт качества для всех проверок. С установленным порогом качества все изменения проверяются на соответствие рекомендациям Best Practice. Если изменение не соответствует критериям, оно отклоняется.
  • Отдельная разработка. Каждый разработчик может иметь локальную установленную среду разработки и вносить все изменения локально. Когда модификации готовы, они могут быть возвращены в систему для использования другими разработчиками этой сборки. Разработчик может переписать фундаментальные области системы, не вызывая проблем нестабильности для других. На разработчиков также не влияет какое-либо время простоя централизованного сервера разработки.


Более подробно о системах контроля версий можно прочитать в статье Использование механизма контроля версий в Dynamics AX.

Примечания

  1. MorphX Development Tools

Литература

  • The Microsoft Dynamics AX Team Inside Microsoft Dynamics AX 2012 R3. — Microsoft Press, 2014 — 820 с. — ISBN 978-0-73568-510-9.

См. также

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar