Thursday 17 November 2016

Payment advice in AX7

Payment advice has now been added to the Print management setup now. This is a nice addition.

image

New button under the payment journal lines form. Payment advice button is only enabled if the Payment status is sent.

image

Dialog populates with the Vendor and Bank but you can clear it out to run for all lines.

image

Payment advice report on screen.

image

Payment advice in AX7

Payment advice has now been added to the Print management setup now. This is a nice addition.

image

New button under the payment journal lines form. Payment advice button is only enabled if the Payment status is sent.

image

Dialog populates with the Vendor and Bank but you can clear it out to run for all lines.

image

Payment advice report on screen.

image

Schedule Azure machines on and off

image
I friend of mine recommended this cool tool for scheduling machines on Azure. This is really good for saving Azure credit. You can schedule to turn on a machine before you start work and turn it off after work. Make sure it turns off over the week, incase you have forgotten.
Here is how simple it is. Connect up and select your machine. Then schedule.


Plus they have a FREE plan.

Schedule Azure machines on and off

image
I friend of mine recommended this cool tool for scheduling machines on Azure. This is really good for saving Azure credit. You can schedule to turn on a machine before you start work and turn it off after work. Make sure it turns off over the week, incase you have forgotten.
Here is how simple it is. Connect up and select your machine. Then schedule.


Plus they have a FREE plan.

Install an application x++ hotfix [AX7]

Microsoft has document this well on the wiki but can be confusing for first time. Also, things are improving and sometimes hard to keep up.

This is what you see on LCS when updates are available.

image

This wiki page walks you through the steps for applying a Microsoft Dynamics AX deployable package on a Dynamics AX system. This package can be either a binary hotfix for Application Object Server (AOS) or a deployable package that was created in your development environment.

Apply a deployable package on a Dynamics AX system

https://ax.help.dynamics.com/en/wiki/apply-a-deployable-package-on-a-dynamics-ax-system/
The most misunderstood part is the application x++ updates. What you are downloading from LCS is the x++ code. You are not downloading a deployable packages. A deployable package is a compile output that you can use to install to your none development machines.
Below link guides you how to install it.

Install a metadata hotfix

https://ax.help.dynamics.com/en/wiki/configuring-and-installing-a-metadata-hotfix-package/
Below is how you do it using the visual studio addin rather than command line. Saves you a bit of time.

Click on Addins > Apply Hotfix
image

It defaults the parameters but you have to browse and select your file.

image

Visual studio will try to process. You can see Task manager to see that it has kicked it off.

image

It may take a few minutes but you will get a message.

image

Check that it has been applied.

image
Important:
  • Addins can change at any time. So, learn the proper way from the Microsoft Wikis. Know what it is doing.
  • You can create your own addins to improve tooling. That is why Visual studio is so great.

Change password of web config file [AX 7]

It is good practice to change the Administrator password. You might want to be extra secure and also change the other accounts (service accounts).

You will notice that the web config file is encrypted when it comes to passwords.

image
You can use the following commands to encrypt/decrypt the file.


To decrypt run this command:
C:\AOSService\webroot\bin\Microsoft.Dynamics.AX.Framework.ConfigEncryptor.exe -decrypt C:\AOSService\webroot\web.config


To encrypt run this command:
C:\AOSService\webroot\bin\Microsoft.Dynamics.AX.Framework.ConfigEncryptor.exe -encrypt C:\AOSService\webroot\web.config

If you make changes you may need to reboot the machine. Restarting IIS didnt work for me when I changed the passwords.

Change password of web config file [AX 7]

It is good practice to change the Administrator password. You might want to be extra secure and also change the other accounts (service accounts).

You will notice that the web config file is encrypted when it comes to passwords.

image
You can use the following commands to encrypt/decrypt the file.


To decrypt run this command:
C:\AOSService\webroot\bin\Microsoft.Dynamics.AX.Framework.ConfigEncryptor.exe -decrypt C:\AOSService\webroot\web.config


To encrypt run this command:
C:\AOSService\webroot\bin\Microsoft.Dynamics.AX.Framework.ConfigEncryptor.exe -encrypt C:\AOSService\webroot\web.config

If you make changes you may need to reboot the machine. Restarting IIS didnt work for me when I changed the passwords.

Install an application x++ hotfix [AX7]

Microsoft has document this well on the wiki but can be confusing for first time. Also, things are improving and sometimes hard to keep up.

This is what you see on LCS when updates are available.

image

This wiki page walks you through the steps for applying a Microsoft Dynamics AX deployable package on a Dynamics AX system. This package can be either a binary hotfix for Application Object Server (AOS) or a deployable package that was created in your development environment.

Apply a deployable package on a Dynamics AX system

https://ax.help.dynamics.com/en/wiki/apply-a-deployable-package-on-a-dynamics-ax-system/
The most misunderstood part is the application x++ updates. What you are downloading from LCS is the x++ code. You are not downloading a deployable packages. A deployable package is a compile output that you can use to install to your none development machines.
Below link guides you how to install it.

Install a metadata hotfix

https://ax.help.dynamics.com/en/wiki/configuring-and-installing-a-metadata-hotfix-package/
Below is how you do it using the visual studio addin rather than command line. Saves you a bit of time.

Click on Addins > Apply Hotfix
image

It defaults the parameters but you have to browse and select your file.

image

Visual studio will try to process. You can see Task manager to see that it has kicked it off.

image

It may take a few minutes but you will get a message.

image

Check that it has been applied.

image
Important:
  • Addins can change at any time. So, learn the proper way from the Microsoft Wikis. Know what it is doing.
  • You can create your own addins to improve tooling. That is why Visual studio is so great.

Referencing a form control [AX7]

I am seeing this a lot more these days because of extensions in AX7. You tend to take the form run in the event and try to get a form control.

A lot of developers seem to be hard coding the control name. Not wrong but not the best way to do it. A form control name could change or be deleted. Then you wont catch this until a user runs it.
Not so good way:

formRun.design().controlName(“MyControlName”)
formRun.design().controlName(identifierStr(MyControlName));

The right way:

formRun.design().controlName(formControlStr(MyFormName, MyControlName));

This way you get your errors during compile time.

Referencing a form control [AX7]

I am seeing this a lot more these days because of extensions in AX7. You tend to take the form run in the event and try to get a form control.

A lot of developers seem to be hard coding the control name. Not wrong but not the best way to do it. A form control name could change or be deleted. Then you wont catch this until a user runs it.
Not so good way:

formRun.design().controlName(“MyControlName”)
formRun.design().controlName(identifierStr(MyControlName));

The right way:

formRun.design().controlName(formControlStr(MyFormName, MyControlName));

This way you get your errors during compile time.

AX 7 Working with Version control

This is relatively easy and setting up a new solution/project works without a problem. In this post,I want to highlight a little gotcha. If you open up a solution and notice the project isn’t bound to version control. i.e. No padlock icon, not able to check out
Then it looks like you may have to bind the solution. Open up the solution using source control explorer. You should get this message asking you to bind it. Click on Yes and follow it.


image


Following screen you get.


image


Otherwise, create a new solution that and make sure to tick the “Add to version control” flag in the dialog.

Right click context in AX7

In previous versions we had the ability to override showContextMenu to achieve right click in various controls..
This used have pop the menu and wait for a user response to continue. This concept of waiting for a response doesn’t exist in AX7. So, it has been split into two methods:
  • getContextMenuOptions
  • selectedMenuOption
Do a search in the AOT for code examples it’s relatively straightforward.

Right click context in AX7

In previous versions we had the ability to override showContextMenu to achieve right click in various controls..
This used have pop the menu and wait for a user response to continue. This concept of waiting for a response doesn’t exist in AX7. So, it has been split into two methods:
  • getContextMenuOptions
  • selectedMenuOption
Do a search in the AOT for code examples it’s relatively straightforward.

AX 7 Working with Version control

This is relatively easy and setting up a new solution/project works without a problem. In this post,I want to highlight a little gotcha. If you open up a solution and notice the project isn’t bound to version control. i.e. No padlock icon, not able to check out
Then it looks like you may have to bind the solution. Open up the solution using source control explorer. You should get this message asking you to bind it. Click on Yes and follow it.


image


Following screen you get.


image


Otherwise, create a new solution that and make sure to tick the “Add to version control” flag in the dialog.

create form in AX7

Lets have a look at creating a form. This is probably a little more exciting than the previous posts. As this is totally new to AX7.
Right click and Add > New
Select the Form object from the AX7 Artifacts


2016-01-14_1558


Initially it will show the pattern as unspecified. This is something we should always set if we expect our form to work across platforms (browsers). Otherwise we can set it to custom and it is free form. Which is a bit messy and unsupported.


2016-01-14_1600
Right click the Design and apply a pattern.
2016-01-14_1601


Once you have applied a pattern the bottom part of the form will show you the expected pattern. Now it is a matter of filling it up with the required control types.
Lets right click New > control we want to add.


2016-01-14_1608


Once you have added all your required controls.
Drag the table from the AOT to the Data Sources node. It should look something like this.


2016-01-14_1611
2016-01-14_1613


Now you can preview by clicking the tab.

Build your VS project. There should be no errors.
If you want to debug and run in a browser. Make sure to set the object as your Start Object.
\

2016-01-14_1614

create form in AX7

Lets have a look at creating a form. This is probably a little more exciting than the previous posts. As this is totally new to AX7.
Right click and Add > New
Select the Form object from the AX7 Artifacts


2016-01-14_1558


Initially it will show the pattern as unspecified. This is something we should always set if we expect our form to work across platforms (browsers). Otherwise we can set it to custom and it is free form. Which is a bit messy and unsupported.


2016-01-14_1600
Right click the Design and apply a pattern.
2016-01-14_1601


Once you have applied a pattern the bottom part of the form will show you the expected pattern. Now it is a matter of filling it up with the required control types.
Lets right click New > control we want to add.


2016-01-14_1608


Once you have added all your required controls.
Drag the table from the AOT to the Data Sources node. It should look something like this.


2016-01-14_1611
2016-01-14_1613


Now you can preview by clicking the tab.

Build your VS project. There should be no errors.
If you want to debug and run in a browser. Make sure to set the object as your Start Object.
\

2016-01-14_1614

Revamped Help System(Task Guides and Wiki) in the New Dynamics AX (AX 7)

One of the most talked about features when the new Dynamics AX was released, is the new Task Guides and Wiki (New Help system for AX). We all know the architecture for the Help system is completely revamped and I am sure there must be several videos, blog posts already out in the community talking about these.
In today’s post, I would like to provide my perspective of how these work together in the new Dynamics AX and how customers and partners can benefit from these.
Before we deep dive, let us understand the basic terms and what they really mean.
Help Wiki: In earlier version of AX, all the help content for Dynamics AX were primarily delivered via the Help Server and the TechNet. In the new Dynamics AX brings in a True Cloud based Help Wikisystem. This not only brings a whole new approach for discovering and consuming help content for AX, but also it has now become more business process and task focused. The earlier Help system always told us “How to do a specific task under various functional modules”, but there was no real content telling how these tasks tie together. The new help system focuses primarily in delivering Help content for the tasks in a business process oriented manner , which makes it easy to understand for the consumers (Consultants, End Users etc.). We will learn additional details about Wiki further in this post below.
Task guides: A task guide represents step by step guidelines to execute a specific task under a business process. Task guides are beyond just steps to execute a task actually. You can configure task guides to have as much as detailed information at each step of the task and you can keep track of your steps execution with visual indicators right in front of you, telling up to what step you have executed the task so far and how many steps are to be executed. You will also be prompted with visual navigator(Something like WalkMe), that will exactly point you where to navigate and what to click in order to complete each step of a task. So no more hassle to toggle between training documents/user manuals and AX to execute a task. We will discuss more on Task guides further in the post below.
BPM Library in LCS: Business process library is a library of business processes broken down to sub-business processes of a solution. This basically contains the breakdown of all the business processes down to the specific task levels under each business process and each task has a pre-reordered task guide for it.
Task Recorder: This is a tool built inside Dynamics AX (as was with earlier versions of AX, but improved/revamped now), which you can use to record the task guide for a task and then upload the same to LCS library. In this blog post, I will not talk on specifics of “how to create a BPM library”, How to use task recorder etc.
Before we go and see these in action in Dynamics AX, let us understand the overall Help System Architecture in the New Dynamics AX a little bit.
As I mentioned above, the help content in the New Dynamics AX is primarily delivered via two sources. 1. Help from Task guides. 2. Help from Wiki.
  • The Task guide contents are provisioned using the LCS (Life Cycle Services). These  are prepared using the task recorder tool and are published into LCS BPM Library of a specific LCS project, which can then ultimately be referenced and consumed within AX.
  • Source 1 of these task guides are the ones created by the product experts within the Dynamics AX team of Microsoft, to be used publicly by everyone. These would go into the Microsoft BMP library in LCS. Source 2 of the task guides would be the ones created and published by Partners and Customers. These would go into the Customer/Partner BPM library.
  • Once you have these BPM libraries within your LCS project, you can reference the same in AX help system configuration and contents from those specific libraries will be delivered when you search them on the Dynamics AX Help Pane.
  • The Wiki contents are directly provisioned from the AX wiki help site . The Wiki that is currently available is the Microsoft public wiki. This primarily  contains text/links to videos/embedded office mix presentations (Manually authored by Microsoft experts), wiki contribution topics from the Microsoft community(with approval/audit from Microsoft)  and finally Microsoft BPM topics from the public Microsoft BPM library in LCS.
  • Partner/Customer specific private Wiki not currently supported, but there is news that it is in the road map. This wiki content will be authored by partners and customers and those will be private for use.
Let us deep dive now and see some of these in action.
How to setup the Help system in your Dynamics AX environment: At this point, I assume that most of us are already familiar with what is LCS, LCS project and the BPM libraries(My library, Corporate library and Global library) under the LCS project. Once you have this setup, follow the steps below to setup your help system within AX.
  • In AX, navigate to System Administration > System Parameters > Help tab.
  • Select the LCS Project in which you would have your Business Process Library containing the task guides.
  • As soon as you select this, system will show all the libraries that are available in this LCS project.
Help Setup in AX Env
  • The next step is to select the specific libraries that you want to use for this AX environment. This means that business processes from this library will be shown when you search from help in AX. In this case I will select the Microsoft APQC library.
Help Setup in AX Select
  • Save and close the form.
Dynamics AX Help Pane and the Consumption Experience: Now that we have everything setup, let us see these in action. In this case, I will demonstrate how a user from the Customer Service team of an organization will consume the help topics for creating a Sales order in AX. (Both Wiki and Business process task guides).
  • The user navigates to the Accounts Receivable > All Sales Orders.
  •  Now, as soon as the user is on this form, let us say they are new to the system and are not fully aware of the steps and best practices they need to follow in order to create the order. The immediate thing that comes to mind is “I NEED HELP“. So they click the Help icon on the top right of the page.
Help Button
  • As soon as they click Help, system will automatically render the help information (Both Task Guides and Wiki) that are related to Sales orders and list them as per relevance.
Help Topics Listing
  • The Content under the Task Guides bucket/tab lists all the task guides that are present in the business process library related to sales order. The content under the Wiki bucket lists all topics related to Sales orders from the Microsoft public Wiki.
  • User can find or even search for more specific topics with appropriate key words under the Help Search box.
Wiki Bucket Help Search
  • Once the topics are listed, it is up to the user on how to consume these. If they are a new user dealing with the Sales order process for the first time and they really need step by step guidelines to make sure they do not go wrong, they can Start the Task guide in play mode. This will help them navigate to each click with visual pointers which makes it super easy to follow the steps and execute them.
  • So user selects the required Task guide and clicks Start Task guide button.
Start Task Guide button
  • With this, notice that system will start visual pointed navigational instructions with additional information for the user to execute the steps. System will also show visual indicators on which steps are completed, current step and which are pending, all of these without having to leave the form.
Visual pointers
Visual pointers 2
  • Once the user start a task guide, system will force them to follow the task guide recommended steps. But if they do any actions to deviate from the recommended steps, then  system will automatically prompt the user if they want to Unlock the task guide for them not to follow a particular step for any reason.
Unlock Task Guide
  • User can skip a non-mandatory step if they wish to. The user can also stop the task guide at any point they want.
  • Now, as users uses the business processes on a daily basis and gets familiar with the tasks, they might not need pointed guidelines always. So they can simply consume the task guides in Read only Mode, just to refer to any specific step or additional information on a specific step that they are not sure about.
Read Only mode
  • Finally, if the user wishes to explore more on the specific topic in the Public Wiki, they can chose the link under Wiki tab and it will take them to the Wiki link.
Wiki Link

Revamped Help System(Task Guides and Wiki) in the New Dynamics AX (AX 7)

One of the most talked about features when the new Dynamics AX was released, is the new Task Guides and Wiki (New Help system for AX). We all know the architecture for the Help system is completely revamped and I am sure there must be several videos, blog posts already out in the community talking about these.
In today’s post, I would like to provide my perspective of how these work together in the new Dynamics AX and how customers and partners can benefit from these.
Before we deep dive, let us understand the basic terms and what they really mean.
Help Wiki: In earlier version of AX, all the help content for Dynamics AX were primarily delivered via the Help Server and the TechNet. In the new Dynamics AX brings in a True Cloud based Help Wikisystem. This not only brings a whole new approach for discovering and consuming help content for AX, but also it has now become more business process and task focused. The earlier Help system always told us “How to do a specific task under various functional modules”, but there was no real content telling how these tasks tie together. The new help system focuses primarily in delivering Help content for the tasks in a business process oriented manner , which makes it easy to understand for the consumers (Consultants, End Users etc.). We will learn additional details about Wiki further in this post below.
Task guides: A task guide represents step by step guidelines to execute a specific task under a business process. Task guides are beyond just steps to execute a task actually. You can configure task guides to have as much as detailed information at each step of the task and you can keep track of your steps execution with visual indicators right in front of you, telling up to what step you have executed the task so far and how many steps are to be executed. You will also be prompted with visual navigator(Something like WalkMe), that will exactly point you where to navigate and what to click in order to complete each step of a task. So no more hassle to toggle between training documents/user manuals and AX to execute a task. We will discuss more on Task guides further in the post below.
BPM Library in LCS: Business process library is a library of business processes broken down to sub-business processes of a solution. This basically contains the breakdown of all the business processes down to the specific task levels under each business process and each task has a pre-reordered task guide for it.
Task Recorder: This is a tool built inside Dynamics AX (as was with earlier versions of AX, but improved/revamped now), which you can use to record the task guide for a task and then upload the same to LCS library. In this blog post, I will not talk on specifics of “how to create a BPM library”, How to use task recorder etc.
Before we go and see these in action in Dynamics AX, let us understand the overall Help System Architecture in the New Dynamics AX a little bit.
As I mentioned above, the help content in the New Dynamics AX is primarily delivered via two sources. 1. Help from Task guides. 2. Help from Wiki.
  • The Task guide contents are provisioned using the LCS (Life Cycle Services). These  are prepared using the task recorder tool and are published into LCS BPM Library of a specific LCS project, which can then ultimately be referenced and consumed within AX.
  • Source 1 of these task guides are the ones created by the product experts within the Dynamics AX team of Microsoft, to be used publicly by everyone. These would go into the Microsoft BMP library in LCS. Source 2 of the task guides would be the ones created and published by Partners and Customers. These would go into the Customer/Partner BPM library.
  • Once you have these BPM libraries within your LCS project, you can reference the same in AX help system configuration and contents from those specific libraries will be delivered when you search them on the Dynamics AX Help Pane.
  • The Wiki contents are directly provisioned from the AX wiki help site . The Wiki that is currently available is the Microsoft public wiki. This primarily  contains text/links to videos/embedded office mix presentations (Manually authored by Microsoft experts), wiki contribution topics from the Microsoft community(with approval/audit from Microsoft)  and finally Microsoft BPM topics from the public Microsoft BPM library in LCS.
  • Partner/Customer specific private Wiki not currently supported, but there is news that it is in the road map. This wiki content will be authored by partners and customers and those will be private for use.
Let us deep dive now and see some of these in action.
How to setup the Help system in your Dynamics AX environment: At this point, I assume that most of us are already familiar with what is LCS, LCS project and the BPM libraries(My library, Corporate library and Global library) under the LCS project. Once you have this setup, follow the steps below to setup your help system within AX.
  • In AX, navigate to System Administration > System Parameters > Help tab.
  • Select the LCS Project in which you would have your Business Process Library containing the task guides.
  • As soon as you select this, system will show all the libraries that are available in this LCS project.
Help Setup in AX Env
  • The next step is to select the specific libraries that you want to use for this AX environment. This means that business processes from this library will be shown when you search from help in AX. In this case I will select the Microsoft APQC library.
Help Setup in AX Select
  • Save and close the form.
Dynamics AX Help Pane and the Consumption Experience: Now that we have everything setup, let us see these in action. In this case, I will demonstrate how a user from the Customer Service team of an organization will consume the help topics for creating a Sales order in AX. (Both Wiki and Business process task guides).
  • The user navigates to the Accounts Receivable > All Sales Orders.
  •  Now, as soon as the user is on this form, let us say they are new to the system and are not fully aware of the steps and best practices they need to follow in order to create the order. The immediate thing that comes to mind is “I NEED HELP“. So they click the Help icon on the top right of the page.
Help Button
  • As soon as they click Help, system will automatically render the help information (Both Task Guides and Wiki) that are related to Sales orders and list them as per relevance.
Help Topics Listing
  • The Content under the Task Guides bucket/tab lists all the task guides that are present in the business process library related to sales order. The content under the Wiki bucket lists all topics related to Sales orders from the Microsoft public Wiki.
  • User can find or even search for more specific topics with appropriate key words under the Help Search box.
Wiki Bucket Help Search
  • Once the topics are listed, it is up to the user on how to consume these. If they are a new user dealing with the Sales order process for the first time and they really need step by step guidelines to make sure they do not go wrong, they can Start the Task guide in play mode. This will help them navigate to each click with visual pointers which makes it super easy to follow the steps and execute them.
  • So user selects the required Task guide and clicks Start Task guide button.
Start Task Guide button
  • With this, notice that system will start visual pointed navigational instructions with additional information for the user to execute the steps. System will also show visual indicators on which steps are completed, current step and which are pending, all of these without having to leave the form.
Visual pointers
Visual pointers 2
  • Once the user start a task guide, system will force them to follow the task guide recommended steps. But if they do any actions to deviate from the recommended steps, then  system will automatically prompt the user if they want to Unlock the task guide for them not to follow a particular step for any reason.
Unlock Task Guide
  • User can skip a non-mandatory step if they wish to. The user can also stop the task guide at any point they want.
  • Now, as users uses the business processes on a daily basis and gets familiar with the tasks, they might not need pointed guidelines always. So they can simply consume the task guides in Read only Mode, just to refer to any specific step or additional information on a specific step that they are not sure about.
Read Only mode
  • Finally, if the user wishes to explore more on the specific topic in the Public Wiki, they can chose the link under Wiki tab and it will take them to the Wiki link.
Wiki Link