Dynamics 365 for Operations trial instance: Write custom code - axapta

How can I write plugins, workflows or JS for trial instance of Dynamics 365 for Operations using Visual Studio, like we do for MS Dynamics CRM online instance?

Unfortunately in Dynamics 365 Operations we cannot write plugins but we can create an out of box custom functionality known as "Developer Tools Addin" for performing any kind of functionality in a short and smooth way. The way to write the code is completely available in C#.
Microsoft has tried to bring X++ very close to the semantics of C# as now it as well has been counted in the list of .Net Compliant Languages.

No, We cannot write plugins, workflows, JS in Operations like CRM.
Dynamics 365 for Operations (AX) is totally different ball game when compared to Dynamics CRM (wrt architecture & stack).
Dynamics 365 for Operations is using x++ (.xpp) for custom developments & comparison with C# here
We have used Sharepoint as web client for AX, bcoz that time only thick client was available for AX. In that front, Dynamics 365 for Operations come up with strong Azure stack in cloud space.

Related

Dynamics 365 - IOrganizationService/Web Api

With CRM Dynamics 365 being released, Microsoft have officially deprecated the 2011 soap end point and are actively pushing their Web Api.
Deprecated Microsoft Dynamics CRM 2011 endpoint
What I would like to know though is how this affects my connections to CRM.
Currently I use the Tooling library to create instances of OrganizationServiceProxy using the CrmServiceClient class and a connection string. Would this have to change as I have many hundred of thousands of lines of code that all reference IOrganizationService.
Any help would be appreciated
In theory, that will be a transparent update and you should only have to upgrade to the latest package versions and rebuild your projects, in theory. :)
CrmServiceClient class will work, I am using this class for all my WCF integration services with Dynamics 365. This depreciation is mainly going to affect scripts that uses old REST and SOAP calls.
As a good practice, you can always use libraries from latest SDK and rebuild the projects to ensure that your codes are updated.
I'm assuming this is some C# and not JavaScript using that 2011 endpoint. Microsoft deprecated the Xrm.Client in favor of the Microsoft.Xrm.Tooling.Connector.
You can replace your connection with Xrm.Tooling.Connector and generally your code will work
https://msdn.microsoft.com/en-us/library/jj602970.aspx

Pre-requisites for learning CRM Dynamics

I am not sure if this is a valid question here but couldn't find an answer elsewhere. I am just about to starting training on Microsoft Dynamics CRM and with just over an year of experience with asp.net, a little bit of JavaScript, HTML and CSS, I am not sure if I am headed the right way.
Is this sufficient? What skills should I try to sharpen up before starting with Dynamics?
Dynamics CRM is probably the most flexible system I have ever worked on. You can extend it and make it do just about anything. So the first thing you will want to learn about is the different vectors or customization. You can customize CRM in several different ways and each has it merits and drawbacks:
Javascript [Client side only]. Note that CRM doesn't support customization by directly accessing the DOM, rather you work through XRM exposed interfaces. It allows practical GUI and data manipulation though through REST and FetchXML queries.
Workflows. These are rules you can program via the "point and click" interface. It allows you to monitor when certain actions happen and then react accordingly. These run server side so it is independent of the client. The system ships with lots of rules, but custom rules can be written to extend these almost infinitely.
Plugins. Similar to workflows but these fire immediately after subscribed to events. You can do things here like perform validation (which you can also do in Javascript, but plugins are server side) and manipulate data on or after saves.
For custom workflows and plugins, you will definitely need to be familiar with .NET (at least 4.0). You can use either C# or VB.NET, but the Visual Studio integration (which is really nice) is limited to C#. You can use VB.NET but it requires a lot of manual configuration so I wouldn't recommend it given the choice between the two. At the time of this writing, however, the Visual Studio integration is limited to VS 2010 and VS 2012 Professional.
This is just a primer, there is lots more info on MSDN and there are tons of blogs available to help you get started. Of course you can always post your specific questions here on SO for help...
Good luck to you.

AIF or Data Migration Framework [AX 2012]

I was importing some entities to AX 2012 using AIF and consuming the web services through an C# ASP.Net application.
I already made it for Customers,Vendors,Workers,Chart of Accounts and now starting General Journals.
Some customization I could find a workaround using the AIF Document Service Wizard:
Creating the DUNS number using a service for the DirDunsNumber table, later associating the customer with the new created DUNS Number.
On the Products data migration will need a lot of customization like this.
This month I heard the annoucement that there is this new framework (Data Migration Framework), still in beta version.
I would like to know if the Data Migration Framework would cover all of these customizations ?
What are the advantages of this new framework over AIF ?
The advantage over the AIF. Then I assume you are referring to the Document services. Well the first big difference is the purpose of the two frameworks:
DMF is to do migration of lots of data and should be built to handle the import of data efficiently (I repeat 'should' because until now the whole DMF code is not quite optimized for performance 'as is') It is using SQL Server to import the data into staging tables which should be faster than AIF.
AIF is to build services to integrate with Ax and is more intended to handle 'messages' instead of doing migrations. The big disadvantage of the AIF is the fomat (it uses soap XML and is validated by a schema which requires the messages to be in certain formatting where you as a developer have less control) Also, AIF in my opinion causes overhead and is not that transparant as a framework. For example you have to do some performance optimizations like caching the number of decimals of EDT's because it takes too long)
In your case I would go with Custom Services. The can be built and deployed relatively easy as opposed to AIF services and you have more control over the Data contracts you are providing to be used.
So in short:
Use the DMF to do migration and import of large data sets
Use Custom services to provide services to communicate to Dynamics AX 2012. These are WCF services and thus well known by non-AX developers
Use AIF if you are forced to do so ;-)
If you want to read about AIF (and Dynamics AX 2012 services in general) , you can have a look at a book that I wrote together with a collegue of mine : Dynamics AX 2012 Services
The Data Migration Framework is found here.
As the name implies it primary focus is "data migration", a one time move of data from a system to AX.
AIF is more for day to day transfer of business data (for example invoices).

MorphX report designer: are there any alternatives?

MorphX report designer in Ax 2009 seems to be not the 'best' as report designer.. I don't know if is my fault, or if morphx report designer too buggy to do his job.
I'm guessing if there are some alternative to do report for Ax 2009: maybe Crystal Report and Visual Studio ? Or ... ?
Thanks
SSRS is the main alternative for AX 2009. You can deploy the reporting extensions and analysis cubes for some good reporting data. Analysis cubes will need to be configured to match your individual license file.
If you just want to be able to create SSRS reports, I believe you can just go to (Admin>Setup>Business analysis>Reporting Services>Reporting Servers" and point to your SSRS instance, and create the "Dynamics AX" data source.
You might need to do Kerberos setup too depending on your environment topology.
The best alternative options is by far Reporting Services. It is supported by Dynamics AX 2009 in a way there there is tools and platforms to develop reports than honor the security from within AX and also the important feature of being able to persist the report design back to the Application Object Tree (under Report Libraries).
How to setup and configure SSRS for Dynamics AX 2009 is a topic on it's own, but there should be plenty of good resources out there to help you.
Good luck!
In addition to previous answers you can use any report designer you like if you are going working with database directly.
But be ready some of axapta features will not be working automatically, for example - labels for enum values.
Great place to start with SSRS using Visual Studio 2008 are screencasts available on youtube, just go onto youtube and search for "AX2009 SSRS".
SSRS is fine for periodic reporting, however "online" reporting - such as invoices, pick lists, etc (anything printed when posting) is better off handled by external software. You may wish to print to file or to a DB and use 3rd party software to pick up the design/formatting.
Bottomline's Create Forms is one example I have seen used. You also have workflow options which is great when you have different companies/customers/suppliers with difference requirements, even better if you have multiple brands within the same company.

Generate reports through ASP.NET

I need to generate reports from database (billing forms for example) from ASP.NET interface. So I'm wondering which approach is better : Use Crystal Reports, reports based on RDLC or SQL Reporting Services ? I need to create an interface, which allows user to select data and through pre-created report definition generate that report. I want to use ASP.NET with AJAX, so it will act as a real application, but with no need for installation - and this is primary requirement.
So, if somebody knows which technology suits best those requirements...I will be grateful :)
Personally I would go for DevExpress XtraReports.
I have used it in the past in both windows forms and web forms; it costs few hundreds of bucks but with the package you also get plenty of other UI controls, or you spend less and only buy XtraReports. It pays off in a flash, main advantages in my opinion are:
each report can be designed with a Visual Studio integrated designer and becomes a simple c# class, easy to instantiate and use, no magic and no external report definitions, all pure 100% .NET code;
end user designed is royalty free and users are amazed by the power and quality of the designer, with Ribbon or classic UI, plenty of features;
so many out of the box zero coding ready to use features like print preview, export to excel, pdf etc...
Disclaimer: I do not work for DevExpress, I am not paid by them, simply I am a satisfied customer and used their products before with joy and good results, we are now in the process of starting a major MVC application development in my company and we are buying licenses of their DXperience Enterprise subscription these days.
you are free to also evaluate or test Crystal Reports or similar reporting solutions offered by ActiveReports, Telerik etc, I can only speak about XtraReports because I used it a lot, Crystal I used in the past with Visual Studio 2003 but I was not so impressed by the designer and deployment was really a mess in windows forms... always missing some files and having errors on client machines...
I would suggest taking a look at ActiveReports 6. It provides great features and allows you to make almost unlimited customization to your report. For ASP.NET you can either opt for the standard edition which allows you to custom export your reports to different formats like PDF, Excel etc and display them to the users.
The professional edition provides you a webviewer control which allows you to display reports directly on the viewer and the user has the option to chose from PDF, HTML and FlashViewer format. In addition to this it also provides a silverlight based viewer control.
You may also want to check the blogs and the forums just in case you want to get more information about the product.
Thanks,
Sankalp (GrapeCity)
Don't miss to take a look into List & Label, too.
We've done some good projects with it!
We use SQL Server Reporting services, it has a visual studio based designer, and it's free. The distribution is a little tricky - If your clients already have SQL Server installed, then there is a a good chance they will have the reporting framework installed. Otherwise you can get just about distribute the dll's with your application - although this takes a bit of digging.

Resources