Blog Archives - Page 110 of 169 - - Page 110

Category Archives: Blog

Comparison of the API for Business Central on-premise and Business Central on Cloud

Introduction: This blog is to give an introduction regarding how to integrate the data from Business Central to an API and also gives a comparison of the API integration in Business Central on-premise and Business Central on Cloud. I will demonstrate it with an example for Sales Order Entity. Pre-requisites: 1. Microsoft Dynamics 365 Business Central (on-premise) 2. Microsoft Dynamics 365 Business Central (Cloud) Demonstration: For Business Central on-premise: 1. Add the page whose data has to be integrated to the page API Setup (5469) and click on Integrate APIs. 2. Go to Business Central Administration and to the Server Instance properties and in the OData properties check the “Max Page Size” parameter and set it to the number of records you want to integrate. (Note: Enable API Services and Enable OData Services checkboxes should also be ticked.) 3. Now go to the browser and enter the URL to get the list of 44 standard APIs. (Format of the URL for Business Central on-premise is given as follows:    “http:<<Server Name>>:<<Odata Port>>/<<Service Name>>/api/beta/” 4. Now you can get to the sales order using the following URL. “http:<<Server Name>>:<<Odata Port>>/<<Service Name>>/api/beta/companies(company id)/salesOrders”. This data is available in JSON format and further can be confirmed that there are 1500 records. Thus, the number of records integrated here depends on the Max Page Size parameter. For Business Central on Cloud : 1. First add the page whose data has to be integrated is added to the API Setup Page similar as above. Use the following URL “https://api.businesscentral.dynamics.com/v1.0/<tenant domain>/api/beta to access the API for getting the data from the Business Central on Cloud. Enter the username of the user in the Business Central and the Password will be the user’s WebServiceAccessKey. 2. When you click on Sign in, you will get a list of all of the standard 44 APIs. 3. Similar to the Business Central on-premise you can navigate to the SalesOrder. URL Format is as follows:    “https://api.businesscentral.dynamics.com/v1.0/<tenantdomain>/api/beta/companies(company id)/salesOrders”. It can be seen from the images below that only 1000 records have been integrated from the SalesOrder in Business Central to the API. Here, as there is no administration this number of records integrated cannot be changed and they remain as the standard defined for OData. Conclusion: This is the difference in the API integration in Business Central on-premise and Business Central on Cloud. It also shows the number of records that can be integrated in Business Central on-premise and Business Central on Cloud. As we will find the solution as to how to alter the number of records that can be integrated in Business Central on Cloud we will post the blog.

Share Story :

Quote revision in D365 PSA

Problem Statement: D365 Sales on CRM in general has ability to revise Quotes to track the Quotes revision. In sales, the process was to Activate the Quote, and then you get option to Revise Quote which will create the Copy of Quote with new revision number in Draft state. In Project Service quotes, we don’t see the option to Activate Quote or Revise Quote. Solution: Steps to Revise Quote in Project Service Quotes. Close the Quote as Lost using the button – “Close as Lost” Then you can see the button – “Revise Quote” This action will revise the quote with new Revision Number.

Share Story :

Stocked Product in Item Model Group: Dynamics 365 for Finance & Operations

Introduction: If Stocked product checkbox is selected, then inventory transaction will be generated, and product inventory will be tracked. If this checkbox is not selected(Mainly for service items), then Inventory transaction will be not generated, and product inventory will be not tracked. Scenario 1: If Stoked Product Checkbox is not selected Posted purchase invoice for product for which stock product checkbox was unchecked. Inventory transaction has not been generated. This setting mainly uses for service type of products. Scenario 2: If Stoked Product Checkbox is selected Posted purchase invoice for product for which stock product checkbox was checked. Inventory transaction has been generated. This setting mainly uses for those products for which you want to track the inventory. Conclusion: This functionality is helpful to take decision for the product for which you want to track the inventory, or you want to book directly as an expense for service item without tracking inventory.

Share Story :

Modifying a report query based on the input data in AX 2012R3

Introduction: Controller class is used to control the report execution as well as pre processing of the report data. The SSRS reporting framework uses this class to modify the report dialog, calling the SQL Server reporting services, as well pre processing parameters for the report. How to do? Create a new class. Open AOT –> Classes Open the class declaration and select on View Code Now write the following code: class SSRSDemoController extends SrsReportRunController { } Create a new method and write the following code: public static client void main(Args args) { //define the new object for controller class SSRSDemoController ssrsDemoController; ssrsDemoController = new SSRSDemoController(); //pass the caller args to the controller ssrsDemoController.parmArgs(args); //set the report name and report design to run ssrsDemoController.parmReportName(ssrsReportStr(SSRSSessionQuery,Design)); //execute the report ssrsDemoController.startOperation(); } Conclusion: Reports that are opened from a form – Controller class is also used when reports are opened fro a form and are needed to show selected records details. Use preRunModifyContract method to achieve this.

Share Story :

D365 App for Outlook Sitemap Edit

Dynamics 365 application development provides an end-to-end solution for your business right from design, development, appsource listing upto enhancements and support. The team has a set of expert developers, architects and technicians who are involved 24*7 in the process to enhance your business and take it to the next level. The team understands your business needs initially and then starts working on the goals for the betterment of your business. Based on the case scenarios, applications are designed and developed that could be easily fitted and implemented on to your business model. While Dynamics 365 is taking care of your business needs through cloud, you can focus on your core business strategies, needs and allocate time to your clients making a better relationship with them for enhanced business. Introduction: In this blog we will discuss how we can add entities to the by default App for Outlook look while we track emails using App for Outlook. Steps: By default, the App for Outlook does not show any entities in its sitemap. As we all know that there is new concept of Apps in MSCRM. We can develop Apps so that we can give users a limited and required access to entities. Every module in CRM is now a app like Field Service App, Project Service App, Service App. Similarly there is App for Outlook App. Below is the default sitemap for App for Outlook. You can add Area, Sub area and groups to the default sitemap and publish the changes. Below is the screenshot after addition of required area, sub areas and groups. This is how you can change the entities visible in D365 App for outlook.

Share Story :

Forcing Fields on BPF to be required programmatically

Overview: I had a requirement where I needed to make certain fields on BPF as required. So, I tried accessing the control using Xrm.Page.getControl(“header_process_description”) and then getAttribute().setRequiredLevel(“required”) on it would serve my purpose. But actually, not! To set perspective, the code runs and make the field required too. But there’s a catch! Required fields on the BPF are supposed to throw an error when you are trying to move to the next stage without filling in the required fields. But, using the code I’m talking about above (sample shown below), will force you to save the form entirely. Let alone moving the stages further. That when ‘How Did You Hear About Us?’ field has Employee Referral as value, make Purchase Process field required. Field is on the BPF But asks you to save on the form Workaround: The easiest workaround to this is using the conditional branching of your business process flow – You can use conditional branching of the BPF itself – You can replicate the same stage twice, one having your required field and other having that same field as optional However, limitations I found with this approach is – I couldn’t use the same for the first stage of the BPF The condition had to be from the previous stage itself   P.S.: Business Rules isn’t a solution as well. Also, I tried to inverse the logic by first making the field required in the BPF itself and then trying to make it not required using code. That doesn’t work either.

Share Story :

Manage Email Notifications in D365

Introduction: Dynamics 365 service team regularly sends email notifications to the administrators in your dynamics 365 organization. Now with simple mail box rule, you have complete control who should receive the mail. Description: As an administrator you can setup the mail box rule to automatically redirect email communications from dynamics 365 to additional recipients. People outside of your Dynamics 365 organization, such as your partners. People inside and outside of your company. Send email notifications to multiple recipients: By default, admin will receive the email notification but if you want to change the email notification to some other user. follow the below steps: 1. Sign in to portal https://portal.office.com. 2. On the Office 365 menu bar, click Admin centers > Dynamics 365 > Instances tab. 3. Choose an instance that has notifications you want to change. 4. Click Notifications. 5. Enter the email addresses of people to receive update notifications for the selected instance and click Save.

Share Story :

Get Geolocation details using Xrm.Device for mobile devices

Posted On September 10, 2018 by Clinton D'Mello Posted in Tagged in

Introduction: In this blog we will use the  Xrm.Device Client API reference to get the location details as it provides methods to use native device capabilities of mobile devices. Implementation: Step 1 : First we have written a JavaScript code to get the Geolocation details and for this demonstration purpose we trigger this code to run on update of a field. We have created a custom field as Coordinates to store the details. Syntax: Xrm.Device.getCurrentPosition().then(successCallback, errorCallback) Below shown is the Code: var cordsLat = null; var cordsLong = null; var Scripting = { Location: function () { debugger; Xrm.Device.getCurrentPosition().then( function success(location) { cordsLat = location.coords.latitude; cordsLong = location.coords.longitude; Scripting.UpdateRecord(); }, function (error) { Xrm.Navigation.openAlertDialog({ text: error.message }); } ) }, UpdateRecord: function () { var id = Xrm.Page.data.entity.getId(); id = id.replace(“{“, “”); id = id.replace(“}”,””); var clientUrl = Xrm.Page.context.getClientUrl(); var req = new XMLHttpRequest(); req.open(“PATCH”, encodeURI(clientUrl + “/api/data/v9.0/accounts(” + id + “)”), true); req.setRequestHeader(“Accept”, “application/json”); req.setRequestHeader(“Content-Type”, “application/json; charset=utf-8”); req.setRequestHeader(“OData-MaxVersion”, “4.0”); req.setRequestHeader(“OData-Version”, “4.0”); var body = JSON.stringify({ “cf_cordinates”: “Latitude: ” + cordsLat + ” Longitude: ” + cordsLong, }); req.send(body); } } Step 2: One important thing to note is the Xrm.Device control is only available in for mobile devices. When we run this script on a mobile device we get an error message and it does not go after turning on the GPS location of the device. Step 3: To enable the script to work on the device navigate as shown belowOnce this is done and  the script successfully runs we have to refresh the page and the details are updated on the Coordinates field as shown below

Share Story :

Create Leads when Email is received to the Queue

Posted On September 10, 2018 by Admin Posted in

Introduction: This blog explains how to Create Leads when Email is received to the Queue. Creating Queue in MS CRM: Settings -> Service Management -> Queues Click on “+NEW” Enter Name and Incoming Email for the Queue. Save record. After Saving the record Mailbox will be created for the Queue. Configuring the Mailbox Open the Mailbox Click on Approve Email Click on Test & Enable Mailbox After Configuring Successfully, you can see Status as Success for Incoming and Outgoing Email. Create Workflow to Create Lead: Go to Settings -> Processes Create new process. Select Entity: Email Below is the Workflow: To set the regarding of email. Click on Set Properties of Update Email Step. Click on Set Properties of Create Lead Step and add details in fields. After Writing all the steps Activate the workflow.

Share Story :

Understanding the Permission level in SharePoint Online

Introduction: After creating SharePoint site, you may want to provide or restrict access to the site or site contents. Permission levels are the actions, a user can define as Create Subsite, Delete Subsite, View Versions, and many more. To make it easier Microsoft has provided a set of default levels: Full Control – Has full control. Edit – Can add, edit and delete lists; can view, add, update and delete list items and documents. View Only – Can view pages, list items, and documents. Document types with server-side file handlers can be viewed in the browser but not downloaded. Contribute – Can view, add, update, and delete list items and documents. Accessing SharePoint Permissions Levels: You should have the admin privileges. Go to the root of Site Collection > Site Settings. Under Users and Permissions, click on Site Permissions. Go to Manage and click Permission Levels. The screen will show the default Permissions level. By clicking on the Permission level, you will get the list of included permissions. Editing Permission Level: Inheritance – By design, all the sites and site contents in a collection inherit the Permission level from the root site. Even if you “stop inheriting permission” from the root site, the Permissions levels will remain the same. As per your requirements, sometimes you may want that your users’ can only edit items but not delete anything. So, for that, you can just go to the “Contribute” Permission level and edit the same (uncheck the Delete Items under the list of permissions) but it is not recommended to edit a default permission level. Best practice if you want to restrict users from deleting any content: If you need to edit the Permissions level “do not edit the default level” you can create a new one instead. Creating a new Permission level: Access the Permission level from the root site. Click on Add a Permissions Level. Provide this new Permission level a name and check the lists of permission you want to provide. If you want to restrict users’ from deleting any content, uncheck the Delete Items. Conclusion: With the help of the Permission Level, you can secure your SharePoint Online sites and site contents. Want to get consultation or training for your company? Please email us at ashah@cloudfronts.com

Share Story :

SEARCH BLOGS:

FOLLOW CLOUDFRONTS BLOG :


Secured By miniOrange