Tuesday, July 17, 2018

How to add external users to your Visual studio team services(VSTS) account Dynamics 365 Operations

If you’re an Azure Active Directory (Azure AD)-backed VSTS account user who wants to be able to collaborate with external users, you can invite an external user to your VSTS account. To do so, you must add the identities of your external users to your Azure AD and VSTS accounts. Doing this will also grant the user some additional privileges. Learn more about the additional account-level resources.

Prerequisites

  • You must set the policy 'External Guest Access' to 'On' for the account which you would like to invite external users to.
External Guest Access
  • You must be a member of the Project Collection Administrators group for the account which you would like to invite external users to.
  • The VSTS account, to which you want to invite external users, must allow for external invitations. Go to the account Settings page to confirm.
  • The Azure AD tenant, to which you want to invite external users, must allow you to add new users based on your AAD tenant’s guest policies. Learn how to become eligible to invite external users on your Azure AD tenant.

Invite external users to your VSTS account

  1. Sign in to your VSTS account (https://{youraccount}.visualstudio.com).
  2. Go to the Users tab in Settings.
  3. Choose Add new users.
  4. Enter the external user's email address followed by a semicolon, and then choose Add. A warning message will appear indicating that an external user is being added from outside of your directory.
Add external user to VSTS
  1. Advise the external user to locate the email they received from VSTS and go to the redemption URL. The external user must navigate through an Azure B2B redemption experience, which will add the user to your tenant.
Note
If you need to resend the invitation email, go to the Users page, select the user, and choose Resend invite.
The external user is added to the VSTS account to which they were invited and has immediate access

Actual Post: https://docs.microsoft.com/en-us/vsts/organizations/accounts/add-external-user?view=vsts

Friday, July 6, 2018

Stop script for service model: AOSService on machine : Application configuration sync failed. Custom action sync failed with error: 'ArgumentException:Couldn't find id for class AxPingHelper in Dynamics 365/AX

Hi,

while deploying the deployable package in sandbox through LCS I got  the below error and failed at stage 11.


Stop script for service model: AOSService on machine


7/06/2018 16:29:33: Application configuration sync failed. Custom action sync failed with error: 'ArgumentException:Couldn't find id for class AxPingHelper
   at Microsoft.Dynamics.AX.Deployment.Setup.AppOperations.RunStaticXppMethod(String className, String methodName, String methodInput, String partitionName)
   at Microsoft.Dynamics.AX.Framework.Database.Tools.LegacyCodepath.<>c__DisplayClass28_0.<RunCustomAction>b__0()
   at Microsoft.Dynamics.AX.Framework.Database.Tools.LegacyCodepath.ExecuteWithinAOS(SyncOptions syncOptions, String sqlConnectionString, IMetadataProvider metadataProvider, Func`1 func, Action`1 errorHandler)'
07/06/2018 16:29:33: The operation failed.



Reason: In my case, the problem was with the BI server login issue and the report server databases were in recovery mode.

Solution: Enabled the database access for "Local admin"  account and set the databases online. 


How to get label from Enum Value in AX x++

Hi,
Below is the code we can use for getting the label for an enum.In this example I'm taking InventTransType enum.

    SysDictEnum dictEnum = new SysDictEnum( enumnum(InventTransType) ); 

   dictEnum.value2Label(InventTrans.TransType);

       or 
 // If you want to assign the label to string
   dictEnum.index2Name(InventTrans.TransType);

Monday, July 2, 2018

How to get Product Variants from AX Using X++

Below is the X++ query for getting the product variants.


InventDimCombination inventDimCombination;
InventDim                     inventDim;

while select inventDimCombination

   where inventDimCombination.ItemId == '1000'

      join inventDim

          where inventDim.inventDimId == inventDimCombination.InventDimId

  {

      info(strFmt('%1 : %2 : %3 : %4 : %5',

             inventDimCombination.DistinctProductVariant,

             inventDim.configId,

             inventDim.InventColorId,

             inventDim.InventSizeId,

             inventDim.InventStyleId));     

  }

Wednesday, June 27, 2018

ExecuteReader: CommandText property has not been initialized in Dynamics AX 365/ AX 7.0

I got the below error while processing the XML files by using the data entities.

Reason: Tag is missing in the XML file. In my case <Document> tag is missing.  I was defined the data entity with this tag and it was missing in the XML.

<headerstart>
<Name></Name>
</headerend>

Solution: Add the missing <Document> tag in the XML and reprocess the file.

<Document>
     <headerstart>
         <Name></Name>
      </headerend>
</Document>

Tuesday, June 12, 2018

your client ip does not have access to the server. sign in to an azure error

I got the below error while access the Dynamics 365 PROD DB from my DEV box.

your client ip does not have access to the server. sign in to an azure error

Reason: Dev box IP was not whitelisted in the PROD instance.

Solution:

Below is the query to add the IP addresses to the firewall table(sys.database_firewall_rules) to access the database from outside.

Run the below query to see existing IP's
select * from sys.database_firewall_rules;


I executed the below queries to add the IP addresses to the table.

-- Create database-level firewall setting for only for one IP 0.0.0.4 EXECUTE sp_set_database_firewall_rule N'Example DB Setting 1', '0.0.0.4', '0.0.0.4'; -- Update database-level firewall setting to create a range of allowed IP addresses EXECUTE sp_set_database_firewall_rule N'Example DB Setting 1', '0.0.0.4', '0.0.0.6';

Use what is my ip in google for knowing your public IP.
Note: My AX is on cloud and we created a custom screen in AX to run the queries.

Below are the links helped me.
https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-set-database-firewall-rule-azure-sql-database?view=azuresqldb-current
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure

SQL query to extract primary address from CUSTTABLE in AX2012/Dynamics 365 operations

Hi,

Below is the the query we can for the customers primary postal address.


--For all addresses
 select CUSTTABLE.ACCOUNTNUM, DIRPARTYTABLE.NAME, Address.ADDRESS,Address.COUNTRYREGIONID 
 from CUSTTABLE 
 left outer join DIRPARTYTABLE ON DIRPARTYTABLE.RECID = CUSTTABLE.PARTY 
 left outer join LOGISTICSLOCATION ON LOGISTICSLOCATION.RECID = DIRPARTYTABLE.RECID 
 left outer join LOGISTICSPOSTALADDRESS AS Address ON Address.LOCATION = LOGISTICSLOCATION.RECID 
 Order by CUSTTABLE.ACCOUNTNUM 


--For primary address
 select CUSTTABLE.ACCOUNTNUM, DIRPARTYTABLE.NAME, Address.ADDRESS,Address.COUNTRYREGIONID  
 from CUSTTABLE  
 left outer join DIRPARTYTABLE ON DIRPARTYTABLE.RECID = CUSTTABLE.PARTY  
 left outer join LOGISTICSLOCATION ON LOGISTICSLOCATION.RECID = DIRPARTYTABLE.PRIMARYADDRESSLOCATION  
 left outer join LOGISTICSPOSTALADDRESS AS Address ON Address.LOCATION = LOGISTICSLOCATION.RECID  
 Order by CUSTTABLE.ACCOUNTNUM 

What is the primary purpose of using a Solution in Microsoft Power Platform & ALM?

As organizations embrace low-code development with Microsoft Power Platform , it becomes essential to manage and govern apps, flows, and dat...