Tag Archives: Dynamics 365
How to enable out of the box hyperlink feature for SSRS Reports in D365 Finance and Supply Chain Management
In D365 Finance and SCM there are lot of out of the box SSRS reports in which you have hyperlink to move to that particular record (for example Ledger transaction list). But sometimes when you update environment you might end up with no such option in you SSRS report as you can see in following screenshot. To enable hyperlink features you need to follow following steps:- Navigate to feature management and go to all section in that Search for Report drill through links and disable this feature Search for Report PDF viewer and disable you need to disable this feature for following limitation which you can find in screenshot. Now check desired SSRS reportNow you are able to see hyperlinks links in the reports I hope this post will be helpful to you, Thank you!
CloudFronts Dynamics 365 Finance & Operations Update Steps & Protocol
Microsoft is committed to delivering predictable service updates. These service updates will be made generally available for self-deployment approximately 2 weeks before Microsoft automatically applying the update. Some of these updates can have a lot of changes in it and this can impact any customization done on the client’s environment. Thus it becomes very important for a partner to do complete testing before any update is applied. CloudFronts is dedicated to ensuring business continuity of the client and thus have protocols set up to ensure nothing gets impacted on the client’s production environment. Following are the protocols for the same : Service Update Availability – Key points: Each service is released by the Microsoft which has following dates criteria: Preview availability date: When the update is in preview by Microsoft. Generally available (self-update) date: This update will be made generally available for self-deployment approximately 2 weeks before Microsoft automatically applying the update. Auto-update schedule (via LCS update settings) production start date: A date for applying the service update in the production environment. End of service date: Date from when service update is over. Referenced image: For checking the release dates for the above criteria, link as: https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/get-started/public-preview-releases How Long it can be delayed for Next Service Update? The customer can pause, delay, or opt-out of an update via Update Settings in the Lifecycle Services projects. A customer can choose to pause up to 3 consecutive updates. The following is an example of a delayed update: The customer is currently on version 10.0.2. The customer can pause updates 10.0.3, 10.0.4, and 10.0.5. The customer must take the 10.0.6 update when it is available. Upcoming Schedule of Update The customer has the option to apply the update when it is convenient, or let Microsoft auto-apply the service updates based on the selected maintenance window. Customer must require to have an update no older than 4 months Critical Issues Critical issues should always be submitted to the support team via Lifecycle Services as soon as they are identified. The support staff will work with you on the resolution to the critical issue. Path for Early Service Update Scheduling Go to LCS -> Project settings Update settings Pausing the service update temporarily. As shown in the below image, when updates resume, the designated sandbox and production environment will be updated to the latest service update before it can be paused again. HOW TO CHECK UPCOMING UPDATES FROM LCS? In update setting -> click on view the update calendar It looks like: This will help us to plan the next scheduling for service updates. According to this, we can plan the next calendar for upcoming service update CLOUDFRONTS PROTOCOL FOR TRACKING DOWN THE ENVIRONMENT DETAILS We have added the field ERP version in D365 PSA where the project lead will update the version of the production environment. After every update, it is the Project Lead’s responsibility to update this field. Every Monday we have a scheduled recurring management meeting where the CEO, Delivery Head and Practice Lead discuss the status of each project by opening a Project Overview Report developed in Power BI. The same report has the column of ERP version so that the management is aware of the client’s D365 Finance & Operations version. CLOUDFRONTS STEPS FOR KEEPING THE ENVIRONMENT UP TO DATE For each client our support system would have one case created specifically for the updates and it will be assigned to the Project Lead. The Details of the case is as follows: Case name: Environment update – Client name Notes: ERP Environment version details and the next path for service update Follow-up date: Follow-up date would be one month from the current date and till then the case will be on hold. Based on the follow up date system will automatically send the email to the assigned person so that he is intimated to work on the case. Based on this the user needs to check for updates on the LCS and follow the steps based on this document. STEPS FOR APPLYING SERVICE UPDATE – DEV / CLOUD HOSTED Key points: Before applying the service update on UAT, service update must be applied successfully on the Build and Test Environment or Cloud-hosted environment Sequence for applying update on the environment Build and Test Environment / Cloud-hosted environment UAT / Sandbox Production Before applying the service update, all the models should be a build-up The database must be synchronized Check if any AOT (Application Object Tree) objects are under pending changes in VSTS / TFS All the AOT objects should be checked in to VSTS Steps for applying the service update on the development environment are the same as applying to the UAT environment. Hence steps are listed on the next page. STEPS FOR APPLYING SERVICE UPDATE – UAT Go to the LCS -> Select the appropriate projectof the environment Select the UAT appropriate environment-> Click on full details Scroll down to check the latest update. In this part, we will able to see all the latest service updates. Select the appropriate service update on which we have planned to do. Click on View update. Here, we’re taking an example of moving the environment on 10.0.12 Go to Savepackage Click on Select all. Make sure all the packages are selected. Click on Save packageand then give the appropriate Service update name and then click on save the package. It will save all the hotfixes. Wait for a few moments (It can take 5-10 minutes depends on the number of packages are being loaded). After successfully saved the packages, click on Done button Go back to the environment page and then click on Maintain-> Apply updates We had given the name Service Update 10.0.12which should be shown here to apply the update In some cases, the package will not appear suddenly. What to do in such a case? Let’s see the next step on how to verify that. Go to Asset library Click on Software deployable packageand then navigate to our service package Have a look on the column – Valid. If it is not signed with the right symbol then keep patience until it is done. Once the package is validated successfully, we will able to deploy the service update to the environment. After validating the deployable package, we can see the package and just one step away for applying the service update. Click on the Apply button. TESTING – RSAT … Continue reading CloudFronts Dynamics 365 Finance & Operations Update Steps & Protocol
Importing Notes in Dynamics 365 correctly
Preparing an Excel Template for Notes entity is a little tricky. Doesn’t work when you just Export directly as a Template from the Templates Wizard and try to include all columns and import as is. Why? Because there’s no Regarding field exported when you export/import that template. Here’s what you can do as a workaround. Scenario Now, let’s assume you want to Export a standard Excel Template for import so that you can re-import into Dynamics for Notes entity for a regarding entity. Exporting Excel Template Your Document Templates are where all your Excel Templates can be exported from – Now, follow the below – Select Notes entity and Edit Columns you need to Export the Excel with your required columns Select the columns you need. Observe that you don’t get Regarding column to export Then Download the file. Modifying the Excel Now, since you don’t have the Regarding field in the Excel you exported from Templates, here’s what you need to do – Add a column yourself, give it a proper name based on what the Notes’ Parent entity should be. In this example, I’m importing Notes for Account. So, I’m adding a column called ‘Account Name’ A new column will be created as below Now, populate your data based on how the Notes should be imported and tagged to which records. Now, by default, this template is exported in Microsoft Excel Worksheet (xlsx) format. You’ll need to Save As in CSV format Re-Importing Up until above, your Excel is ready to be imported. Let’s begin – Import the file as a usual Excel Import in Dynamics 365 CRM. Since this is not a direct Template importing as is, but a CSV, you’ll get to map this file manually. Then, you’ll need to manually select the Note entity from the drop-down and then proceed Now, whatever is mapped automatically will be mapped. For the newly created Account Name field, you’ll need to expand the Not Mapped dropdown and select Regarding (Lookup) Now, you’ll need to select the entity you want the Notes to appear under. In my case, this is Accounts, so I have it right there Since this Regarding fields supports several entities, scroll all the way down to Confirm your selection Now, your Regarding field is set and you are ready to confirm and Import Now, my Import here is completed. (You’ll need to take care the Import is successful) Imported Notes If you look at the records now, the Notes will be attached to the respective Regarding records Hope this helps!!
Sales return order line registration in D365FO and AX 2012
Introduction: Sales return order line registration in X++ Details: Consider SalesReturnOrderRegisterLine is the table where records are with SalesLine referenced. If we are required to register serialized items than salesReturnOrderRegisterLine.inventSerialId will be considered and if item referred with batch then salesReturnOrderRegisterLine.inventBatchId will be considered. public static void inventoryRegistration(SalesId _salesId) { SalesReturnOrderRegisterLine salesReturnOrderRegisterLine; SalesLine salesLine; TmpInventTransWMS tmpInventTransWMS; InventTransWMS_Register inventTransWMS_Register; InventDim inventDim; InventTrans inventTrans; VendPackingSlipTrans vendPackingSlipTransLoc; InventTransOrigin inventTransOrigin; while select salesReturnOrderRegisterLine where salesReturnOrderRegisterLine.SalesId == _salesId { salesLine = SalesReturnOrderRegister::updateDispositionCode(salesReturnOrderRegisterLine.InventTransId); inventTransWMS_Register = InventTransWMS_Register::newStandard(tmpInventTransWMS); select firstonly inventTrans where inventTrans.StatusReceipt == StatusReceipt::Ordered exists join inventTransOrigin where inventTransOrigin.RecId == inventTrans.InventTransOrigin && inventTransOrigin.InventTransId == salesLine.InventTransId && inventTransOrigin.ReferenceId == _salesId; tmpInventTransWMS.clear(); tmpInventTransWMS.initFromInventTrans(inventTrans); tmpInventTransWMS.InventQty = salesReturnOrderRegisterLine.SalesQty; tmpInventTransWMS.LineNum = int642int(salesLine.LineNum); inventDim = salesLine.inventDim(); inventDim.inventSerialId = salesReturnOrderRegisterLine.inventSerialId; inventDim.inventBatchId = salesReturnOrderRegisterLine.inventBatchId; tmpInventTransWMS.InventDimId = InventDim::findOrCreate(inventDim).inventDimId; tmpInventTransWMS.ItemId = salesLine.ItemId; inventTransWMS_Register.writeTmpInventTransWMS(tmpInventTransWMS, inventTrans, InventDim::find(tmpInventTransWMS.InventDimId)); if (!inventTransWMS_Register.updateInvent(salesLine)) { throw error(“Error during sales return order registration”); } } } Consider SalesReturnOrderRegister is the class which has below static methods public static SalesLine updateDispositionCode(InventTransId _inventTransId) { SalesLine salesLine = SalesLine::findInventTransId(_inventTransId, true); ReturnDispositionCode returnDispositionCode; SalesReturnOrderRegister::runPreReturnOrderRegisterLine(salesLine); salesLine.ReturnDispositionCodeId = returnDispositionCode.DispositionCodeId; salesLine.update(); return salesLine; } public static void runPreReturnOrderRegisterLine(SalesLine _salesLine) { InventTransOriginId salesLineInventTransOriginId; InventTransOriginId reservationLineInventTransOriginId; SalesLine reservationLine; ReturnDispositionCode returnDispositionCode; if (_salesLine.ReturnStatus == ReturnStatusLine::Awaiting) { if (!_salesLine.ReturnAllowReservation && _salesLine.isStocked()) { SalesLine::changeReturnOrderType(_salesLine.InventTransId); _salesLine = SalesLine::findInventTransId(_salesLine.InventTransId, true); } select firstOnly returnDispositionCode where returnDispositionCode.DispositionAction == DispositionAction::Credit; _salesLine.ReturnDispositionCodeId = returnDispositionCode.DispositionCodeId; _salesLine.update(); } else if (_salesLine.ReturnStatus == ReturnStatusLine::Registered) { select forupdate firstonly reservationLine where reservationLine.InventRefTransId == _salesLine.InventTransId; if (reservationLine || _salesLine.qtyMarked()) { if ((_salesLine.returnDispositionCode().DispositionAction == DispositionAction::ReplaceScrap || _salesLine.returnDispositionCode().DispositionAction == DispositionAction::ReturnToCust || _salesLine.returnDispositionCode().DispositionAction == DispositionAction::Scrap)) { if (reservationLine.SalesQty == reservationLine.RemainSalesPhysical) { reservationLineInventTransOriginId = InventTransOriginSalesLine::findInventTransOriginId(reservationLine.DataAreaId, reservationLine.InventTransId); salesLineInventTransOriginId = InventTransOriginSalesLine::findInventTransOriginId(_salesLine.DataAreaId, _salesLine.InventTransId); InventTransOrigin::deleteMarking(salesLineInventTransOriginId, reservationLineInventTransOriginId, -_salesLine.QtyOrdered); reservationLine.delete(); } } else { throw error(“@SYS332911”); } } } } Thanks for reading and stay connected with us for more updates!!! Jagdish Solanki | Senior Technical Consultant | CloudFronts Business Empowering Solutions Team “Solving Complex Business Challenges with Microsoft Dynamics 365 & Power Platform”
Form Validation in Power Apps — Part 1
In this blog, we are going to see how we can do the implementation of form validation in Power Apps. Let get started, I have designed the Sign-Up page which has the following fields: Email Password and Confirm Password Phone Number Following is Screenshot of my Sign-Up Page build in PowerApps: Following is App Controls Structure which I have followed to Create Sign Up Form: I have used “ErrorText” which is HTML Label Control for Logging all the Validation Errors. Now, we will set the Properties on ErrorText control to display the error on the Form for Each Input Following is an explanation of each validation which I have used in this Power Apps: Email Validation Not(IsBlank(‘ControlName’)) — It will validate if Field is blank or not. IsMatch(‘ControlName’.Text , Match.Email) — It will validate the email format and return false if user enter invalid Email Address Code: Password and Confirm Password Validation Not(IsBlank(‘ControlName’)) — It will validate if Field is blank or not. ‘Confirm Password’.Text = Password.Text — It will validate if the password and confirm password are the same or not. It will return false if both password will not match. Code: Phone Number Validation Not(IsBlank(‘ControlName’)) — It will validate if Field is blank or not. IsMatch(‘Control’.Text, “Your country Phone Validation ReGex”) — It will validate if the entered phone number is valid or not using ReGex. I have used phone number validation ReGex for India — “^[6–9]\d{9}$” Following is an explanation of my ReGex: 5. Code: Following is full code for Validation you need to paste in Formula bar of HtmlText Property: Result: Blank Field Validation for each Fields — Email, Password, Confirm Password and Phone Number Email Format Validation Now, you can see after entering valid email error has gone Password and Confirm Password Match Validation Phone Number Format Validation Check After adding valid phone number error is gone Hope this helps, stay tuned for more blogs.
Set Name Format In D365 CRM
Introduction: In some scenarios, we might need that Full name of Contact Person should be Last Name and then First Name. In this blog we will see how to change the Format of Full Name for Contact Entity. Step 1: Go to Advanced settings -> Administration -> System settings Step 2: Open System settings -> you will see Option to select different Name format -> Select Format you want and click OK. Step 3: here is the short Demo: I have created a Contact with First Name as Jon and last Name as Paul Below is the Output: Note : This can not be exported into Solution. I hope this blog will help you to format Contact’s Name
Create Object Detection Model inside the Power Platform | Power Apps — AI Builder
In this blog, we are going to see how to create object detection model which can be used in PowerApps or MS Flow / PowerAutomate Step 1: Log in to portal.office.com. Select the PowerApps, If PowerApps is not visible then click on All Apps then you will able to see the PowerApps. Step 2: Expand the AI Builder Section and click on Build Section in PowerApps. Note: Please ensure that you are select the correct instance. Step 3: Click on the Object Detection Model We are going to create the Object Detection Model which can be used to created PowerApps or In MS Flow / Automate. Step 4: Name the AI Model and click on Create. Step 5: We will select the Domain of Model so we will go with Common Object. And click on Next. Step 6: Before moving forward, we will download the data which will be used to train and test the Model. Kaggle is the best source for the data to train the machine learning model. We will require the fruit images as we are designing the Fruit Detection Model, search fruit images and download the Dataset given in the screenshot. Select the Fruit Image for Object Detection Click on the Download Step 7: After downloading the Zip file extract it. You will see the following two folders — train_zip and test_zip respectively. Now, we will open the train_zip folder and you can see that there will be four categories of images Apple Banana Orange Mixed [Apple, Banana, Orange] Step 8: Let move back to the PowerApps Platform, 2nd step in the creation of Object Model is to define the object that we are going to detect. Here, we have three objects — Apple, Banana & Orange and click on next to move further steps. Step 9: We will require a minimum 15 images of each category to train our Object Detection Model. Now, we will click on Add Images and select Upload from local storage. Step 10: Select the images. Once all images are upload click on Close. Click on Next Step 11: Now, we are in the most important phase of the training where we provide the Tag or Label to the Images which we have uploaded. Click on the uploaded image and select the area where the object is present. Once you will select the area you will get the option to select the object is that present in the selection area. If an image is not suitable for the model to remove that particular image click on the “Don’t use Image ”. Click on remove to remove the image from the model data set. Step 12: Once you are done will the tagging or labeling the image click on the Done tagging. Note: Please ensure that you have a more tagged image for each model so that your model will work accurately. The more the label data more the accurate your machine learning model. Step 13: Click on the Train to start the training your model based on tagged images. Click on Go to Model It will take around 5–10 min to train based on your complexity of images, model and objects. Step 14: Publish the model. Once you model finished with done and you have published the Model. You can use that model to in Power App or MS Flow. We are going to see that in the next part of this blog.
Item Master Data Mass uploading via Data Management in Dynamics 365 Finance and Operations
Item Master Data Mass uploading via Data Management In the world of data management, it has become essential that the business users are provided solution for mass data uploading. Where the data is managed by very less expert users who’re required to upload and download data in bulk at very less given time. Today I am going to show you the way to upload Item Master Data quickly and with no errors via Data Management in MS Dynamics Commerce and Retail. Note: Masters as Item group, tax codes, units, category, item model group etc should be pre-configured or created for this to work accurately otherwise this operation will fail with errors as the masters are not created/configured. For this operation to work first we need to identify the fields that are required to do two steps. First, Item Master Creation Secondly, Item Master release in released products. So now to identify the necessary “importable” fields first we will export the required fields in excel as below. Goto Workspaces> Data Management and in Data Management click Export Button. Upon Clicking “export” create project as data filled in below. Desired Project name in my case I have named it “product master fields” Generate Data package to be set as No. Now when project is created click on “add entity” Select entity as “Released product creation V2” or anything as “Released product creation” whichever is latest according to your version of D365. Select output as “EXCEL”. Use sample file and skip staging to be set as NO. Very important step to select fields to be set as “Importable Fields” And “add” the entity to the project. Now again click on “add Entity”, select the rest of the fields as mentioned in pt. II., and select “released products V2) in entity name and click on add. Now click on export button as below Now on export screen Click on “refresh” button until you see mark on thee screen, and then “download File” to obtain excel file. Note: click each project one by one to download table fields. After downloading file replace the data with required information that you want in your product master so that we can Import the Master data. (Note: You can hide fields that doesn’t require user to input any data but are required by AX this you will identify in released products format). Assuming that you have created your files for upload we will now continue with “Import” data, Goto Workspaces > Data Management and in Data Management click “Import” Button. Upon clicking “Import” create a project and add entity as below. Add group name, in my case added as “import Master Data” Now when project is created click on “add File” Select entity as “Released product creation V2” or anything as “Released product creation” whichever is latest according to your version of D365. Click the upload data file and select the appropriate file, in my case it is “Released product creation V2 – Format.xlsx” Select “Source data format” Click close. Now again click on “add File”, select the rest of the fields as mentioned in pt. VIII., and select “released products V2) in entity name and click on Close. After adding both the files, now its time to click on “import”, but first ensure that the sequence of the below files are as such 1st for Released Product Creation and 2nd for Released products. If this is not in sequence the above operation will fail. After Clicking on Import, you will have to click on refresh button until the come. Upon success you can see the validation message that the master data has been uploaded successfully and released the product for use. In my case I had uploaded a test product which got successfully uploaded to the system. Hope this helps!
Your connection is not private | NET::ERR_CERT_DATE_INVALID Error in D365 Finance and Operations
As seen in title when error “Your connection is not private | NET::ERR_CERT_DATE_INVALID” occured which seems as follows in screenshot when you try to open environment link in browser. The reason for above error in my case was that SSL certificate was expired as you can see in following screenshot To solve this issue go to your lcs.dynamics.com with your credentials and open your project now select which ever environment and visit see details/Full details page and click on maintain button and select Rotate secrets button Now click on Rotate SSL certificates after which dialogue box will appear click on yes Now wait till rotating secret symbol is loading as following screenshot after which you will be able to access your D365 Finance and operation link easily. Hope this blog will help you.Thank you
Dynamics 365 Portals – How to Try Them Out for Free
Dynamics 365 portal helps you to provide additional support to your customers, partners, employees, and others. It helps you to stay connected and provide the necessary assistance. The best part about the whole thing is that you can get the portal if you have an active Dynamics 365 subscription. You need to follow simple steps to active the demo portal. Here are the steps that you need to follow if you want to activate the demo version. Step # 1: Navigate and find the Dynamics 365 Administration Center. From the Office 365 home (open link: https://portal.office.com/), you need to open admin centre. Step # 2: After opening it, you need to click the applications, and then look out for Portal Add-On. Step # 3: Here you need to click ‘Manage’ and then input the following parameters Name — This names should help you to identify the portal. No need not worry much as you can change the information as and when required. Url for the Portal (You can change this information as well later.) Select or choose the CRM instance Pick a Language Select the Administrator Pick the Audience Partners — Though they are not your employees, they will need some sort of interaction with the CRM to close deals or in delivering the services 2. Employees — You can provide the necessary support to your employees by tailoring the portal by using features such as Employee Self-Service 3. Customers — Since they are external parties, they can benefit through your portals such as community building or customer service Pick the Portal Template Community Partner Employee Self-Help Customer Self-Service Custom Portal Step # 4: Wait for some time – now this takes at least 20 minutes to a few hours to work. Click on Solutions Link under Instance in Admin Center under Dynamics 365 to check the status. It may show the status as ‘installing,’ if the download did not complete. In a few minutes, you will have the demo Dynamic 365 Portal working. In Conclusion Always think from the angle of your customers, partners, and employees when creating the portal. It should make their life easy. What kind of support can you provide them? This question should haunt you when creating the portal.