Monday, June 25, 2018

Error in Getting SID in Dynamics AX 2012


In Dynamics AX 2012, while doing changes in Tools -> options -> Status bar and ----- "error in getting sid" and can’t save the changes.

This issues comes up every now and again.

The SysUserSetup form tries to update your SID every time you update your settings.

It uses network alias and domain name to find out the "actual" SID.

When it fails (for instance, your current SID in AX is valid but your network alias/domain name are not) then it might error  "invalid arguments passed to getUserSid

This error comes when either the SID,network alias or network domain for the admin user in Userinfo table is incorrect.

The easiest fix is to disable the user, then enable.

You can check the table using the query” select SID, NETWORKDOMAIN, NETWORKALIAS, * from UserInfo where Id = 'Admin'

( but you should obviously set your own network domain and alias when running that query, not just a blank query.)

You can correct using :

update USERINFO set SID = 'SID', NETWORKDOMAIN = '', NETWORKALIAS = '' where Id = 'Admin'

(To obtain the SID enter whoami /user in cmd)



Scenario;

The administrator of AX imports your user and you can start working in AX.

The system administrator alters your information (e.g. your name) in Active Directory after your user is imported into AX.

Then you experience the SID error. The resolution is to  import the user from the AD again.

". A workaround is to create another user with System Administrator role and change its SID to yours while also clearing the "admin's SID.



Summary:

1.      You need to make sure that User SID is correct,.

2.       To view and change individual SID in SQL Server , Open Microsoft Dynamics AX Database and go to SysUserInfo Table and look for SID Column.

3.      Open Microsoft Dynamics AX Client and make sure that User NetworkDomain and NetwokAlias are correct based on your current Domain Controller.

4.      Check the UserInfo Table under AOT > System Documentation > Tables > User Info.

Dynamics 365 Spring 2018 Release – Updates and Resources


On June 1st, Microsoft announced on their official Dynamics 365 Twitter channel (@MSFTDynamics365) that the Dynamics 365 Spring 2018 release notes have been updated. Several changes were made to the Field Service, Social Engagement, Talent, Finance and Operations, PowerBI, Microsoft Flow and Data Integration sections of the Spring 2018 release notes.

This follows another series of updates announced on May 1st, so if you’ve read the Spring 2018 update notes upon their first release last April, there is now a lot of new information!

Information and links about the Dynamics 365 Spring 2018 release:

Build a Lookup Based on a Financial Dimension, Using Event Handlers on D365 FO


Unfortunately, the useful function SysLookup::lookupDimension() was removed from Dynamics 365 for finance and operations

http://blog.daxteam.net/2015/04/dimenson-value-lookup-by-code-dynamics.html

Now you can find below the alternative to build a lookup based on a financial Dimension, using event handlers on dyn365fo:

[FormControlEventHandler(formControlStr(SalesLineBackOrder, BusinessLineFilter), FormControlEventType::Lookup)]

public static void BusinessLineFilter_OnLookup(FormControl sender, FormControlEventArgs e)

{

    SysTableLookup                      sysTableLookup;

    Query                               query;

    QueryBuildDataSource                qbdsDimensionFinancialTag;

    QueryBuildRange                     qbrFinancialTagCategory;

    #define.BusinessLine('BusinessLine')



    query = new Query();

    qbdsDimensionFinancialTag = query.addDataSource(tableNum(DimensionFinancialTag));

    qbrFinancialTagCategory = qbdsDimensionFinancialTag.addRange(fieldNum(DimensionFinancialTag, FinancialTagCategory));

    qbrFinancialTagCategory.value(strFmt('%1', DimensionAttribute::findByName(#BusinessLine, false).financialTagCategory()));



    sysTableLookup = sysTableLookup::newParameters(tableNum(DimensionFinancialTag), sender);

    sysTableLookup.addLookupfield(fieldNum(DimensionFinancialTag, Value), true);

    sysTableLookup.addLookupfield(fieldNum(DimensionFinancialTag, Description));

    sysTableLookup.addSelectionField(fieldNum(DimensionFinancialTag, FinancialTagCategory));

    sysTableLookup.parmQuery(query);



    sysTableLookup.performFormLookup();

}

Web Hooks



What are Webhooks ?
Who uses Webhooks ?
How webhooks are implemented in SharePoint ?


WebHooks is a lightweight HTTP pattern providing a simple pub/sub model for wiring together Web APIs and SaaS services. When an event happens in a service, a notification is sent in the form of an HTTP POST request to registered subscribers. The POST request contains information about the event which makes it possible for the receiver to act accordingly.

Because of their simplicity, WebHooks are already exposed by a large number of services including Dropbox, GitHub, Bitbucket, MailChimp, PayPal, Slack, Stripe, Trello, and many more. For example, a WebHook can indicate that a file has changed in Dropbox, or a code change has been committed in GitHub, or a payment has been initiated in PayPal, or a card has been created in Trello. The possibilities are endless!

Microsoft ASP.NET WebHooks makes it easier to both send and receive WebHooks as part of your ASP.NET application

Microsoft ASP.NET WebHooks is part of the Microsoft ASP.NET family of modules and is hosted as an Open Source Project on GitHub.

Why Chrome For D365 - Multiple Personas Up and Running within Different Browser Sessions



Microsoft is trying to phase out IE for Edge ( which I dislike almost as muchh as Bing).

I have not had great experience with Chrome but it does have one feature that is really useful demonstrating Dynamics 365.

Chrome will allow us to have multiple personas up and running within different browser sessions and they keep all of their session information separate.

So when we are trying to show how multiple people work through a scenario, we can have them up and running at the same time without having to resort to multiple in private sessions and also multiple browser types to keep the people in check.

So it might be a good idea to use Chrome just for this reason.

open up Chrome.

If you haven’t noticed the different profiles that you can switch between within Chrome then click on the name up in the top right of the browser and you will see that there is an option to manage the people profiles.

To see all of the people just click on the Manage people link.

This will open up a list of all of the different people that you can impersonate.

This will open up a form where we can add a new persona.

Start off by giving your new demo persona a name. In this case add Alicia Thomber and also add the role within the organization (Purchasing Agent) - click on the Add button.

That will open up a new Chrome session that is linked to Alicia’s profile and we can open up the Dynamics 365 home page.

This will allow us to log into Dynamics 365 with her account information, and we will be able to save this information within her profile.

Also, when she logs in she will only see that apps that she is allowed to access.

Additionally she will be secured down just to the functions that she has access to within Dynamics 365.

And we can even see all of her information within rhe Employee elf Service portal.

The great thing is that when we are working with multiple personas within the same session, they don’t step on each other’s toes and we can see their details at the same time.

Not only is it easy to separate out the different sessions that we need to run during a Dynamics 365 demonstration, but also we can easily tag the people with roles and even personalize each profile just like we would do in the real world.

More Than One Form Was Opened at Once for the Lookup Control

In Dynamics 365 for Finance and Operations, when subscribing to a lookup event to modify an existing lookup on a form control, you must...