May 23, 2017
Many of us trying to deploy the new D365 environment using LCS and Azure, but due to ARM configuration we face below issue,
Issue: Lifecycle Services can't connect to the Azure subscription using Azure Resource Manager. Click the Microsoft Azure Settings button and edit the selected Connector to provide the required permissions to ERP applications in your Azure subscription. If the issue persists, please contact support with this Id: da1c591d-7360-413c-b370-b51ec1ddef2b
Here are some good links on how we can fix this issue once for all,
Hope this will help.
May 19, 2017
Situation: While put a breakpoint and try to hit debug on any object which is not a part of your solution/project; Breakpoint will not hit. You will get below message.
“The breakpoint will not currently be hit. No symbols have been loaded for this document.”
Possible reason: This is because of one of Debugger property that will not load any symbols for other than Solution/Project objects.
Solution: To enable such debugging, you have to set the debugger property,
Uncheck this option Load symbols only for items in the solution as shown below snaps,
Step 1: Go to Dynamics 365 menu in Visual studio and select option
Step 2: Choose Debugging option from list and uncheck the Load symbols only for items in the solution
Now try to run again, this time breakpoint should hit as expected.
May 13, 2017
In D365 where we manage most of the things using LCS, if there is any Planned/Unplanned activity need to perform on server and down time require.
In such case, you need to send a message to all online used for that particular environment. To do that simply follow below steps,
Step 1: Login into your LCS account.
Step 2: Under Environment section > select your environment. > Click on maintain option > Select Message online users.
Step 3: Here you will have two options
i. Broadcast a new message for downtime: Post a new message
ii. Cancel message: To cancel any previous posted message.
Step 4: Select Broadcast a new message for downtime, you have to provide message start date time and when this operation will begin OR massage valid to date time. click on Post button and click when asking for confirmation.
Step 5: When a user will login into environment he/she must get this message
Step 6: Now if in case you have to postpone or cancel this activity, choose second option i.e. Cancel message, system will ask which message you want to cancel as there can be multiple messages.
Let’s try to cancel first message that we created in last step. In the right corner, you will found a delete icon, click on that icon and hit yes when ask for confirmation. You will see now only two messages are active here
Now when user will login in next time he/she will not any notification from system.
May 06, 2017
In my previous post I shared information about new classed that introduced in D365 for Dimension actions. In this post, I am sharing a sample code to merge two different ledger dimension and get a new LedgerDimension id.
This is rough code, please feel free to copy and update it according to your requirement.
public static void main(Args _args)
LedgerJournalTrans ledgerJournalTrans1, ledgerJournalTrans2 ;
RefRecId dim1, dim2, mergerDim;
select firstonly TrvExpTrans where TrvExpTrans.ExpNumber == "USMF-000565";
select firstonly AccountingDistribution where AccountingDistribution.SourceDocumentLine == SourceDocumentLine::find(TrvExpTrans.SourceDocumentLine).RecId;
dim1 = TrvCostType::find("mycategory").LedgerDimension; //First dimension
dim2 = 5637236123;//AccountingDistribution.LedgerDimension; //Second dimension
mergerDim = LedgerDimensionFacade::serviceMergeLedgerDimensions(dim1, dim2);
info(strFmt("Dim1: %1" , DimensionAttributeValueCombination::find(dim1).DisplayValue));
info(strFmt("Dim2: %1" , DimensionAttributeValueCombination::find(dim2).DisplayValue));
info(strFmt("merge dim: %1", DimensionAttributeValueCombination::find(mergerDim).DisplayValue));
Please share your queries/feedback in comment box, I will be happy to help you.
May 04, 2017
Since many days, I was trying to perform few logics over LedgerDimensions and DefaultDimensions, like merge and replace etc. In AX2012 its handled by DiemsionDefaultingService class that having many static methods to help us to play around ledger/default dimensions.
But in Dynamics 365 FO , this class is deprecated, and MS introduce few more classes to help us with these requirements. Here are few names of classes and method that can be used.
1. LedgerDimensionFacade :
This class used for fixed LedgerDimension, we have many static methods here, like Merge Dimension, getdefaultDimension and many more, refer below image.
This class will help us to perform an action over the default dimension. Like, Merge specify default dimension into a single default dimension, replace attribute value etc.
Please refer below image,
Both classed having an almost same method that is available in AX with DiemsionDefaultingService class.
How to merge two dimension
How to merge two dimension