Payable Bot Dynamics ax 365

Satya Nadella

We have seen an age of mobile phone apps, and guess what is coming next? Chatbot’s. To acknowledge their soaring growth and to leverage on this business opportunity, at this year’s Build conference, Microsoft has released a full framework to build bots. It is called the Bot Framework

*****************************************************************************

Hi Guys,

We Bot team (Amir & Zain) has completed first ever Chat Bot integration POC at Mazik Global. We have publish the bot to skype channel and now Payable operations can be performed from any where using Skype.

Here is the user manual if anyone would like to see details on its.

Payable Bot – D365 manual

On Technical details; how we have completed this. We would divide this to 3 parts, you would need some basic C# Async programming knowledge, You will need to design connector using c# that will talk to AX on simple read/write need of the Bot, third you need to publish the bot and connector to Azure, there you need some configurations and settings.

On configuring the Bot project and machine, please ready this blog

https://msdax.wordpress.com/2018/03/27/chat-bots-microsoft-bot-framework/

Here are lots of sample projects on Chat Bot, that helps me a lot in making this simple Chat bot.

GITHUB Sample projects on ChatBot

On writing the connector and publishing the App to Azure i have already covered detail blogs previously. that will help you in making the connector and publishing it to Azure.

https://msdax.wordpress.com/2018/03/20/consuming-dynamics-ax-365fo-data-entities-using-web-api-part-1/

https://msdax.wordpress.com/2018/03/22/consuming-dynamics-ax-365fo-data-entities-using-web-api-part-2/

https://msdax.wordpress.com/2018/03/31/consuming-dynamics-ax-365fo-data-entities-using-web-api-part-3/

Thanks for reading this interesting topic, I have keep it shot and simple, If you have any further questions or you would like to get any further Technical or Functional details, you can leave a comment and i will try to respond ASAP.

Thanks again

Amir : Happy Daxing.

 

Deploying SSRS Reports to Dynamics ax 365

I was going thru the deployment document where I found the way to redeploy all the reports which also includes your custom reports.  You normally execute this at the end, after the package is successfully deployed,

Deploying all/specific reports Using PowerShell

All reports can be deployed using following commands . To run command open PowerShell as administrator

K:\AosService\PackagesLocalDirectory\Plugins\AxReportVmRoleStartupTask\DeployAllReportsToSSRS.ps1 -PackageInstallLocation “K:\AosService\PackagesLocalDirectory”

Specific reports can be deployed by making small changes to above script. This script below can deploy all the AssetDep* reports and TaxVatRegister report.

K:\AosService\PackagesLocalDirectory\Plugins\AxReportVmRoleStartupTask\DeployAllReportsToSSRS.ps1 -Module ApplicationSuite -ReportName AssetDep*,TaxVatRegister.Report -PackageInstallLocation “K:\AosService\PackagesLocalDirectory”

Thanks

Amir : Happy Daxing

Consuming Dynamics AX 365FO Data entities using Web API (Part 3)

Hi Guys,

This is with the 3rd and final part of same demo, In this post we will see what is the code we need to write on wep api project to get the data from Dynamics ax 365. In this post we will be reading the purchase order data from Dynamics ax 365. In case if you have not read the previous two parts then follow these links

https://msdax.wordpress.com/2018/03/20/consuming-dynamics-ax-365fo-data-entities-using-web-api-part-1/

https://msdax.wordpress.com/2018/03/22/consuming-dynamics-ax-365fo-data-entities-using-web-api-part-2/

To start with, we need to add few dll references on Web api project. Please make sure Microsoft.OData.Client dll should be of same version what we have referenced in AuthenticationUtility and ODataUnity project(These projects are previously discussed in last blogs).

using Manage Nuget Package option we can install package for Microsoft.OData.Client

Now with the simple coding part, we need to reference following dll.

I have created this initConfiguration method to authenticate my call using Azure, GetAuthenticationHeader method is given on OAuthHelper class, we will pass true for web api projects.

Then i have created this fillOrder method to fill the list based on the query i have read from Dynamics ax 365 for purchase orders.

This is the main web api method for reading the purchase orders, i am reading top 50 for now.

After all this simple coding and all the configuration effort, when i click run on the project, i got this cool browser with my results of orders.

This is the result after all the effort,

Dynamics AX 365 insert not allowed for field ‘XXXX'”,”type”:”System.InvalidOperationException”

I was working on creating the new Data entity related to Case Details on Dynamics ax 365, The creation went well and simple. when i tried to consume the new Data entity from odata client using c#, i got this exception.

An error occurred while processing this request.{
“error”:{
“code”:””,”message”:”An error has occurred.”,”innererror”:{
“message”:”insert not allowed for field ‘CaseId'”,”type”:”System.InvalidOp
erationException”,”stacktrace”:” at Microsoft.Dynamics.Platform.Integration.Se
rvices.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext con
text, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Se
rvices.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 acti
onList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Pla
tform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContex
t operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OD
ata.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Inte
gration.Services.OData.AxODataBatchHandler.<ExecuteRequestMessagesAsync>d__10.Mo
veNext()”
}
}
}

This error is related to CaseId field on Case Details, after enough investigation i found that validatefield method from corresponding table is being fired and not allowing manual insertion on CaseId field. As this field is Number sequence bound. But our requirement was to create the case using custom value provided from Odata client using c#.

After enough research i got the clue to skip the table level validation from data entity. So i have decided to modify the data entity and override following methods and skip the table level validation for the CaseId field.

Thanks

Amir- Happy daxing 🙂