Archive for the ‘ Dynamics 365 ’ Category

How to create a new Azure Devops account and connect to Lifecycle Services (LCS) Dynamics 365 Finance and Operations project.

In this article, I will try to explain how to create a new Azure DevOps account, start a new project and connect it to Lifecycle Services. Since I did not have a new account while preparing this article, I used some pictures from old projects. However, I think it will be enough to make my point.

If you already have an account, you can use it. If not, you can start creating a new Azure DevOps account with a new mail using the Start free button on the screen below.


First, you will pass certain steps and reach the Organization step. If you are making this installation for a customer or company, it is useful to use an appropriate mail and give the names correctly. You can choose where the project will be hosted. It makes more sense for us to choose Europe.


When you continue, the screen below will appear. Click on Organization Settings.


Since Lifecycle Services supports the old URL format, here you need to turn off Use the new URL.


After this step, your account will be ready. If you already have an account like I do, you can log in directly and go to the project page. Start creating a new project with the New Project button.


The name and description of the project is very important. We usually choose Private projects. There are two options in Version Control. Git is not officially supported but I’ve seen projects using it. We select TFVC. In the Work Item Process section, you can set up a project and choose the one that suits your methodology.  When you click on the Create button, the project will be created.


You need to create a Personal Access token from user settings. Click the path shown below to open the Personal Access token creation page.


Click on New Token to open a new Token creation page.


We define its name and authorization. Currently the longest duration it can be created for is 1 year. It is useful to give it full control.


When you click Create, a new Token will be created and a screen like the one below will appear. It is not possible to reopen this page, so make sure to copy and note the Token created.


When you select your Lifecycle Services login project, if you click the Azure DevOps link from the hamburger menu, you open the page with a setup link.


When you click on Setup Visual Studio Team Services, the following page will open. Paste the URL and Token you created here.


If there is no problem, you should see the project you created in the list. Select your project and continue.


Automatic relationships are established between Azure DevOps steps and LCS steps. If you want to change them, you can, but it is OK to continue with the initial ones. Click Save to complete the connection.


In this article, I tried to explain how Azure DevOps and Lifecycle Services are connected. These topics are new for old X++ software developers like me, but it is really easy to adapt and you may even think that it is too late when you consider the possibilities.


TAGs: Lifecycle Services, LCS, Azure, Azure DevOps, Project onboarding, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, what is Dynamics 365, Personal Access token

What is Dynamics 365 Finance and Operations Data Entity and how is it created?

In this article, I will try to explain what the Data Entity is and how it is created with X++. First, let’s talk about what Data Entity is.

Data Entity: We can summarize it as a meaningful data set. Especially with Ax2012, the data structure was divided into many tables in accordance with the normalization logic. For this reason, many tables need to come together in order to see certain data and to perform operations. Data Entity allows us to bring these data sources together and perform transactions over a meaningful data set. As in our example, we have 3 tables related to the book, and these are actually an interrelated Data Entity and we can see these tables in a single structure and take action.

It has a lot of usage areas. I will try to explain them in time. Let’s learn how to create a new Data Entity from Visual Studio.  I created a sample library project for my YouTube channel. I will continue on that.

  1. Right click on the project and select Add > New item to open the Add New Item dialog.
  2. Select Data Model > Data Entity and define the name Data Entity.
  3. Click Add and open the Data entity wizard.


Select the main data source from the Primary datasource field. There are many automatic definitions.  There are five options in the Entity Category field. You can select one of them depending on the type of your data.

  1. Parameter: Used for parameter data.
  2. Reference: Used for reference data. Such as units, dimensions.
  3. Master: Used for master data. Such as Customer, Supplier, Stock etc.
  4. Document: Used for study data. Such as sales order and logs.
  5. 5. Transaction: Used for transactional data. Such as customer transactions.


In our example, I chose Master since the main Data Entity will consist of master data. Click Next to proceed.


Here there are the fields of the table we selected as the data source. We can check or uncheck the ones we want. In addition, features such as Label Is Mandatory come from the automatic table. You can change them if you want.


Open a new data source selection window by clicking the Add Data Source button.


Select the DmrAuthorTable table from the window that opens. Relation is required for the connection of tables, so select that too.


When we add the new data source with Add, the following image appears. Now you can add and remove the fields of the new table.


When you click Finish, Data Entity will be created. The fields and data sources we have selected have been created. We can also edit from here. 


To add one more data source, right click and select Add New Data Source. Add the DmrBookCategory table. I can do the operations I just made on the screen from here as well.


After adding it, define the table name and relationships. Then, right click Fields and select Add New Fields.  Add a field from the DmrBookCategory table.


Data Entity is created. It is ready to use. Of course, there are many other features besides these, I will try to talk about them over time. Here, especially if you use Is Read Only in operations such as data transfer, you should definitely set it to Yes. The default value is No. It’s easy to miss. Be aware of that, otherwise you will have a hard time.


In this article, I tried to explain what Data Entity is and how to create a new Data Entity. I will continue to explain Data Entities, which have many uses.


TAGs: Data Entity, LCS, Azure, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apss, Power Virtual Agents, what is Dynamics 365, Dynamics 365 ERP, Dynamics 365 CRM

How to set up a new Dynamics 365 Finance and Operations application project through Microsoft Life Cycle Services (LCS).

In this article, I will try to tell you the steps required to start the adaptation project after the sale of a new license for Dynamics 365 Finance, Dynamics 365 Supply Chain Management or Dynamics 365 Commerce.

First of all, the activation process should be performed in Azure Active Directory (Azure AD) with the company’s Tenant Administrator account by following the steps below:

  1. Create a new session as InPrivate / Incognito and open the Microsoft 365 Admin Center.
  2. Log in with the Tenant Administrator account.
  3. Go to Billing> Products & services and make sure the product you purchased is there. If not, contact your business partner.
  4. If the Subscription is active, login to LCS to trigger the Implementation Project creation.
  5. Log in to the LCS with a Tenant Administrator account on a new page.
  6. Confirm the boxes that appear and the project will be created.
  7. Tenant Administrator is automatically assigned to the Project Owner role. You can then view the project in LCS.

After completing the above steps, if there is no problem, the Implementation project will be created as shown in Image-1.


When you click and enter the project, you will see a menu on the right as shown in Image-2. The first thing to do is to click on Project onboarding and start making the necessary definitions. When you click it, a wizard will open and steps will appear. You can skip the steps. You can return to them later.


After completing the steps, you will have a project screen similar to Image-3. I will try to explain the Environments section on the right in detail in another article.


I had already defined the steps for this project and had not taken a picture. So I clicked on Project Onboarding from the hamburger menu and reopened it and took the pictures.  It is not exactly the same as the first form, but the definitions are the same.


Welcome page. It is useful to read all the explanations in the steps carefully.


There are some important fields on this page. First of all, a name and a description are required for the project. It is useful for everything to be in English. Because Microsoft employees who will assist you need to be able to understand the information about your project. Here you choose the business partner you will work with on the project.

Industry: The field of activity of the company is important because the FastTrack engineer to be assigned to you is selected according to the industry expertise here. For example, if the project is a retail project, an engineer specialized in retail is assigned to you.

Implementation team country/region: The location of the main project team.

Legacy system: If there is a migration from an older version or a different ERP, you can select it here.

Preferred Azure region for production: Currently the optimal choice for Turkey is Data Center West Europe. Generally we choose this in projects.

Future user licenses: If you expect an increase in the number of languages when the whole project goes live, you can specify it here. It is useful to do this because the live server configurations are set according to your license and some information you provide.


In this section, we select the modules to be used for the project and the necessary settings. We marked warehouse management and MRP, since they will be used in this project. Also, we mark any of the other Dynamics 365 products that will be used. We marked Power Platform, since only that will be used in our project.


In this section, we define the project team. You do not need to enter the whole team at the first stage. It is useful to define Project Manager and Architect roles especially for the FastTrack team to communicate.  Those starting with Microsoft come automatically, you don’t need to do anything for them.


Project dates are required to be entered at the first stage.  A separate window opens for that. The dates can be changed later, but you need to enter the correct dates at the first stage. The whole project plan is created according to these dates and the FastTrack team supports you according to these dates.


This is one of the most important steps. Dynamics 365 projects are now managed through Azure DevOps. First, you need to set up Azure DevOps with the given Admin account and create a TFVC type project. Unfortunately Git is not yet supported. I’ve come across Git uses in some articles, but haven’t tried it yet.  You will then establish the relationship between LCS and Azure DevOps here. There are a lot of details on Azure DevOps, which I will cover in another article.


After connecting the project, you should establish a link between LCS and Azure DevOps steps. I leave this part as it is. In the future, there may be projects that we change according to the project needs.


FastTrack introduction and related links are available on this page. Especially TechTalks has very good content, you should definitely watch it before the project.


This section provides general information about the project steps and useful links.


In the last step, we complete the project start.


One of the most important settings you need to set after you finish is to add Azure Connection. If the company does not have an Azure account, you must start a membership through the Azure Portal with an Admin account. Here there are a few steps you need to follow. To connect LCS with the Azure you have opened, you must download the certificate and upload it to the Azure Portal. You must also authorize Dynamics 365 application installation via the Azure Portal. I will prepare a separate article for this section.


After completing all these steps, you are ready to set up the media. Depending on the license you purchased, Microsoft gives 3 media rights shown in Image-16. There is no charge in these media. You pay according to the pay-as-you-go method for each additional environment you want to set up. Often additional environments are needed for DevBox and Test. You can install these machines from the Cloud-hosted environments menu.

PRODUCTION: It is deployed by Microsoft in the final phase of the Project.

SANDBOX: STANDARD ACCEPTANCE TEST: This machine is Tier-2 and is mainly used for Testing. We setup this environment. By setup, I mean we adjust the settings, determine its type and Microsoft prepares it for us.

SANDBOX: DEVELOP AND TEST: We usually set this machine as the Build machine. They have removed connecting to these machines with the Admin account, so you shouldn’t use this machine for development.


In this article, I tried to explain the necessary steps for starting the project after licensing. It is necessary to consider many different options depending on the size and complexity of the project. There are now three indispensable places for an ERP project and you should know them well. LCS, Azure and Azure DevOps. Knowing the basic features of these three products, each of which is a separate world, makes it easier to project and reduce costs. I have made an introduction to the LCS and I will continue to explain the details.


TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Project onboarding, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apss, Power Virtual Agents, what is Dynamics 365, Dynamics 365 ERP, Dynamics 365 CRM

Let’s get to know Microsoft business solutions. ERP, CRM, BI, AI, Cloud and beyond.

Let’s get to know Microsoft business solutions. ERP, CRM, BI, AI, Cloud and beyond.

In this article, I will introduce you to Microsoft business solutions. Microsoft invests a lot in business solutions. As a result, new products are constantly being released, or the name and content of an existing product may change. This is sometimes confusing even for us. I will try to explain each box in the picture below without going into much detail.


Finance and Operations

The general name of the ERP product, formerly known as Dynamics AX (formerly Axapta), bought and incorporated by Microsoft.

Dynamics 365 Finance

It is a product that includes financial affairs modules of Dynamics AX, formerly known as Dynamics AX. It is a powerful product that allows medium and large-scale companies to easily manage their financial affairs processes, including Accounting, Finance, Budget, Accounts Receivable, Accounts Payable, Bank, Fixed Assets and similar modules. It has ERP infrastructure, so it can be extended with X++ and new functions can be added. Also, localization and suitable E-Transformation modules are provided by business partners.

Dynamics 365 Supply Chain Management

It is a product in which the trade and logistics modules of Dynamics AX (former name) are collected. It is a powerful product that medium and large-scale companies can easily manage their trade, logistics and production processes with Sales, Purchasing, WMS, TMS, Customer, Supplier, Product, Stock, Production and similar modules. It has ERP infrastructure, so it can be extended with X++ and new functions can be added. In addition, there are many additional modules developed by the partner ecosystem such as Payroll, Check Bond, Credit, Online Marketplace Management, Cargo Management.

Dynamics 365 Project Service Automation

The Project Service Automation (PSA) product enables you to effectively monitor and manage project-based services from initial quotation through sales to invoicing. Some of its features are:

  • Planning projects, creating forecasts and work plans
  • Forecasting and tracking project cost and revenue
  • Forecasting resource requirements for pipeline projects
  • Monitoring project status and cost consumption
  • Managing the quoting, pricing and invoicing processes for projects
  • Assigning and managing resources

In addition, it helps you track and control costs for your project-based work, and you can easily track project time and expenses on a mobile device or using a web browser. It uses the CRM infrastructure. It works with F&O and MS Project.

Dynamics 365 Project Operation

Dynamics 365 Project Operation will be available for preview in June 2020 and is scheduled to be available from October 2020. Due to the corona epidemic, these dates may change.

Microsoft says it will be an end-to-end project management application from opportunity to project accounting. The existing Dynamics 365 Project Service Automation (PSA) application will combine the features of Microsoft Project and Dynamics 365 Finance. The new application will include Project’s planning and Scheduling capabilities which are not available in Microsoft Project’s PSA application. It will use the Common Data Service infrastructure, so it will be customizable and extensible with the Power Platform. It will include all of Dynamics 365 Finance’s existing project management, accounting and expense management capabilities. Most likely it will replace PSA and be used in the future.

Dynamics 365 Guides

Microsoft Dynamics 365 Guides is a mixed-reality application for Microsoft HoloLens that enables operators to learn by giving holographic instructions when and where they need it during their workflow. It is mainly designed for educational use. Instructions can be created with videos and 3D holographic models. Operators see what needs to be done and where it is done. Therefore, they make fewer mistakes and can acquire new skills. New instructions can be created without writing any code. It uses the CDS Infrastructure.  HoloLens unfortunately is not yet sold in Turkey. You can import it from abroad.

Dynamics 365 Finance Insights

It is an artificial intelligence application that integrates AI and BI such as customer payment forecasts, budget proposals, financial predictions and cash flow forecasting, and can connect to many different sources and receive data. It provides better financial decisions and actions by taking advantage of artificial intelligence without the need to write code. It uses the CDS infrastructure, so it can be customized and extended with Power Platform. The release date may vary depending on the Corona epidemic, but is expected in the second half of this year.

Dynamics 365 Human Resources

Dynamics 365 Human Resource, formerly known as Talent, is a product that covers all end-to-end processes for human resources management. It supports the entire employee life cycle. All processes from recruitment, employee management to talent management are integrated.

It has integrations with LinkedIn Talent for recruitment and Dynamics 365 Finance for finance. It also works with LinkedIn Learning and Dynamics 365 Guides for training, certification tracking, and employee progress tracking. It uses the CDS infrastructure, so it can be customized and extended with Power Platform.

Dynamics 365 Commerce

Dynamics 365 Commerce is a comprehensive product that addresses all the capabilities of Dynamics 365 Retail as well as all retail needs and combines it with ERP and CRM. It uses the ERP infrastructure, so it can be customized with X++. Type Script is used on the pos side. In addition, with the E-Commerce plugin, the missing part on this side was also fixed. Retail is one of the industries that Microsoft invests the most. It is constantly developing and gaining new capabilities in the product.

Dynamics 365 Fraud Protection

Microsoft Dynamics 365 Fraud Protection focuses on payment fraud protection and related scenarios in e-commerce. It helps e-commerce merchants reduce fraud loss, increase bank acceptance rates to generate higher revenue, and improve online shopping experience for their customers. It is a cloud-based AI service. It uses the CDS infrastructure and is designed to work with the retail solution.

Dynamics 365 Connected Store

Dynamics 365 Connected Store is a service that uses cloud-based AI, Azure IoT and Machine Learning capabilities for physical stores. It uses the CDS infrastructure. It is expected to be available this year. It helps store managers and professionals working in retail make better decisions by getting information from many different sources, such as video cameras and IoT sensors.

Dynamics 365 Connected Store creates employee alerts that can increase store efficiency. For example, if there is a malfunction in the cooling of the refrigerator, it can alert the employee; when there is a rush in the cash register, it can notify the officer in the aisle to support the cash register. Connected Store reveals event patterns by examining in-store customer and product mobility data. Connected Store can be used with Commerce product.

Dynamics 365 Business Central

Formerly known as Dynamics NAV, it is an ERP software that enables small and medium-sized enterprises to follow all of their processes. Unlike Dynamics Nav, it does not use the C/SIDE development platform. It provides the ability to customize screens and lists.  It is not yet available in Turkey.

Dynamics 365 Market Insights

The product was discontinued. It was decided to continue with Customer Insights.

Dynamics 365 Customer Insights

Customer Insights is an AI-powered customer data platform that provides clear insights and personalized customer experiences. It uses the CDS infrastructure and can receive data directly from many different data sources. It enables high-speed analytical operations using Microsoft Azure and Power Platform. It provides many different analytical perspectives on the customer.

Dynamics 365 Product Insights

Dynamics 365 Product Insights automatically collects data from businesses’ products and services and enables customers to transform this data into insights. With this data-driven view, businesses can transform in many areas. For example, product development, production, sales, customer service processes can be reconfigured with data from Product Insights.  The application that brings together BI and AI uses the CDS infrastructure.

Dynamics 365 Marketing

It is the product of what is formerly named as Dynamics CRM which includes marketing modules. It has built-in business intelligence.  It uses the CRM infrastructure.  It can be extended with the power platform. Some of its features are:

  • Creating graphical email messages and online content to support marketing incentives
  • Designing interactive customer journeys to develop leads with personalized experiences
  • Reviewing candidates on LinkedIn
  • Sharing information between teams
  • Getting to know your leads better
  • Analyzing and documenting your marketing return on investment (MROI)
  • Prioritizing leads for better achievements
  • Making survey results more actionable
  • Configuring and extending the application

Dynamics 365 Sales

It is the product of what is formerly named as Dynamics CRM which includes sales related modules. It enables sales representatives to build stronger relationships with their customers, take action based on predictions, and close sales faster. Dynamics 365 Sales tracks accounts and contacts, feeds your sales from lead to order. It allows you to create marketing lists and campaigns, and even track service requests associated with specific accounts and deals. It uses the CRM infrastructure.  It is a model-based application developed on the Common Data Service (CDS) platform. In this way, you can make additions using Power Apps.

Dynamics 365 Sales Insights

Dynamics 365 Sales Insights is an AI application that uses the CDS infrastructure. It constantly analyzes the vast collection of customer engagement data stored in your Dynamics 365 Sales and Office 365 databases. This helps you better understand your business relationships, evaluate your previous activities and choose the best from the options available. It also allows you to build stronger relationships with customers, take insightful actions and close opportunities faster. There is a free version that comes with Dynamics 365 Sales and also a paid version. The features of the two versions are shown in the picture below.


Dynamics 365 Product Visualize (Preview)

Microsoft Dynamics 365 Product Visualize allows you to see the Product Visualize product with augmented reality as if it were in a real environment. In this way, you will have the opportunity to observe how a machine to be used in production will be located on the factory floor. This helps establish a common understanding between buyers and sellers to speed up complex sales processes. In industries such as manufacturing, healthcare and automotive where products are often complex and highly configurable, or very difficult to transport, the need for product visualization is vital.

Using Dynamics 365 Product Visualize, vendors can show products to customers directly within their Dynamics 365 Sales workflows. It can leverage directly from Microsoft Teams to deliver critical customer-oriented solutions to improve vendors’ collaboration and accelerate the sales process. It needs SharePoint and Dynamics 365 Sales for setup. It uses the CDS infrastructure. The exact release date is not yet determined.

Dynamics 365 Customer Service

It is the product of what is formerly named as Dynamics CRM which includes customer service related modules. Dynamics 365 Customer Service is a model-based application developed on the Common Data Service (CDS) platform. You can create and manage model-based applications using Power Apps.

With Dynamics 365 Customer Service, you can:

  • Track customer problems through service requests.
  • Record all service request related interactions.
  • Share information in the knowledge bank.
  • Create queues and route service requests to the right channels.
  • Create and monitor service levels with Service Level Agreements (SLAs).
  • Define service conditions through support rights.
  • Manage performance and productivity through reports and dashboards.
  • Create and schedule services.

Dynamics 365 Customer Service Insights

Dynamics 365 Customer Service Insights provides critical performance metrics, transactional data, and trends evolving from your customer service system. Built-in dashboards, interactive charts, and visual filters support operational data across channels and highlight areas of improvement that will have the most impact, helping you quickly assess and respond to key performance.

Customer Service Insights uses artificial intelligence for your support service requests using natural language processing. Topics allow you to discover current and emerging trends, identify improvement, brand return, and problem areas. By demonstrating and fixing issues before they affect customers, you can create better customer service experiences. It is an application where AI and BI come together and can be connected to many different CDS-based data sources.

Dynamics 365 Field Service

Dynamics 365 Field Service business application is a product that organizations can use for field and service automation. The application provides mobile capabilities for many different jobs such as workflow, automation, scheduling algorithms, and on-site troubleshooting. It is a model-based application developed on the Common Data Service (CDS) platform.

Field Service application allows:

  • Completing weekly service calls per technician
  • İzleme çalışmalarınızı yönetmek ve satın yararlanmanıza ve çapraz satış fırsatları
  • Reducing travel time, distance and vehicle wear
  • Organizing and monitoring, resolving customer problems
  • Notifying the correct arrival time to customers
  • Providing the field technician with the correct account and hardware history
  • Scheduling on-site visits when convenient for the customer
  • Scheduling on-site visits when convenient for the customer
  • Preventing equipment downtime thanks to preventive maintenance

Dynamics 365 Remote Assist

It is a mixed reality product that enables remote support and similar operations with mobile devices using HoloLens and HoloLens2.  It has areas of use such as Collaborative Maintenance and Repair, Remote Inspections, and Knowledge Sharing and Training.   It can work with Dynamics 365 Field Service and other CRM products. It uses the CDS infrastructure. HoloLens is not yet available in Turkey. It has to be imported from abroad.

Microsoft Forms Pro

Forms Pro is a simple yet comprehensive survey solution based on Microsoft Forms’ current experience of creating surveys in Office 365. It is built on Microsoft Forms and offers new features that make capturing and analyzing customer and employee feedback easier than ever. Your customers can respond to surveys using any web browser or mobile device. Once responses are submitted, you can use Power BI to analyze them with reports and make real-time decisions. It supports the CDS infrastructure.

Dynamics 365 Layout (Canceled)

Microsoft Power Platform

It is the name of Microsoft’s product group that enables us to develop software solutions without writing code or using very little code (low-code / no code). This product family is based on CDS and consists of the following products.


Power BI

Power BI is a collection of software services, applications, and connectors that work together to transform your unrelated data sources into consistent, visually understandable, and impressive ones.

Power Apps

Power Apps is a platform that contains applications, services, connectors that provide a fast application development environment to create custom applications for your business needs. Using Power Apps, you can easily develop mobile applications by getting data from CDS (Common Data Service) or various online and in-house data sources (SharePoint, Excel, Office 365, Dynamics 365, SQL Server, etc.).

Power Automate

Power Automate is a service that helps you synchronize files, receive notifications, collect data and more by creating automated workflows between your favorite apps and services. With the many connectors available, you can set up workflows between applications.

Power Virtual Agents

Power Virtual Agents is a product where you can create powerful bots using a code-free graphical interface without the need for a software developer or data scientist.  Power Virtual Agents tackles many important bot building issues in the industry today. It eliminates the gap between subject matter experts and the development teams that create the bots, and the long delay between teams recognizing a problem and updating the bot to fix it. It also minimizes the IT effort required to install and maintain a custom speech solution.

Dozens of articles can be written for each topic here. I wanted to introduce business solutions to you in general. The picture below provides a general summary.


Microsoft continues to invest heavily in business solutions. For this reason, there are frequent updates, new products and name changes, but there is no other service provider that can solve all the needs of a certain organization under one roof. Operating system, Office applications, SQL, Cloud services (Azure), HoloLens, AI, AoT, ML and similar services, CRM, ERP, BI and Low Code platforms all work integrated with each other and offer the same user experience. They have created an enormous range of products. It is not surprising that it became a leading supplier in a short time. I think that these applications will be used much more commonly, especially when the issues related to Law on Protection of Personal Data in our country become clear and safe countries agreements are made. Of course, we also have a currency problem. I hope this can be resolved in a short time.

TAGs: Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apss, Power Virtual Agents, what is Dynamics 365, Dynamics 365 ERP, Dynamics 365 CRM

X++ :1- Extended Data Types Nedir?

Bu yazı ile yeni bir seriye başlıyorum. Bu seride X++ dilinin temel özelliklerinden bahsedeceğim. X++ C++ üzerinden geliştirilen bir nesne tabanlı dildir. Yazımı oldukça kolay olan bu dil özellikle veri yönetiminde çok güçlüdür. ERP temelde veriye dayandığı için X++ uygulamada çok kolaylık sağlıyor.

Temel veri tipleri şunlardır.

Anytype A placeholder for any data type.
Booleans Can only contain the values false and true.
Dates Contains day, month, and year.
Enums An abbreviation for enumerated text—a set of literals.
GUIDs A globally unique identifier.
Integers A number without a decimal point. To declare an integer, use the keyword int.
Reals Numbers with a decimal point; also called decimals.
Strings A number of characters. To declare a string, use the keyword str.
TimeOfDay Contains hours, minutes, and seconds. To declare a time, use the system type timeOfDay.
utcdatetime Contains year, month, day, hour, minute and second.

Bu tiplerin üzerin formatlı veri tipleri oluşturulur. Bunlara kısaca EDT diyoruz. EDT bize birçok avantaj sağlıyor. Bir örnek ile açıklamaya çalışacağım. AOT üzerinden sistemde olan EDT’lere bakabilir ve kullanabilirsiniz. Bu seride kullanmak üzere bir Kitap yönetimi projesi başlattım. FDBookTable ve ilişkili veri tiplerini oluşturacağım.


Yeni Bir element ekleme ekranını açıp Data Types -> EDT String seçiyoruz.


FDBookId adında bir kitap kodu EDT’si oluşturuyorum. String Size 20 olarak belirledim. Mutlaka Label tanımlamak gerekiyor. Her veri tipine göre EDT özellikleri değişiklik gösteriyor. Table Relations ve Table References EDT üzerinden ana tablo bağlantısı yapmak için kullanılıyor. İlerde örneklerini anlatacağım.


Şimdi bir tane de Integer tipinde bir EDT oluşturalım.


Yine Label tanımlamak lazım. Integer olduğunda birçok ilişkili özellik geliyor.


Bu sadeye iki tane farklı tipte EDT oluşturduk. Artık bu formatlı veri tiplerini kullandığımız tüm yerlerde aynı özellikler geçerli olacak. Örneğin FDBookId kullandığım yer yerde otomatik StringSize 20 olarak gelecek. Formlar dâhil. Ayrıca EDT’leri kodda da direk kullanıyoruz. Örneğin bir str tipinde değişken oluşturmuyoruz BookId için. Direk FDBookId tipinde değişken oluşturuyoruz.


TAGs: X++, EDT, Microsoft Dynamics 365 Finance and Operation, Dynamics AX, MsDyn365FO, MsDyn365CE, MsDyn365, Power BI, Power Automate, Dynamics 365 ERP, Dynamics 365 CRM

What are the Visual Studio Basic Settings for Dynamics 365 Finance and Operations Developments?

In this article, I will talk about some of the basic settings we made for Visual Studio, the Dynamics 365 Finance and Operations development environment. First of all, I have to say that for those who have used the MorphX IDE for 15 years like me, there is an adaptation period. Drag and drop is not like what we are used to. Compiling and seeing what you have done quickly is still a little different, but X++ is basically the same. You will adapt in a short time. Sometimes, you may complain like me about the missing features, but the innovations that come are far beyond these deficiencies. So we should look at the bright side and move forward.

We can say that we X++ developers were developing software with an old method, and the new version actually upgraded us. We have caught up on the current software development methodology. From this point of view, it seems like we are in the right place. I don’t know of any other application that contains such an advanced and up-to-date software language. Let’s appreciate X++. JIn fact, with this update, a project was carried out to completely replace X++ and switch to C#, but it was not successful. In my opinion, X++ will last as long as the product is available. Perhaps one day we can even see X++ as an independent language. This is a dream, of course, there is no such plan. But why not? Currently, we can quickly develop a web page completely independent of the design layer. There is actually a framework that will take care of the basic web needs of many businesses.

Let’s talk about some settings that are useful for you to do before starting development in Visual Studio. First, let’s look at the Options section under the Dynamics 365 menu.


When you open the Dynamics 365->Projects page from the screen that appears, there are two options. First, it creates folders according to your object types and makes your project more compact. We used to use tools or project templates for this, but they are no longer needed. Second, it starts synchronization when you create a new object. This is a matter of preference, but I don’t want it to work every time since it would slow down my speed. Of course, do not forget to synchronize manually afterwards. Especially your tables and data structures will not work properly.


I’m leaving the settings in the Build section as is. Sometimes, if you want Best practices not to work, you can remove them from here.


You can choose which Best Practices will work here. My choice is based on my point of view. You can choose all the necessary ones. Compiling will be a little slow. It is possible to add new rules here. I will talk about it separately.


Here I check the Line numbers box. Be careful with Work Wrap, it can be confusing. I’m in favor of not using it. Word Wrap is a feature used to display long lines with Scroll or underlines. Moving to the bottom line can be confusing in LineNumber. It is best not to write too long lines and use it on a wide screen. If you are in a mobile environment like me, you will manage with a 14 inch screen.


Complete the basic settings by clicking OK. Now open the Team-Team Project Collection Settings->Source Control screen.


Here you can adjust Check-out and Check-in settings. I disable multiple Check-out. This is up to you. It feels right to me. After check-out is done, automatic get latest is a feature that is very useful in my opinion. Make sure it is checked.


There are good features in the Check-in Policy section. For example, you can create a Changeset Comment Policy and allow developers to enter comments in a certain format.


In this article, I have talked about the basic Visual Studio settings for DevBox. Visual Studio is a very advanced tool. Besides these, there are many settings and features. You will get used to it in time. A topic I want to mention here is naming and adding comments. In the old version, these had very clear rules. But in the new version, I have not yet settled on what the best method is with Extension and TFS. We try different things for each project depending on the team. I am planning to write an article about this.


TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Visual Studio, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apps, Power Virtual Agents, what is Dynamics 365, Dynamics 365 ERP, Dynamics 365 CRM

Linking Dynamics 365 Finance and Operations Branch Logic and Local Folders to a Azure DevOps project.

In this article, using version control for Dynamics 365 Finance and Operations is now a must. It was also possible to use it in older versions, but it did not work very well, so we used version control in only a few of the projects I have worked on until now. Of course, our development environment is Visual Studio, which makes it very easy.  Now let’s look at how to adjust some basic settings that are required at the beginning of the project and the Branch logic. Branch allows you to manage your code and developers to work independently. There are many Branch strategies available. I am not an expert on this subject, so I try to use the simpler versions. The 3 most used approaches are as follows. Main, Main and Dev, Main, Dev and Release. You can use these 3 different methods. For more information, you can review the Branching strategies article. I usually use the Dev and Main structure. If the project is small and there are no other developers other than you, you can just continue with Main. When there is a single Branch, merging is not required, you can bring to live faster, but when you do not want to bring certain things, you need to work with Dev at the very least because one Branch does not cut it. Let’s look at how the first definitions are made.

I explained how to connect Azure DevOps over LCS in my previous articles. When you establish this connection, the following Trunk folder will be created in your Azure DevOps project. You have to keep this structure. Initial creation process creates Main as a folder. You have to change this to Branch from Visual Studio. I couldn’t get the screenshot because I didn’t have a brand new environment, so the image shows Main Branch.


To turn a folder into Branch, you have to open the Source Control Explorer screen from Visual Studio, right-click the folder and select Branching and Merging -> Convert to Branch.


Now, using the model I created in my previous article, let’s associate the Metadata and Projects folders with our Azure DevOps project. Don’t let the images mislead you. Since I don’t have a brand new environment, I took the screenshots from a previously processed environment, but the logic is the same. First of all, this project only includes Main. If you are going to work with Dev, all development environments must be connected to Dev. The process is the same.  Open the Source Control Explorer screen.


In brand new environment, there is no folder under Metadata and Project. Just ignore them. Now we can associate the Azure DevOps folders on the left with the folders in our virtual machine. Click on the Not Mapped link.


Map to K:\AosService\PackagesLocalDirectory. Selecting the folder automatically adds Metadata. Don’t forget to delete it. Complete the process by clicking Map.


I create the K:\VSProject folder. This is not a must, but it is useful to keep the path short.


Similarly, when you are on the Projects folder, click the Not mapped link. I associate it with K:\VSProjects. Here it directly adds Projects as well, be careful. I delete it. Complete the process by clicking Map.


At this point, you have linked your folders. However, you have not specified which files will be included in the version control. Let’s create these connections using the Model and project I created in my previous article. I had a package called DmrWMS. Right click on the Metadata and click Add Item to Folder. Find your package in the window that opens.


Go to the Descriptor folder and select the xml file that has the same name as the package. This file contains our package and model information.


After you continue and see it in the Item to add section, click Finish.


Actually, our codes are stored under the model, but since we are linking this through the project, no further additions are required. If it is not added by default, you can add your project by clicking Add Item to Folder. You only need to add metadata and code to the version control.  When you check, you can see all your codes in the DmrWMS model folder. Do not be confused by the same model and package name.


Now let’s add a job to our project and see how it looks in version control.


While creating my project, I marked it as add to version control. I can also add it later. So when I create a new object it is automatically created in my model folder.


I can see my pending Check Ins in the Pending Changes section. There are 3 files. These are the must have ones. My project file, My package file, and Job. Let’s Check In and see our development on Azure DevOps.


If you have reached this stage, you are ready to develop. We saw the same structure on Azure DevOps. Now we can test and go live after Build operation.


In this article, I tried to explain the required Azure DevOps and Devbox machine’s first folder association for a new project and how to connect the model, package and project we just created. This is a much more comprehensive topic, but I wanted to at least make an introduction. I will cover it in more detail later. For example, in Branch logic, there is no single truth, everyone has different experiences. It is also necessary to make changes when it is required to decide according to the team and the project. There are many people who do not have any experience in Dynamics 365 but are Azure DevOps experts, you can get assistance from them. But it is always useful to explain the unique features of Dynamics 365. You will produce a better solution.


TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Project onboarding, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apss, Power Virtual Agents, what is Dynamics 365, Dynamics 365 ERP, Dynamics 365 CRM

What is the Model and Package for Dynamics 365 Finance and Operations and How to Create It?

In this article, I will talk about the 2nd step required to start development when you start a new project for Dynamics 365 Finance and Operations. I mentioned the first step in my previous article. I explained how we can connect a new DevBox Deploy to our Azure DevOps project. In this article, I will try to explain how to create a new Model and Package and what they do.

A model is usually a distributable software solution and can contain customizations of an existing solution or it can be a new solution. It is a structure that contains Metadata and source code files. A model always belongs to a package. Package includes one or more models. The package includes model Metadata, Binary files and other associated resources. One or more packages can be made into a Deployable package. The deployable package is used to move code to test and live environments.

To create a model, go to Dynamics 365->Model Management->Create Model.


Fill in the required information for the model. Model name is important. You need to name it knowing that you will use it constantly and see it everywhere.


You will see two options when you continue with Next. If this is your first model, you will want to create it in the package with the model. Therefore, choose the one above. If you already have a package and want to create a new model in it, you should choose the second one.


This is one of the most important parts. Here you should select the reference of the standard packages you will need in the model you will create. For basic development needs, those shown in the image plus Dimension and Directory will suffice. You should not select all of them here, since it will affect your package size and compilation speed.


When you continue, you will see the last screen. If the information is correct, you can click Finish.  If you want to set this model as the default model, don’t forget to check it. The default model can be changed later from the Config file. If you want to create it in a new project, you can use the relevant checkbox.


The automatic project creation screen is opened. We create a Dynamics 365 Finance Operations project. Pay attention to naming the project, you can use the previous approach. My logic includes Company Code + Person + Project name. For example. Such as DmrFDTrvLedgerJournalCreate. Be careful not to write too long. Also in the Location field I use K: or I create a folder named VSProjects and place it there. The path should not be long either. Do not skip the Add to Source Control part, you can add it later.


This is the edited version. I didn’t use my name as the project name because it was an experiment.


The project is automatically created in the new DmrWMS model we created. Let’s add a ne new Job and see how it looks in the package and project.  I added a new Job named DmrWmsJob1.


When you enter K:\AosService\PackagesLocalDirectory, you will see your own package and when you enter it, the folders in the picture will be there. There is a file under Descriptor with definitions for the package. You must add this to version control.


When you enter the package, you will see that the code for the DmrWmsJob1 you created is here. Actually, all X++ objects will be under the DmrWMS folder.


When you look at your K:\VSProjects\DmrWms1 project, you will see that there are only project definitions here. Codes and objects are not stored here. This logic is specific to X++.


In this article, I tried to explain what models, packages and projects are and how they are created. These are the three most important tools in the new version. Layer still exists, but it’s not so important anymore. In particular, it is necessary to understand the package logic and file structure well. We also have a project logic that is different from normal Visual Studio projects. Do not be confused by it. In my next article, I will explain how to connect these folders to version control.


TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Model, Packages, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apps, Power Virtual Agents, what is Dynamics 365, Dynamics 365 ERP, Dynamics 365 CRM

Dynamics Ax UserConnection kullanımı


Ax’ta  ilk versiyonlardan beri transaction (ttsBegin ttsCommit) blokları dediğimiz bir yapı vardır. Veri tutarlılığı için çok önemli olan roleback dediğimiz bir hata durumunda o blokta yapılan işlemlerin tümünü geri almayı sağlayan bir yapıdır. Ax ta çok sıklıkla kullanılır. Veri tabanında yapılacak işlemlerde mutlaka kullanmak gerekir. Benim bu yazıda bahsedeceğim konu bu bloklar arasında bir hata oluştuğunda roleback in dışında tutmak istediğim bir işlemi nasıl sağlayabileceğim. Genelde bu log atma bildirim gönderme gibi işlemler olur.  Bir örnekle açıklamaya çalışayım.  Eski sistemden satış verilerinin geldiği ve axta sipariş oluşturulup deftere nakledinlen bir yapı olsun.  Herhangi bir sebepten sipariş  oluşturulamadığında bir log tablosuna kayıt atmak istiyorum.   Örnek kodlar şöyle  olsun:

server static void FD_UserConnection1(Args _args)
    DmrSalesOrderHeader DmrSalesOrderHeader = DmrSalesOrderHeader::findByRecid(325355554);
    DmrSalesOrderLine   DmrSalesOrderLine;
        // Sipariş başlığı oluşturma kodu
        while select DmrSalesOrderLine
            where DmrSalesOrderLine.OrderId == DmrSalesOrderHeader.OrderId
            // Sipariş satırı oluşturma kodu
            throw error("hata");
        DmrExceptionTable::findOrCreate("Satır oluşturulurken bir hata oluştu.", "DmrCreateSalesOrder",



Bu metod sipariş oluşturmaya çalışırken herhangi bir satırda hata veriyor. Bizde hata verdiğini yakalayıp hangi kayıttan sipariş oluştururken hata verdiğini bir tabloya yazmaya çalışıyoruz. Normalde hata verdiği ve tts blokları olduğu için bizim yazmaya çalıştığımız veriyi de geri alacaktı ancak UserConnection ve UnitOfWork kullanarak bunu engelliyoruz. Metot aşağıda.

static server void findOrCreate(    str1260          _exceptionDetail,
                                    str 100          _className,
                                    RefRecId         _RefRecId,
                                    RefTableId       _RefTableId,
                                    RefRecId         _RefRecVersionId)
    DmrExceptionTable   DmrExceptionTable;
    UserConnection      UserConnection;
    UnitOfWork          UnitOfWork;

    UserConnection = new UserConnection();
    UnitOfWork = new UnitOfWork();

    DmrExceptionTable.ExceptionDetail       = _exceptionDetail;
    DmrExceptionTable.ClassName             = _className;
    DmrExceptionTable.RefRecId              = _RefRecId;
    DmrExceptionTable.RefTableId            = _RefTableId;
    DmrExceptionTable.RefRecVersionId       = _RefRecVersionId;





Page 17 of 17« First...101314151617