<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

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

Обсудить

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

В последних версиях продуктов на платформе «1С:Предприятие» правила обмена между типовыми конфигурациями выполнены с использованием технологии обмена через универсальный формат EnterpriseData. Тот факт, что подобные технологии начали включать в типовые конфигурации говорит о том, что именно в этом направлении будет происходить дальнейшее развитие технологий обмена данными между информационными базами.
Данная статья является размышлениями автора на тему необходимости, целесообразности и обоснованности применения автоматизированных тестов, чем погружением в то, как именно их применять.
Подсистема складского учета в программном продукте «1С.Комплексная автоматизация 2» позволяет работать с моделью ордерного склада и использовать адресную схему хранения. С ее помощью появляется возможность реализовать следующие требования:
Довольно часто в работе программиста 1С встречаются задачи по обновлению нетиповых конфигураций. Конфигурации бывают как мало доработаны, так и сильно. В сети достаточно различных ресурсов, описывающих способы обновления нетиповой конфигурации, но как правило, это обновление на один релиз с использованием фильтра «Показывать дважды измененные свойства». Использование данного фильтра возможно, но когда речь идет об обновлении нетиповой конфигурации не на один релиз, а на 5, 10 или 20, такой способ является мало эффективным. В данной статье я хочу описать один из способов обновления нетиповой конфигурации, который позволит сохранить все доработки и провести обновление достаточно эффективно. А также опишу моменты, на которые стоит обратить внимание при оценке проведения работ.
«1С:ERP» – это современная ERP система международного класса от компании «1С», в которой учтены лучшие международные практики и многолетний опыт на крупных проектах. Усовершенствованная технологическая платформа и экспертный подход при разработке дали функциональные возможности, которые наиболее востребованы в любой организации в независимости от численности сотрудников и вида деятельности. В состав продукта включен весь набор инструментов с встроенными средствами бизнес-аналитики для управления, контроля, организации качественного взаимодействия как между внутренними подразделениями, в том числе производственными, так и с внешними контрагентами и партнерами, учета и отчетности.
right-arrow share search phone phone-filled menu filter envelope envelope-filled close checkmark caret-down arrow-up arrow-right arrow-left arrow-down