<img src="https://secure.leadforensics.com/133892.png" alt="" style="display:none;">

В этом материале мы распишем все шаги по подготовке к работе с D365FO, как подключиться и создать первую модификацию.

Смена локального администратора в АХ

Чтобы зайти в локальную версию D365FO, вы должны быть заведены в базе как пользователь, D365FO, так же как и предыдущие версии, хранит пользователей в таблице UserInfo. При использовании развертывания в облаке пользователь Admin будет сопоставлен с вашим пользователем автоматически, а при использовании локальной машины нужно запускать специальную утилиту для этого - AdminUserProvisioning. Ярлык для нее обычно расположен на рабочем столе, сама утилита располагается в папке: C:\AOSService\PackagesLocalDirectory\Bin на локальной машине или на диске K по аналогичному пути в облачной инсталляции.

Пользователь в AdminUserProvisioning

Для ввода должен использоваться рабочий аккаунт, т.е. тот, с которым вы входите в АХ. На локальной машине сайт с D365FO можно открыть по адресу https://usnconeboxax1aos.cloud.onebox.dynamics.com/  При входе вводите имя пользователя, для которого была запущена утилита AdminUserProvisioning, после чего вы попадете в АХ.

Первый экран Dynamics 365 For Finance and Operations

Совет: По умолчанию пользователю присваивается компания DAT, как было и в предыдущих версиях. Проблема в том, что в текущей версии демо данных данная компания пустая, поэтому при первом входе рекомендуем сразу сменить компанию по умолчанию в настройках пользователя,стандартной является компания USMF.

Следующим шаг - подключение к Azure DevOps.

В меню TeamManage Connections выбираете подключение, в появившемся списке проектов кликаете на проект, с которым будете работать. Его создание мы описывали в предыдущей статье.

В меню Team – Manage Connections выбираете подключение

После этого в панели Team Explorer должен появиться ваш проект и список доступных действий.

Проект и список доступных действий в панели Team Explorer

Первое действие, которое нужно сделать - настройка маппинга файлов на вашей машине к файлам, которые хранятся на сервере.

Понадобится настроить 2 маппинга – один для ваших моделей, другой  - для проектов. Нажимаем кнопку “Source Control Explorer” и в дереве проектов выбираем наш проект и папку “Trunk” – здесь будет хранится наш код.

Настройка 2 маппинга в Dynamics 365 For Finance

В появившемся окне указываем путь к директории, где хранится код D365FO. Для локальной машины это будет C:\AOSService\PackagesLocalDirectory\.

Указываем путь к директории, где хранится код D365FO

Совет: Обратите внимание, если вы выберете эту папку через кнопку «…», то к значению пути будет автоматически добавлено \Metadata. Данное значение нужно стереть, маппинг должен быть настроен именно на корневую директорию PackagesLocalDirectory\.

В появившемся окне нажимаем “Yes” и переходим к маппингу папки “Projects”.

Маппинг “Projects” D365 For Finance and Operation

В данном случае нет строгого правила, куда мапить папку с проектами, рекомендуем использовать папку по умолчанию C:\Users\Administrator\Documents\Visual Studio 2015\Projects\ если вы будете работать только с D365FO. Если на этой машине вы планируете создавать еще какие-либо проекты VS, то лучше сделать подпапку в стандартной директории Projects.

Совет: Если в проекте на сервере уже присутствовали какие-то модели, после выполнения маппинга необходимо перезапустить Visual Studio.

После выполнения маппинга можно приступить к созданию модели.

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

Вы можете посмотреть текущие стандартные модели, нажав “View all package dependencies” на корневом узле AOT.

Просмотр текущих стандартных моделй в “View all package dependencies” на корневом узле AOT

В результате получится примерно следующее представление:

Представление текущих стандартных моделей в D365

Самой большой моделью является ApplicationSuite – здесь сосредоточена основная логика системы.

Отличие концепции моделей от Microsoft Dynamics AX 2012

  • Объекты модели видят только те объекты сторонних моделей, с которыми у данной модели есть связь, в 2012 были доступны все элементы AOT,
  • Можно компилировать и просматривать элементы моделей отдельно,
  • Модели, содержащие базовую логику D365, закрыты от изменений,
  • Модель – это минимальная единица, которую можно установить на рабочую версию. Установка происходит путем создания Deployment Package, куда можно поместить одну или несколько моделей.

Физически модель представляет из себя набор xml файлов и файл дескриптор, описывающие свойства модели.

На рисунке ниже представлено содержимое модели DemoDataSuite.

Содержимое модели DemoDataSuite

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

  • Bin – содержит скомпилированный код модели + DLL файлы внешних .NET библиотек, на которые были добавлены References. Для внешних библиотек необходимо добавление их в систему контроля версий (СКВ) из этой папки,
  • DemoDataSuite – исходный код модели (имя папки равно имени модели). Содержит множество подпапок по типу элемента AOT, в каждой подпапке содержатся xml файлы описывающий данный объект. Папка должна полностью включаться в СКВ,
  • Descriptor содержит файл дескриптор модели. Папка должна полностью включаться в СКВ,
  • Resources, WebContent – ресурсы возникающие при компиляции. Когда вы удаляете какой-то объект, его скомпилированная версия может оставаться в данной папке, что иногда может приводить к проблемам. В этом случае файлы из папки надо удалить в ручную,
  • XppMetadata – временные файлы. При открытии элемента в Visual Studio в этой папке создается файл, который вы редактируете. При сохрании данного файла Visual Studio пытается обновить соответствующих xml файл в директории с исходным кодом.

Чтобы создать модель выбираем пункт “Create model…”

Создаем модель в Dymanics 365

Совет: Name и Display name для модели лучше использовать одинаковые и равные префиксу проекта для которого эта модель создается. Это позволит избежать путаницы.

При создании модели требуется указать слой, но при этом имейте ввиду, что концепции слоев в D365 нет, сейчас слой (Layer) – это просто свойство модели, которое может быть изменено в любой момент, т.е. это ничем не отличается от поля Описание.

Указываем слов при создании модели

На следующем окне выбираем тип модели – “Create new package”. Строго говоря, модели могут быть вложенными (когда одна модель входит в другую (overlayed модели), однако в настоящей версии это используется не так часто).

Далее указываем стандартные модели, на которые наша модель должна ссылаться:

Указываем стандартные модели, на которые модель должна ссылаться

Совет: Все галки в данном окне лучше не проставлять. Текущие демо машины содержат ряд моделей, которых может не быть на рабочем окружении и при установке вашего package вы получите ошибку – ссылку на несуществующую модель. Как правило, можно указать все модели, которые НЕ содержат в названии FormAdapter, Test, FleetManagement, Tutorial – все указанные модели являются вспомогательными.

После создания модели можно переходить к созданию проекта.

Создание проекта после создания модели

Концепция проектов отличается от того, что было в AX2012, а именно:

  • Проект может принадлежать только 1 модели - она задается в свойствах проекта. Соответственно все элементы в проекте могут быть только из этой указанной модели
  • Проект является минимальной единицей компиляции и синхронизации. Вы не можете компилировать или синхронизировать отдельный элемент AOT, как это было в 2012. Этот элемент нужно обязательно добавлять в проект и компилировать или синхронизировать проект целиком.

Для имени проекта лучше использовать такой же принцип, который рекомендовали в 2012, как правило, это код модификации, краткое описание, код пользователя.

Проекты, также как и в AX2012, никак не влияют на решение, их можно удалять без потери функционала.

Совет: при создании проекта он всегда будет иметь модель по умолчанию. Чтобы поменять эту модель откройте файл DefaultConfig.xml, расположенный по адресу "..\Documents\Visual Studio 2015\Settings\DefaultConfig.xml" и поменяйте значение для тега <DefaultModelForNewProjects>  YourModel  </DefaultModelForNewProjects>

Создадим теперь наш первый первый элемент, пусть это будет классическое “Hello world”. Джобов в D365 нет, их роль выполняют классы с методом main.

Создаем класс:

Создаем класс в D365

Пишем в нем наш текст и указываем данный класс как Startup Object:

Указываем данный класс как Startup Object

При нажатии на “Start” запустится браузер и отобразит наш текст:

При нажатии на “Start” запустится браузер и отобразит наш текст

Перейдем теперь на закладку Team ExplorerSource Control Explorer и посмотрим, что получилось – видно, что система предлагает добавить класс и проект в папку с моделью:

Закладку Team Explorer – Source Control Explorer

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

Файл модели нужно не забыть добавить руками – встаем на папку с моделью и выбираем Add Items To Folder. Выбираем наш файл с описанием модели:

Выбираем наш файл с описанием модели

После этого список папок в Source Control Explorer должен включать в себя папку Descriptor:

Список папок в Source Control Explorer должен включать в себя папку Descriptor

Переходим на закладку Pending Changed и делаем Check In – это действие скопирует файлы с нашего локального диска в папку на сервере.

Переходим на закладку Pending Changed и делаем Check In

Поздравляем, вы выполнили вашу первую модификацию!

Обсудить

Вас может заинтересовать

В данной статье мы рассмотрим основные моменты и подводные камни, которые возникают при начале разработки в Microsoft Dynamics 365 for Finance and Operations.
Отвечаем на наиболее популярные и самые важные вопросы об 1C:ERP Управление предприятием. Что отличает решение от других систем и почему современную ERP российской разработки не могут заменить другие продукты от 1С
1С:ERP сегодня – это не просто комплексная автоматизация процессов, но и технологии, учитывающие все современные тренды IT-рынка.
В этой статье мы расскажем о направлениях, где диджитализация позволяет получить синергию от совместной слаженной работы сотрудников производственных департаментов, отделов продаж, сервиса, закупок и др.
right-arrow share search phone phone-filled menu filter envelope envelope-filled close checkmark caret-down arrow-up arrow-right arrow-left arrow-down