Search through blog..

Monday, June 25, 2018

The Ever Green "Dynamics 365 for Finance and Operations"

Now we have heard so much about Ever green product life cycle for Dynamics 365 for Finance and Operations. After the latest product release, Microsoft has taken a step further towards Ever-green approach with D365Ops. 

  • Latest Platform release: Platform Update 15 -- 7.0.4841 -- released on March 2018
  • Latest Application release: 8.0 -- 8.0.30 & 8.0.35 -- released on April 2018

Many of you might already know that Dynamics 365 (previously CRM) let's the users skip One update only. That is, if a Customer is live with D365 and is also working on a Module development on the particular live-production-version, and if Microsoft releases newer versions during this development cycle, the Customer will have to get the work done as quickly as possible to 1. Release the development done; 2. Update the product to the newer MS released version at least in the next update cycle; 3. And thereby stay in the Product support criteria. 

Something similar is coming up for D365Ops as well. The D365Ops online service is covered by the Modern Lifecycle Policy, i.e, products and services that are serviced and supported continuously
Licensed customers must stay current with updates to the D365Ops online service in accordance with the following servicing and system requirements:

  • Customers purchasing subscriptions of D365Ops after April 1, 2018 will experience continuous updates of the Platform and Financial Reporting. Microsoft will continually update these components with the option to postpone an update for up to 30 days.
  • Customers who purchased subscriptions to D365Ops prior to April 1, 2018 will be encouraged to move to the latest available platform and financial reporting updates. By July 1, 2018 all customers will receive continual platform and financial reporter updates managed by Microsoft, with the option to postpone for up to 30 days
  • Platform versions maintain backward compatibility with the application versions that are supported at the time of the platform release within the application support lifecycle.

Microsoft is definitely pushing more towards: 

  • Real Automatic updates of the product based on Feedback collected all across the world
  • Taking up & away most of the Tedious & repetitive maintenance work from Customers and their partners 
  • Encouraging Customers and partners to build more extensions based development and completely discourage any over layering
Have to wait and see how this really turns out into. Good luck..!

Friday, April 6, 2018

Is there a D365 Technical conference in 2018??

Since the start of this year, there is one question which has been bothering me a bit - What happened to the Dynamics 365 (for Finance and Operations) Technical conference for the year 2018, especially after seeing that www.d365tech.com stopped working. There are some blog posts which talk about the same question when you search for D365 technical conference for this year.

Finally we have an update on this from Microsoft - go look for details in https://www.microsoft.com/en-us/BusinessApplicationsSummit

We already understood the intentions from Microsoft in moving towards the direction of having all the Business applications under the same hood "Dynamics 365" - so now it is the time to even have the Technical conferences for various applications under the same hood "Microsoft Business Applications summit".

From the site: 

  • Join to learn how Microsoft spans the breadth of business process applications powered by a business analytics and application platform, built atop a common data model, on Azure and connected to Office 365
  • Microsoft Business Applications Summit is the convergence of events such as the Data Insights Summit, Convergence, and Dynamics 365 Technical Conference in order to bring together the best of all experiences, break down silos, and build community.


Hope this helps solve some questions in your mind :) 

Tuesday, March 27, 2018

How to get Admin privileges on Microsoft Subscription?

This might not be news to many of you out there, but was certainly new information for me today. I have deployed a new Azure Dynamics 365 for Finance and Operations (7.3) VM today. (Installed platform version : Update12 (7.0.4709.41129))

Once the deployment was complete I noticed that I could see two user accounts, traditionally we only had Admin**** account using which we are used to RDP into the newly created server. 




Upon on reading up some more, I understand that Microsoft is aiming to not provide the Admin access for the "Development" and "Build" environments which will be hosted on Microsoft Subscription. 
Currently this is true and mandatory for UAT and PROD environments hosted by Microsoft on their subscription as part of the D365 unified License plan. 

Kindly note that this is not the case, if you deploy the DEV environment on your own Azure subscription, then you obviously have all the details include Admin account details. Also the other option could be to actually download VM harddisk from LCS and run in on your computer. 

I will try some development using the User**** account and try to figure out how feasible it is without having Admin access. Might be tricky for example, 

  • you cannot access the AOSService under IIS manager
  • you cannot open Visual Studio with "Run as Administrator"
  • you cannot restart and/or stop any service you would like
Please do share if you have more insights on this. Happy D365Ops'ing :P 

[Update]: more information can be found in below links
- What you need to know about restricted admin access - Link 
- Restricted access with Platform update 12 - Link 

Wednesday, February 7, 2018

Error: Field 'xxx' does not exist in D365Ops

Today I encountered a weird error while working with newly created Enums and Tables in Visual Studio 2015 with a Dynamics 365 for Finance and Operations project.

Error message while trying to build my project was: The underlying type 'BKA_Status ' or its base type for table 'BKA_GoalMaster' field 'GoalStatus' does not exist.
The underlying type 'BKA_GoalTypes ' or its base type for table 'BKA_GoalMaster' field 'GoalType' does not exist.</Message>


However, I had the 'BKA_Status' as well as 'BKA_GoalTypes' Enums already available in my project and even the project is Synchronized with the database.




Root cause:
To be honest, I was unable to find the root cause for sure.
However, I imagine the error has something to do with the refresh of metadata because of the kind of solution which helped to resolve the error. 
I have had 'Extends' property filled in with another Enum which was not existing in the Current model (or) the referenced models for a brief period. Later, I had cleared 'Extends' property before performing the build - and still ended up in the above error message.

Solution/Workaround:
I have tried several generic solutions to refresh the cache, like, restarting Visual Studio (in admin mode), rebuilding the solution, clearing the solution, synchronizing project to the database.. however none worked.


The solution which finally worked for me was to select a dummy - yet real enum value under the 'Extends' property and build the solution. Later, I removed the dummy enum value from the property and performed a successful rebuild to attain the state I wanted to be in.

I know this is a very short and unclear post - but I had to record it as I find so few references while searching for a solution for any problem related to D365Ops. It not like searching for an issue in AX anymore, maybe because of the name 'Dynamics 365 for Finance and Operations' :P :P

Tuesday, November 14, 2017

Announcements related to Other apps related to D365Ops

Just thinking out load - With "Dynamics 365 for Finance and Operations" moving towards this "new approach" by Microsoft, it is more and more important to understand the latest announcements. When I say "new standard", I meant the stage where most of the Microsoft products are moving towards.
  • Windows 10 - Seems like no more newer versions, but rather continous updates to keep the same version up to date.
  • Office 365 - is also one such standard.
  • Now Dynamics 365 maybe falls under the same category.

Microsoft annouces GA of AppService and Functions on Azure stack:

Early this month, Microsoft shared that Azure App service and Functions are generally available on Azure stack, i.e, Customers who intend to use it can go ahead, buy and use the service in their PROD environments.
Now customers can deploy their application (be it D365fFO or any other) in the environment of their choice with App Service - the public cloud, Virtual network or on-premises with Azure stack.
Other related links:
End of Mainstream support for NAV 2013 and NAV 2013 R2:

Not directly related to Dynamics 365 / AX, however lies in the same family. Microsoft announced that on January 9, 2018, the mainstream support for Dynamics NAV 2013 and Dynamics NAV 2013 R2 will be discontinued.

So the recommendation for all the customers still running on these versions of NAV is to upgrade to a newer version of Dynamcis NAV to continue to recieve support from Microsoft.

Hope this helps. Good day!

Tuesday, July 11, 2017

D365Ops Tip#3: Steps needed to have mPOS up and running!

With Dynamics 365 for Finance and operations, the out-of-the-box POS solution is truly Omni-channel, with enhanced modern look and universal app logic. With D365Ops, there are two options for POS solution:
  1. mPOS - modern POS, which can be directly downloaded from D365Ops.
  2. ePOS - cloud POS, which can be opened in any browser - so universal, just like the Dynamics 365 for operations itself.
Retail Modern POS configuration and installation:

If you have a valid .onmicrosoft.com account and access to Microsoft Dynamics 365 for Finance and Operations, Enterprise edition solutions via LCS (lifeCycleServices) using that account, then you will be able to find the step-by-step guideline for learning development when you choose the appropriate Methodology.

One such link is to activate and configure a mPOS client pointing out to your D365fFO instance on the cloud and/or on a local VM - https://docs.microsoft.com/en-us/dynamics365/unified-operations/retail/retail-modern-pos-device-activation

Below I have an illustration of how I have setup the locally downloaded mPOS client to connect with a D365fFO instance hosted on Azure cloud.

Step 1) Perform some validations. 
  • You would need Admin (XXX@YYY.onmicrosoft.com) account which has access to your D365fFO instance.
    Good to setup another user with Store Manager role, if it is possible. I have setup an account
    ZZZ@YYY.onmicrosoft.com (with Store Manager role) to activate the necessary POS Registers and devices in D365fFO and will use the same in below description. 
  • We need to validate if the selected register has the correct basic setup. I have used 'Houston-3' as I have Microsoft Demo data in my D365fFO instance and it is suggested to use this store as it is configured accordingly.

    Go to Retail > 'Channel deployment' workspace and Click Registers tab.
    Search and select 'Houston-3' and verify that 'Support offline' is set to No. If you mark this as Yes, then you would need to install SQL Express on the local machine where you intend to install mPOS.
Step 2) Download Retail mPOS installer
  • You can download the mPOS installer and configuration file for that particular store/register/device from D365fFO instance. And it is important that the configuration file is in the same folder as the installer while you run the installer.

    Go to Retail > 'Channel deployment' workspace and Click Devices tab.
    Search and select 'Houston-3'.
    Click on DOWNLOAD button on the Action pane. You would get two options as shown below.



  • Download both and run the installer and ensure there are no errors during the installation. Like I said before - it is important that the installer and configuration file are in the same folder.
  • Apparently, you should be able to download the installer on any device (Windows Phone, Google Android device, or Apple iOS device) and follow the same procedure to get connected. I haven't tried it out yet, definitely some to do soon. 
Step 3) Create a worker and attach it to the device 'Houston-3'
  • As I intend to connect/operate my mPOS instance with my new user ZZZ@YYY.onmicrosoft.com. I will have to create a new worker and update the configuration accordingly.

    Go to Retail > Employees > Workers
    Click +New and fill in the madantory 'First name' and 'Last name' accordingly. (ZZZ, in my case).
    Also important to identify the 'Legal entity', the worker is going to work with. I choose USRT.
    'Worker type' is set to Employee. And Employment start date - left is as default, i.e, immediately.
    Select the Assign a position check box. Select position number 000544, which is the Store manager position.
    Then go ahead and 'Hire new worker'
  • Select the newly created worker and click Edit.
    set 'Language' = en-us
    Under Worker summary, in the 'Address books' field, select the Houston store.
    On the Retail tab, you can reset the 'POS password'. I have reset the password to 123.
    On the Retail tab, under Screen layout, assign a 'Screen layout'. I have selected F2MP16:9M (Fabrikam MPOS Manager (16:9)).
    and click Save.
  • Assosciate worker with existing identity.
    On the Action Pane, select Retail, and then select Associate existing identity.
    In my case, I have searched for user email
    -ZZZ@YYY.onmicrosoft.com.
    Click Ok.
    By doing so, the 'External identity' section should be automatically populated.
Step 4) Send the updated information to channel database
  • It is important that the changes you have made in AX regarding the staffing are transferred to Channel database. So if you don't have the updates being sent to Channel databases on regular intervals - you will have to follow below steps to send the latest update.

    Go to Retail > Periodic > Distribution schedule.
    Select the 1060 – Staff job, and then, on the Action Pane, select Run now to sync the worker data to the channel database.
    After the sync is complete, worker
    ZZZ@YYY.onmicrosoft.com (using the Operator ID = WorkerID and Retail Password = 123) can sign in to any POS device that is used in the HOUSTON store that he is assigned to.

Step 5) Validate Device for Activation check
  • Go to Retail > 'Channel deployment' workspace and Click Devices tab. Search and select 'Houston-3'.
    Click on 'Validate devices for activation' button on the Action pane
    Select OK, and verify that you receive the following message: "Pre-Activation validation completed for Device HOUSTON-3 and Staff ******. Validation: Passed"

Step 6) Activate the device (mPOS locally installed)
  • Open the newly installed Modern POS instance on your computer.
    Select Activate. You will be redirected to the Azure AD sign-in page. Enter your Azure AD account that you mapped earlier, in my case
    ZZZ@YYY.onmicrosoft.com, and the password (123)
    When activation is completed, select Get Started.

Step 7) Login and proceed.
  • The first time login would request for a Password change, upon completing that you might have to login again with the new password.
  • Also mPOS will pop up a new user experience window/video to help you understand the tasks which can be performed in the POS.



Hope this helps. Cheers!
 

Wednesday, April 26, 2017

D365Ops Tip#2: Where is Source code located in Dynamics 365 for operations!

With Dynamics 365 for Operations (D365Ops), there is so much change from its immediate previous version. And one such major change is done in How the Source code is saved?


If you have every worked in AX2009, you know that the source code is saved in files in a specific file location in the AOS server. Now with D365Ops, Microsoft has fallen back to the concept of storing the files in file system instead of database (model database in AX2012 used to hold all the code base).


And the developers working with D365Ops, the primary question is where & how the source code is kept & handled.


Where to find the Source code:
The application code for Dynamics 365 for operations is stored in File system, usually in a directory named PackageDirectory. You can find the details on the configuration related to AOS in a web.config file.


Steps to follow:
  1. Open IIS and go to the Sites\AOSService (in case you missed, AOS is a web service with D365Ops).
  2. Right click > Explore
  3. You should be directed to a folder (to J:\AosService\WebRoot if you are using MS demo environments)
  4. Now search for the web.config file and open it.
  5. Search for keyword - "Aos.PackageDirectory" and you should be able to find the value for the Package directory.
  6. It should be J:\AosService\PackagesLocalDirectory (if you are using MS demo environments)





How is the Source code updated in File system:
Now if we try to look into how the code is stored in the File system. In the above identified PackageDirectory, you will find that there are individual folders to consist the code changes for each Model.


The simplest way to understand the structure is to create your own model and verify the below:
  1. Look for the folder relevant to your newly created model (in my case, AJDEV)
  2. Under path //PackageLocalDirectory/AJDEV/AJDEV - you will observe that there are #78 new folders created for each element type in the AOT. All with a sub folder Delta which is going to store the changes made.
  3. And under path //PackageLocalDirectory/AJDEV/Descriptor - you will find a config file storing the information about your model.
  4. And under path //PackageLocalDirectory/AJDEV/XPPMetadata - the metadata information about the AOT objects is stored.
I will write more about few AOT elements and the extensions introduced with D365Ops and we will look more into the structure and changes in the XMLs placed under Delta folder, but now keeping it short - Happy learning!