View Resource Skills and Roles on Schedule Board in D365 Field Service / PSA
Introduction: This blog explains how to view Resource Skills and Role in D365 Field Service / PSA. Scenario: We often get inquiry from Clients do we have option to view Resource Skills or Roles on Schedule Board before scheduling a Work Order to Resource. Steps: Open Schedule Board and follow below steps to view skills / roles of Resource. a. Select Resource in Resource Panel as highlighted b. Right Click on Selected Resource and Click on View Resource Card. c. Resource Details will displayed as shown below screenshot with details like Time Zone, Sills, Roles of Resource and many options to connect Resource like chat/email/phone call. Note: Above explained blog is with Reference to D365 Field Service Version 7.5.1 Conclusion: Using above mentioned steps, you can view Skills or Roles of Resource and many options to connect Resource like chat/email/phone call on Schedule Board in D365 Field Service and PSA.
Share Story :
Creating Case in Dynamics 365 from Microsoft Social Engagement Posts
Introduction: This blog explains how to Create Case in Dynamics 365 from Microsoft Social Engagement Posts. Steps to be followed: Steps in Dynamics 365: Go to Settings –> Service Management –> Automatic Record Creation and Update Rule. Click on +NEW. Enter Name and Set the Source Type to Social Activity. Save the record Under Channel Properties section for additional properties select the search button and Create new record. Enter details. Save record Create Channel Properties Under Newly Created Channel Property Group. Enter Name and Data Type. Save record Add specify record creation and update details Enter Name and save the record. Under Condition, choose Select, and scroll to the bottom of the drop-down list to find Channel Properties under Local Values. Then, select userPreferredTargetEntity Equals incident. Under Action, select Add Step, and then select Create Record. Set the value to Case. If you want to set or change any field value you can do it by clicking on set properties and changing the fields accordingly. Save and close the record. Finally select Activate to activate the rule. Steps in Microsoft Social Engagement: Go to settings –>Automation Rule Click on + to create new automation rule. Enter Name. Filter according to your criteria. Click on + ADD NEW ACTION to add actions. Click on link to Dynamics 365. Select Instance and Entity. Click on Apply. You can also Assign this case to user from MSE. Click on Apply Click on ADD NEW ACTION Select Set label. Click on Apply. Record Details: Save the rule. Case in Dynamics 365:
Share Story :
Set up Dynamics 365 connection in Microsoft Social Engagement
Introduction: This blog explains how to Set up Dynamics 365 connection in Microsoft Social Engagement. Steps to be followed: Go to settings Under connections tab go to Microsoft Dynamics 365. Click in + to create connection and then click on Accept. Select the connection type. You can click on CHECK INSTANCES it will load the instances. Or you can enter the URL of the instance in Dynamics 365 instance URL box. Finally give name to your connection. If you want to make this as your default connection. click ON the set as default option. Save.Note: You can only connect to those instances who are in same office 365 tenant.
Share Story :
Using Variable Connector In TIBCO Cloud Integration
Introduction: The Variable Connector, created as part of the Scribe Labs initiative, adds a much-needed feature to TIBCO Cloud Integration i.e. to store and retrieve variables in a Scribe Map. However, keep in mind, these variables cannot be shared between maps or solutions. Steps For Installation: To begin using the connector, install it from the Scribe Marketplace. Go to Marketplace. Search for ‘Variables’. Select Scribe Labs – Variables and click ‘Install’. The Connector will install for your Organisation in a few minutes. Steps To Create A Variable Connection: From the ‘More’ dropdown menu, click on ‘Connections’. Click on the plus sign (+) on the right of the page to add a new connection. Select your Connector Type, input the name of the variable connection and select the Agent. Click OK. Steps to use in a Map: Add the variable connection to your map. To store a value in the variable, select the Upsert block. In the General Tab, select the data type of the variable you want to store from the Entity dropdown menu. In the Fields Tab, input the name of the variable in the ‘name’ field and the data you want to store in the variable in the ‘val’ field. Click OK. To retrieve a variable, use the Lookup Block from the Variable Connection. Select the data type of the variable in the Entity tab. In the Lookup Criteria tab, lookup the name of the variable you had set. Select the ‘val’ field in the Field List tab. Click OK. You can now use the data stored in the ‘val’ field of the variable in your map. Conclusion: I hope this helps understand the usage of the Variable Connector in TIBCO Cloud Integration. This feature is very useful when one needs the functionality of a variable while using TIBCO Cloud Integration.
Share Story :
Generating Azure Blob file SAS key using Azure SDK
With a demand for concrete strategy to determine how applications, workloads & data remain available during downtime organizations need a disaster recovery & business continuity strategy which is given by Microsoft azure. Azure BCDR covers people, communication, transportation that includes physical facilities & information technology. Even the smallest of the outage can prove to be a major setback for your business and with a business continuity plan and a disaster recovery system all your major information technology systems can be well saved without the expense of another secondary infrastructure. With the implementation of BCDR strategy the workload and applications of the organization is kept up and running in the occurrence of any outage. It is an effective and cloud based data recovery solution that is simple to implement and cost effective. Why do we need SAS key for Blob File? Azure Blob is massively scalable object storage for unstructured data. Blob Storage can handle all your unstructured data, scaling up or down as your needs change. You no longer have to manage it You only pay for what you use and you save money over on-premises storage options. A shared access signature (SAS) provides you with a way to grant limited access to objects in your storage account to other clients, without exposing your account key. A SAS gives you granular control over the type of access you grant to clients who have the SAS, including: The interval over which the SAS is valid, including the start time and the expiry time. The permissions granted by the SAS. For example, a SAS for a blob might grant read and write permissions to that blob, but not delete permissions. An optional IP address or range of IP addresses from which Azure Storage will accept the SAS. For example, you might specify a range of IP addresses belonging to your organization. The protocol over which Azure Storage will accept the SAS. You can use this optional parameter to restrict access to clients using HTTPS. Using SDK to Generate SAS key from C-Sharp code: You need to include the Azure SDK DLLs: You can get the DLLs from Nuget package manager as well. Refer below names to search in Nuget: WindowsAzure.ConfigurationManager WindowsAzure.Storage The first step is to connect to the Blob storage using Connection String. You can add the Blob connection string in the App.config and use that in code to create connection like below: Your connection string should be of the format: The below code creates the connection: //Parse the connection string and return a reference to the storage account. CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting(“StorageConnectionString”)); //Create the blob client object. CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); Once connection is created, we can retrieve the blob container which contains the blob: We can use the container reference, blob file name and the connection to create the SAS key like below: I have uploaded the entire code to my Github as well for reference. Why we can’t use Azure Storage Explorer tool to do this: The Azure storage explorer also has the option to connect to your blob and generate SAS key with clean User Interface. But recently for last 2-3 months, I am facing issues with generating Key with Azure Storage Explorer. This is the reason I implemented this code to remove dependency on the tool.
Share Story :
Calendar Rule Entity not supported in Power BI
In Power BI, Dynamics 365 is connected using its Web API i.e [organization URI]/api/data/v9.0 Dynamics 365 Web API does not support GET Request for calendarrule entity; because of which Power BI cannot retrieve calendar rule entity details. You can verify by browsing to the URL: [organization URI]/api/data/v9.0/calendarrules Please refer to the screen capture below for the error details in browser. Also, you will not be able to load the calendar rule entity in Power BI. Below screen capture displays an error received in Power BI.
Share Story :
How to send Notes to the Customer from a Custom Page using an Action button in Dynamics NAV
Business central from Dynamics 365 is an ERP solution from Microsoft which is designed to understand your business needs and change it for better. Dynamics 365 business central development is a business management solution that is extremely easy to use and implement across several domains in your organization. Business central is the cloud version of the Dynamics NAV Platform. Which is being implemented by many companies across various industries in almost every part of the world. This cloud based ERP is designed for small and medium businesses which allows you to focus on your core business needs and strategies without having to invest on any infrastructure and installation. Implementation of Dynamic 365 business central to your organization helps you to connect your business and make smarter decisions. Introduction: The requirement is explained in the Scenario below: Scenario: A Custom page called Collection Module-Per User has details of Customers Transaction. This Collection Per User page is a List page. The User will select the line and Click on Notes. Notes will written and saved. The user will Click on the Action button Send Notes to Customer.TheNotes from this Custom page should be sent to standard page Customer (Page 18) Notes in Microsoft Dynamics NAV: Notes are like reminders or notification which is ideally used for Customers,Vendors or Items. Notes are saved in binary format in a field Note of Blob data type in the table Record Link (2000000068) Read notes : The “Record ID” of the record using Record Reference is used to filter the Record Link table and convert the data stored in the Note field in Record Link table to text. Write Notes: The “Record ID” of the record using Record Reference is used to filter the Record Link table and convert the text to bytes and store in the Note field Pre-requisites: Microsoft Dynamics NAV 2017 Steps: Functionality: 1. Select the line in the Custom page and click on Notes. Type in your Notes and Save it. 2. Click on Send Notes to Customer. 3. Open the Customer page and filter the Customer No to which Notes are sent and Open Notes. Customization: 1. Create an Action button Send Notes to Customer and create global variables as below image: 2. The Custom Table has primary key as No. so first GET the primary key and assign Customer No. to a variable Rec_CustNo ReadText: Rec_CF_CollectionModuleTempTable.GET(No); Rec_CustNo:=Rec_CF_CollectionModuleTempTable.CustNo; Set the Recfilter and use the Recorf reference to GETTABLE. Rec_CF_CollectionModuleTempTable.SETRECFILTER; CLEAR(RecRef); RecRef.GETTABLE(Rec_CF_CollectionModuleTempTable); RecRef.FINDFIRST; 3. SETRANGE with the Record Link’s Table Record ID and Record referrence RECORDID 4. Convert the blob field into text by using InStream and Use a BigText variable to read the Stream. RecordLink.RESET; RecordLink.SETCURRENTKEY(“Record ID”); RecordLink.SETRANGE(“Record ID”,RecRef.RECORDID); IF RecordLink.FINDFIRST THEN BEGIN RecordLink.CALCFIELDS(Note); IF RecordLink.Note.HASVALUE THEN BEGIN CLEAR(NoteText); RecordLink.Note.CREATEINSTREAM(Stream); NoteText.READ(Stream); NoteText.GETSUBTEXT(NoteText,2); END; END; Write Text: 1. GET the Customer No. of the Cuatomer Table and Use Record refernce to GETTABLE Customer. Use SetText function to write the text to bytes and store it in Note field in Record Link Customer.GET(Rec_CustNo); RecRef.GETTABLE(Customer); RecordLink.INIT; RecordLink.”Link ID”:=0; RecordLink.”Record ID”:=RecRef.RECORDID; RecordLink.URL1:=GETURL(CLIENTTYPE::Windows,COMPANYNAME,OBJECTTYPE::Page,PAGE::”Customer”); RecordLink.Type:=RecordLink.Type::Note; RecordLink.Created:=CURRENTDATETIME; RecordLink.”User ID”:=USERID; RecordLink.Company:=COMPANYNAME; RecordLink.Notify:=TRUE; SetText(NoteText,RecordLink); RecordLink.INSERT; The Complete Code : Send Notes to Customer – OnAction() Rec_CF_CollectionModuleTempTable.GET(No); Rec_CustNo:=Rec_CF_CollectionModuleTempTable.CustNo; //MESSAGE(‘%1 no’,Rec_CF_CollectionModuleTempTable.CustNo); Rec_CF_CollectionModuleTempTable.SETRECFILTER; CLEAR(RecRef); RecRef.GETTABLE(Rec_CF_CollectionModuleTempTable); RecRef.FINDFIRST; RecordLink.RESET; RecordLink.SETCURRENTKEY(“Record ID”); RecordLink.SETRANGE(“Record ID”,RecRef.RECORDID); IF RecordLink.FINDFIRST THEN BEGIN REPEAT RecordLink.CALCFIELDS(Note); IF RecordLink.Note.HASVALUE THEN BEGIN CLEAR(NoteText); RecordLink.Note.CREATEINSTREAM(Stream); NoteText.READ(Stream); NoteText.GETSUBTEXT(NoteText,2); MESSAGE(FORMAT(NoteText)); END; UNTIL RecordLink.NEXT=0; END; Customer.GET(Rec_CustNo); RecRef.GETTABLE(Customer); RecordLink.INIT; RecordLink.”Link ID”:=0; RecordLink.”Record ID”:=RecRef.RECORDID; RecordLink.URL1:=GETURL(CLIENTTYPE::Windows,COMPANYNAME,OBJECTTYPE::Page,PAGE::”Customer”); RecordLink.Type:=RecordLink.Type::Note; RecordLink.Created:=CURRENTDATETIME; RecordLink.”User ID”:=USERID; RecordLink.Company:=COMPANYNAME; RecordLink.Notify:=TRUE; SetText(NoteText,RecordLink); RecordLink.INSERT; PROCEDURE SetText@1000000002(NoteText@1000000000 : BigText;VAR RecordLink@1000000001 : Record 2000000068); VAR s@1000000002 : BigText; Ostr@1000000003 : OutStream; lf@1000000004 : Text; c1@1000000005 : Char; c2@1000000006 : Char; x@1000000007 : Integer; y@1000000008 : Integer; i@1000000009 : Integer; SystemUTF8Encoder@1000000011 : DotNet “‘mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’.System.Text.UTF8Encoding”; SystemByteArray@1000000010 : DotNet “‘mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’.System.Array”; BEGIN s := NoteText; SystemUTF8Encoder := SystemUTF8Encoder.UTF8Encoding; SystemByteArray := SystemUTF8Encoder.GetBytes(s); RecordLink.Note.CREATEOUTSTREAM(Ostr); x := SystemByteArray.Length DIV 128; IF x > 1 THEN y := SystemByteArray.Length – 128 * (x – 1) ELSE y := SystemByteArray.Length; c1 := y; Ostr.WRITE(c1); IF x > 0 THEN BEGIN c2 := x; Ostr.WRITE(c2); END; FOR i := 0 TO SystemByteArray.Length – 1 DO BEGIN c1 := SystemByteArray.GetValue(i); Ostr.WRITE(c1); END; END; LOCAL PROCEDURE HtmlEncode@20(InText@1000 : Text[1024]) : Text[1024]; VAR SystemWebHttpUtility@1001 : DotNet “‘System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’.System.Web.HttpUtility”; BEGIN SystemWebHttpUtility := SystemWebHttpUtility.HttpUtility; EXIT(SystemWebHttpUtility.HtmlEncode(InText)); END;
Share Story :
How to Configure Alert Configuration in Microsoft Social Engagement
Introduction: This blog explains how to Configure Alert Configuration in Microsoft Social Engagement. Steps to be followed: Go to Message Center Click on + to create alert configuration. Enter the following details: Name: Give name to your alert. Alert Type: select the type of alert you want. Post alert/Trend alert Email recipients: Enter the email address of recipients to whom alert mail should go. Filters: Select filters to narrow the posts to the data set you want to work with. i.e. which posts will be received by recipients. Add Search Topic: You can also filter based on the following criteria. Example filtering based on source and Language: After configuring click on SAVE.Post alert in mail:
Share Story :
Explore Business Central API through Postman using Basic Authentication
Introduction: In this article, we will walk through steps on how to authenticate Business Central API using Basic Authentication in Postman Pre-Requisite: Business Central account Business Central API Basic authentication in Postman: In Postman, make a GET request to Business Central base API URL. Base URL: https://api.businesscentral.dynamics.com/v1.0/api/beta For using Basic Authentication, we need to add domain as well. Domain URL: https://api.businesscentral.dynamics.com/v1.0/myusersdomain.com/api/beta In Business Central, generate Web Service Access Key for your user. Now in Postman authorization tab, select Basic Auth in Type. Provide Username and Web Service Access Key Click Send
Share Story :
Create Approval Flow with D365 conection
Introduction: This blog explains how to Create Approval Flow using Microsoft Flows. Use Case: When work order is updated. (Trigger) Check condition: system status: – open-completed and approved: -NO If condition satisfied: – Check Total amount: – If amount is greater than 1000 approval mail will be sent to approver. if he approves: update the work order with system status value closed-posted. else do nothing. update the work order with system status value closed-posted. Else do nothing. Steps to be followed: Sign in to the Microsoft flow. https://flow.microsoft.com/en-us/ Go to My flows –> create from blank Select Dynamics 365 when a record is updated Select the Organization Name and Entity Name for which you want to create flow. Click on + New step –> Add a condition. So here I want my flow should run when system status is open-completed and approved is NO. (Add your own conditions). Condition:@and(equals(triggerBody()?[‘msdyn_systemstatus’], 690970003),equals(triggerBody()?[‘cf_approved’], false) ) Go to Yes. Click on …More –> add a conditionCondition is: Total amount is greater than 1000. Go to yes. Add Action. Select Approvals –> Start an approval action. Enter details.In Assigned to enter the email address of the approval. Go to No. configure for amount is not greater than 1000. Click on Add an action. –> select Dynamics 365 – update a record. Enter the details. Enter the details Record identifier: Enter the record identifier of Work Order from when a record is updated step. Set the system status value to: 690970004 Add condition in Yes and check the approval status. On Yes. Select Add an action à Dynamics 365 – Update a record Enter the detailsRecord identifier: Enter the record identifier of Work Order from when a record is updated step.Set the system status value to: 690970004 Complete Flow:
