Top.Mail.Ru

Как начать разрабатывать в Dynamics 365?

Данная статья посвящена основам разработки в среде Visual Studio на языке X++ для ERP-системы Microsoft Dynamics 365 for Finance and Operations. Статья содержит информацию о необходимых знаниях и навыках, которые могут пригодиться, чтобы начать разрабатывать для вышеуказанной системы.

Теория

Для того, чтобы начать разрабатывать в Dynamics 365 недостаточно только знаний языка программирования. Помимо языка, необходимо знать что представляют из себя ERP-система и протекающие в ней процессы, а также нужны знания различных смежных систем.

ERP-система

В начале нужно разобраться что такое ERP-система и для чего она нужна. В нашем случае будет рассмотрена последняя на момент написания статьи версия Microsoft Dynamics 365 For Finance And Operatons.

Что же такое ERP-система? ERP-система — программное обеспечение, реализующее организованную стратегию интеграции производства и операции, управления трудовыми ресурсами, финансового менеджмента и управления активами, ориентированное на непрерывную балансировку и оптимизацию ресурсов предприятия. ERP-система простыми словами – это система управления ресурсами компании.

Microsoft Dynamics 365 for Finance and Operations (далее D365FO) — это облачная система планирования ресурсов предприятия (ERP) Microsoft для средних и крупных организаций. Благодаря интеллектуальному анализу в реальном времени и интуитивно понятному пользовательскому интерфейсу это помогает организациям принимать более взвешенные решения. Система также преобразует бизнес-процессы быстрее с помощью проверенных методологий, таких как распределенное управление заказами (DOM), и позволяет организациям вести бизнес практически в любом месте, в любое время, на любом устройстве. D365FO включает функции для управления финансами, производством, розничной торговлей, цепочкой поставок и распределением, которые помогают предприятиям стать более эффективными.

Dynamics 365

Наиболее подробно познакомиться с функционалом системы можно по ссылкам:

Среда разработки

Если целью является разработка, то немало важным компонентом является среда разработки. Так как она представляет разработчику множество инструментов, что упрощает и ускоряет разработку.

Среда разработки — комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО).

Среда разработки включает в себя:

  • текстовый редактор
  • компилятор и/или интерпретатор
  • средства автоматизации сборки
  • отладчик

Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств.

Наиболее подробно познакомиться с инструментами можно по ссылке:

Язык разработки

Язык программирования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель под её управлением.

Для разработки в D365FO также необходимо знание языков запросов и понимание языков разметки.

Язык запросов — это искусственный язык, на котором делаются запросы к базам данных и другим информационным системам, особенно к информационно-поисковым системам.

Язык разметки (текста) — набор символов или последовательностей, вставляемых в текст для передачи информации о его выводе или строении. Принадлежит классу компьютерных языков. Текстовый документ, написанный с использованием языка разметки, содержит не только сам текст (как последовательность слов и знаков препинания), но и дополнительную информацию о различных его участках — например, указание на заголовки, выделения, списки и т. д. В более сложных случаях язык разметки позволяет вставлять в документ интерактивные элементы и содержание других документов.

Весь код Dynamics написан на языке X++. X++ — проприетарный высокоуровневый язык программирования, используемый для разработки в ERP системе Axapta от Microsoft. X++ поддерживает парадигму объектно-ориентированного программирования и использует преимущества наследования, полиморфизма и других методов объектно-ориентированного программирования.

Наиболее подробно познакомиться с языком можно по ссылкам:

Навыки и знания

Основные навыки

Языки разработки

Язык X++ является комбинацией C++ и Java, по этой причине он очень схож с C#, за исключением его бизнес-направленности. Язык содержит множество бизнес-функций.

Пример кода на X++:

static void JobHelloWorld(Args _args)
{
    if (true) 
    {
        // Эти два вызова info() идентичны для компилятора X++.
        // В X++ обычно используется второй.
        Global::info("Hello World, 1.");
        info('Hello World, 2.');
    }
    if (false)
    {
        error("Это сообщение не будет отображено.");
    }
    else
    {
        // Эти два метода также принадлежат классу Global.
        // Оператор "+" соединяет две строки.
        warning("Это как info," + " но для предупреждений, 3.");
        error("Это как info," + " но для ошибок, 4.");
    }
}

Все же будет плюсом знание языка C#. Так как может встретиться задача, где придется изучать сторонние или писать собственные библиотеки. А так же из-за схожести языков это может послужить неплохим фундаментом. И база знаний X++ не такая большая, как у C#, и таким образом транслируя код можно воспользоваться различными шаблонами разработки.

Пример кода на C#:

using System;
class Pgm_CSharp
{
    static void Main( string[] args )
    {
        new Pgm_CSharp().HelloWorld();
    }
    void HelloWorld()
    {
        if (true) 
        {
            Console .Out .WriteLine(
                "Hello World, Explicit .Out , 1.");
            Console .WriteLine(
                "Hello World, Implicit default to .Out , 2.");
        }
        if (false)
        {
            Console .Error .WriteLine(
                "Это сообщение не будет отображено.");
        }
        else
        {
            Console .Error .WriteLine(".Это как .Out,"
                + " но могут быть использованы для предупреждений, 3.");
            Console .Error .WriteLine(".Это как .Out,"
                + " но для ошибок, 4.");
        }
    }
}

Вторым по значимости языком является SQL, потому что система неразрывно связана с базой данных. Поэтому знание SQL обязательно для разработчика D365FO, а также не будет лишним и знание T-SQL.

SQL (англ. structured query language — «язык структурированных запросов») — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.

Пример кода на SQL:

SELECT table3.room_number 
FROM table1 
INNER JOIN table2 
ON table1.user_id = table2.user_id 
INNER JOIN table3 
ON table2.phone_id = table3.phone_id 
WHERE table1.username = 'qux';                   

Transact-SQL (T-SQL) — процедурное расширение языка SQL, созданное компанией Microsoft (для Microsoft SQL Server) и Sybase (для Sybase ASE).

Пример кода на T-SQL:

USE TestDatabase
-- Объявление переменных
DECLARE @EmpID int, @EmpName varchar(40)
-- Задание значения переменной @EmpID
SET @EmpID = 1
-- Задание значения переменной @EmpName
SELECT @EmpName = UserName FROM Users WHERE UserID = @EmpID
-- Вывод переменной @EmpName в результат запроса
SELECT @EmpName AS [Employee Name]
GO                     

Пример обращения к базе данных на языке X++ с помощью интегрированных в язык конструкций:

            
static void JobCustTable(Args _args)
{
    CustTable tCustTable;
    SalesPool tSalesPool;
    ;
    	while select AccountNum, Name from tCustTable
            order by tCustTable.AccountNum desc
            where (tCustTable.Name like 'The *')
        join tSalesPool
            where tCustTable.SalesPoolId == tSalesPool.SalesPoolId
    {
        info(tCustTable.AccountNum + " , " + tCustTable.Name);
    }
}

Наиболее подробно познакомиться с языками можно по ссылкам:

Иностранные языки

Знание английского языка является обязательным для разработчика D365FO. Причиной тому служит не только то что X++ написан на английском, но и наличие скудного количества литературы на русском языке. Помимо этого придется читать технические задания и вести диалог с консультантами/заказчиками. Но это зависит от уровня разработчика. Минимальным уровнем знания языка по «‎британской» системе является pre-intermidiate или A2/B1 по общеевропейской со знанием технических терминов.

База данных

Как говорилось выше, система неразрывно связана с базой данных. Поэтому необходимы специализированное ПО для просмотра и управления данной базой. Сама система использует Microsoft SQL Server.

Microsoft SQL Server — система управления реляционными базами данных (РСУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия.

Для управления базой существует SQL Server Management Studio. Доскональное знание системы необязательно, потому что вся разработка ведется в Visual Studio. За базу данных отвечают администраторы, но бывают ситуации, когда необходимо обратиться напрямую к базе.

SQL Server Management Studio (SSMS) — утилита из Microsoft SQL Server 2005 и более поздних версий для конфигурирования, управления и администрирования всех компонентов Microsoft SQL Server. Утилита включает скриптовый редактор и графическую программу, которая работает с объектами и настройками сервера.

Подробно прочитать про SSMS можно по ссылке:

Объектно-ориентированное программирование

Так как язык X++ объектно-ориентированный, то знание и понимание принципов ООП является обязательным пунктом.

Подробно про ООП можно узнать по ссылке:

Бизнес-процессы

Для разработчика важно понимание и знание основных бизнес-процессов, протекающих на предприятии. Например, понимание какие этапы проходит заказ на продажу от заявки клиента до доставки.

Курсы по функционалу D365FO по ссылке:

Рекомендации разработки

Инструмент рекомендаций Best Practices включает около 400 правил, но это лишь небольшая часть тех рекомендаций, которые описаны в руководстве разработчика. Они предназначены для улучшения читабельности, гибкости и производительности кода, а так же для предотвращения исключительных ситуаций.

Наиболее подробно прочитать про рекомендации можно по ссылке:

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

Что такое контроль версий, и зачем он нужен? Система контроля версий — это система, регистрирующая изменения в одном или нескольких файлах с тем, чтобы в дальнейшем была возможность вернуться к определённым старым версиям этих файлов.

Наиболее подробно прочитать про контроль версий можно по ссылке:

Дополнительные навыки

Будет плюсом знание таких языков разметки, как HTML, XML, языка стилей CSS и формата JSON. Причиной тому служат наличие задач, связанных с отправкой http-запросов и хранением и передачей данных в форматах XML и JSON.

ERP-система тесно связана с финансами. Поэтому даже для разработчика будет неплохо знание бухгалтерского учета, для понимания проводок.

Еще одним плюсом будет знание других сервисов и приложений Microsoft, таких как Power BI, Azure, Word и Excel.

Инструменты

Ниже представлен список основного ПО и инструментов, необходимых для разработки (не учитывая стандартные средства Windows):

  • Microsoft Dynamics 365 For Finance And Operatons
  • Visual Studio
  • SQL Server Management Studio
  • Microsoft Office Excel
  • Microsoft Office Word

Примечания

  1. Загружаемые курсы электронного обучения

Литература

  • Deepak Agarwal Dynamics 365 for Finance and Operations Development Cookbook: Recipes to explore forms, look-ups and different integrations like Power BI and MS Office for your business solutions, 4th Edition. — Packt Publishing, 2017 — 480 с. — ISBN 978-1-78646-886-4.
  • Rahul Mohta Implementing Microsoft Dynamics 365 for Finance and Operations: Implement methodology, integration, data migration, and more. — Packt Publishing, 2017 — 562 с. — ISBN 978-1-78728-333-6.

См. также

Comments

So empty here ... leave a comment!

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

Sidebar