Dynamics 365 Archives - Page 59 of 88 - - Page 59

Category Archives: Dynamics 365

Voice of the Customer – Resolved Issues

Introduction: Voice of the Customer features creating and sending out surveys to gain valuable feedback from your customers about your products or services. Respondents can take your surveys on a phone, tablet, or computer. You can see your customer’s feedback history as you work a sale or resolve a service case. In this blog we will have look on the solved issues by Microsoft till now. Resolved issues in Voice of Customer version 9.0.1162: The survey minimum and maximum values revert to their default values on saving the question. Invitation Link Text field gives HTML Validation Error when you provide input like <<<Hello>>>. The mandatory date question response validation fails for locales with dd/mm/yy date format in Google Chrome. Multiple survey responses are created when you open a survey link in different tabs or browsers and submit. Rotation of headers in Single rating in columns and Multiple ratings in columns questions do not work. In French locale, a few emoticons are not displayed while previewing the Smilies rating question. You were unable to preview or publish a survey if “>>>” or “<<<” characters are in the Invitation Link Text field. Resolved issues in Voice of Customer version 9.0.1113.10: Footer URLs are opened in the same tab as survey. Unable to enter negative value as the answer to the numerical response question. All answer options of a mandatory question are highlighted if an option is not selected by the respondent. The Response column under the Question Responses section in a survey response allows only 100 characters. Resolved issues in Voice of Customer version 9.0.959.8: Feedback entity does not work properly on all locales specified in Dynamics 365. Unable to clone surveys on a French organization. The default count resets to five in a start-rating question even after modification. The unsubscribe link is not visible on the survey. Respondent can skip Single Rating question even though it is marked as mandatory. Translation corrections for few strings in the Japanese language. The error messages are not appropriate in case of a survey exception. The social sharing dialog box is not displayed completely on the survey. You can refer our previous blogs on Voice of Customer for proper understanding of Voice of Customer solution.

Share Story :

Download Doucument Templates using Console App

Posted On June 8, 2018 by Admin Posted in Tagged in ,

Dynamic 365 development services has a team of experts, D365 architects and developers who works closely in every step in the business while closely understanding the requirements and designing the right solution for the business according to the needs as far as development is concerned the development team has a set of experts and developers that coordinate closely with the client and by using standard microsoft development technologies like visual studio and TFS online a robust and concrete development process is strategised. After developing the application it is internally tested according to the business needs and submitted to microsoft in order to clarify any issues. After that the application is listed on the App Source. Introduction: In this blog we will be demonstrate how to download word document templates from D365 Customer Engagement and then import them to another environment. Often there are requirements to move document templates from one environment to another. But currently adding document templates to solutions is not supported.  To overcome this we have created a console app which downloads the word document template. Implementation: Step 1: To download Document templates we have created a Console App and it requires the following details: Username Password Organization Service Endpoint Address GUID of the template word template to download The username and password are the basic details that we use to log in to https//:www.portal.office.com To get the Organization Service Endpoint Address, navigate to Settings > Customizations > Developer Resources and copy the address as shown in the image below. To get the GUID of the Template Navigate to Settings > Templates > Document templates and open the template you want to download and Click on the Pop Out option at the top right as shown below Then from the URL we can get the GUID of the record as shown Step 2:  The code to download the document template is shown below. It downloads the Word template and stores it in the location specified in the code. Remember to change this location to the location on your PC. Note: Replace all the required values in the code according to your organization details. Code: using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Client; using System; using System.Net; using System.ServiceModel.Description; using System.Text; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Query; using System.IO; namespace DownloadDocumentTemplates { public class DocumentTemplateDownload { static IOrganizationService _service = null; static OrganizationServiceProxy _proxy = null; static void Main(string[] args) { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ConnectToCRM(“test@test.onmicrosoft.com”, “pass@1234”, “https://test.api.crm8.dynamics.com/XRMServices/2011/Organization.svc”); Guid userId = ((WhoAmIResponse)_service.Execute(new WhoAmIRequest())).UserId; if (userId != null) { Console.WriteLine(“Guid: ” + userId); //GUID of the document template String documentTemplateId = “094EEB2A-948C-E711-8112-70106FAA45E1”; GetDocumentTemplateContent(documentTemplateId); Console.ReadKey(); } } public static void ConnectToCRM(string _username, string _Password, string _OrgSOAPServiceUri) { try { ClientCredentials credentials = new ClientCredentials(); credentials.UserName.UserName = _username; credentials.UserName.Password = _Password; Uri serviceUri = new Uri(_OrgSOAPServiceUri); _proxy = new OrganizationServiceProxy(serviceUri, null, credentials, null); _proxy.EnableProxyTypes(); _service = (IOrganizationService)_proxy; } catch (Exception e) { Console.WriteLine(“Error while Connecting: ” + e.Message); } } public static void GetDocumentTemplateContent(string documentTemplateId) { EntityCollection doc = null; string content = null; string documentTemplateName = string.Empty; Encoding encoding = Encoding.UTF8; try { string fetchXML = @”<fetch version=’1.0′ output-format=’xml-platform’ mapping=’logical’ distinct=’false’> <entity name=’documenttemplate’> <attribute name=’content’ /> <attribute name=’documenttype’ /> <attribute name=’name’ /> <attribute name=’status’ /> <attribute name=’modifiedon’ /> <attribute name=’modifiedby’ /> <attribute name=’description’ /> <attribute name=’languagecode’ /> <attribute name=’associatedentitytypecode’ /> <order attribute=’documenttype’ descending=’false’ /> <order attribute=’name’ descending=’false’ /> <filter type=’and’> <condition attribute=’documenttemplateid’ operator=’eq’ uitype=’documenttemplate’ value='” + documentTemplateId + @”‘ /> </filter > </entity > </fetch > “; doc = _service.RetrieveMultiple(new FetchExpression(fetchXML)); if (doc != null) { if (doc.Entities.Count > 0) { content = doc[0].Attributes[“content”].ToString(); documentTemplateName = doc[0].Attributes[“name”].ToString(); } byte[] textAsBytes = Convert.FromBase64String(content); File.WriteAllBytes(@”C:\Users\test\Desktop\” + documentTemplateName + “.docx”, textAsBytes); } } catch (Exception) { throw; } } } } Step 3: When the code is run it downloads the document template on the your PC and the document template is named after the template in CRM. Conclusion: This is very helpful as it can be used in another environment by simply uploading the template. To import the word template we can navigate to Settings > Templates >Document Templates and then upload the template.

Share Story :

User based Personalized Workspace from UI in D365 Operations

Introduction: In D365 Finance and Operations, there are various modules and each contains many forms. Users working in Operations uses forms from different modules and sometimes it becomes difficult to navigate or remember the path of all forms. It is also time consuming. A good solution for this is creating a Personalized Workspace and adding all the required items in it. Everyone know this can be done from code using forms. Another simple way is to create a Workspace directly from UI and it will be only available to the user who created it. In this blog, I will show you how to create workspace specific to users from UI. Steps: Create Workspace Rename Workspace Add elements to workspace Create Workspace: Go to D365 Operations Default Dashboard page. Right click anywhere on the Dashboard -> Select Personalize In the Dialog Select an option ‘Add a workspace’. This will add a new Workspace at the end of page Rename Workspace: Right Click the Workspace -> Click Personalize: My Workspace 1 Enter a Name in the textbox Add elements to workspace: Go to form you frequently use to add on Workspace. In this case I will add All customers to my workspace. Accounts Receivable -> Customers -> All Customers In Action Pane, go to Options Tab -> Personalize, select Add to Workspace. In Workspace dropdown, add name of newly created workspace. In Presentation dropdown, select the format in which you want to display the form Tiles- It is a summary view. List- It is a Tabbed format. It can be horizontal or vertical. Link- It will simply display a link taking you to the form. Conclusion: This is how we can create a personalized workspace which will be limited to respective user. We can also personalize the workspace using controls residing in personalize option.I will provide more details on this in my next blog.

Share Story :

Booking resource on a Project Task or a Service Ticket in PSA

Successful and on time delivery of the project is the heart of the business for any professional services organization. Where services based projects are delivered. In order to ensure successful project delivery efficient tools and industries based practises needs to be implemented which is possible through Microsoft Dynamics 365 Project Service Automation. Project service automation is not very easy and not something that anyone can do. By using services automation project managers have been able to deliver projects of various sizes. For industries best practices and efficient project management the set up of PSA is very much required. Apart from the above aspects, project service automation also helps to manage time and budget of the billable projects as well as estimate the quote for the project. Introduction: PSA doesn’t have the capability OOB to do the allocation’s over the task. This means the resource booked are booked for a project and we cannot identify what task they are going to perform or are booked for. How to do? This is the real time scenario which a PM regularly comes up with while allocating. To this I have figured out a solution that can be worked upon. Write a Plugin to create a Resource Requirement record on creation of Project Task in the WBS. In schedule board expose Project task Entity to be visible. This will allow you to drag and drop the allocations on to the schedule board. But, the challenge here is that the Project Tasks doesn’t comes automatically in the above grid. It comes because of the Plugin written above to create a record of Resource Requirement. Ensure the plugin will take care of the updates made to the task and will update the Resource Requirement record simultaneously. In our organisation we also, allocate resource on cases that the clients have raised. For the same, we will have to write a workflow to create a task in WBS as soon as a case is created. On the creation of a task we already have a plugin written to create a Resource Requirement record. You can then allocate Resources on cases.

Share Story :

PSA – Import project lines from WBS Pre-Requisites

Introduction: I often face difficulties while trying to import project lines from WBS while using PSA (Project Service Automation). After lot of trouble shooting I try to doubt my configuration and see if they are good. What to do? To my surprise they all appear to be good. Following two things needs to be ensured to import project lines from WBS into Quote line details. 1. On Account used in the Quote, Product Price List and Project Price list is properly set. 2. The Cost Price list attached to the Organisational Unit used in the Quote should not have Organisational units for the resource roles added in the Cost Price List of the Organization unit.

Share Story :

Call Workflow directly from a button using Ribbon Workbench

Posted On May 25, 2018 by Clinton D'Mello Posted in Tagged in

Introduction: In this blog we will demonstrate how to call a workflow directly from a button without any custom JavaScript code. Implementation: Step 1: Create the required workflow. In this example i have created a  simple workflow on the opportunity and remember to select the  “As an on-demand process” option. Step 2: After the workflow is created store the GUID of the workflow. To get the GUID  select the workflow and copy down the ID from the URL as shown in the below image. Step 3: Now create the custom button on Opportunity entity using Ribbon Workbench. Step 4: Create a new Command and click on “Add Action>JavaScript Action” as shown in the image. Step 5: In the library option write the following “/_static/_forms/form.js” and in the Function Name field “Mscrm.FormAction.launchOnDemandWorkflowForm“. Then as shown in the above image add two Parameters as follows: Crm Parameter = PrimaryEntityTypeCode String Parameter = “GUID of the Workflow”. Step 6: For the final step add the command to the newly created button by simply selecting it from the drop down in the properties section. Step 7: Now when we click on the button that we created we get the following message. On clicking OK the workflow will run. This is a helpful as it can be done quickly without using any custom code.

Share Story :

Invoice Schedule generation on Quote Lines – D365 PSA

Overview: Let’s say you have a Quote which has Quote Lines and then you generate the Invoice schedule for your Time & Materials project. What decides the number of Invoice Schedules to be generated for a Quote Line record? Let’s review. Quote Lines: Now, I have a Quote Line which has Invoicing Schedule from 28th May 2018 to 6th August 2018. How did this come to be? The reason is as below: 1. The Invoice Schedule is based on Quote’s Requested Delivery Date which is 10th August 2018. 2. Now, my Invoice Frequency is weekly. 3. On top of that, my Invoice is set to generate on Monday of the week 4. And finally, since 6th August is the last Monday before the 10th August 2018, the Invoices should be generated up until then! Hence, the last Invoice will be generated on 6th August 2018 according to Quote’s Requested Delivery Date.

Share Story :

Store Coupon Code in Dynamics 365 Finance and Operations

Posted On May 25, 2018 by Admin Posted in Tagged in , ,

Introduction: In this blog we will see how to apply coupon discount on MPOS (Store) in Dynamics 365 for Finance and Operations. Steps: Step 1: Create  Bar code Mask Character for Coupon Code. Step 2: Create a New Barcode Mask set up. Keep the type as Coupon. Step 3: Create Bar Code for Coupon. Assign the Mask ID which was created in step 2. Step 4: Create Number Sequence for Coupon Code ID and Coupon Number. Step 5: Set the Retail Parameters for Coupon. Assign the Mask ID that was created. Step 6: Create a New Discount. Mention the discount Price, Products in Lines, Price group, Valid Discount Account and enable coupon code required. Step 7: Create a new Coupon. Mention the usage limit, usage type, associate discount to the coupon, Create a new line for coupon. Activate the Coupon. The Bar code will be generated. Make a note of the Bar code. This is how you set up Coupon Code on Stores in Dynamics 365 for Finance and Operations. Run Jobs and flow the discount to the store. To Redeem the Store Coupon Code: Step1: Scan the product that is under Discount. Step2: Scan the Barcode or Manually inter the Barcode. Step 3: The discount will be applied to the product along with the discount name Step4: Make Payment.

Share Story :

Commands to Import .bacpac file to D3FOE SQL Server

Introduction: This blog article will explain how to import a .bacpac file to Microsoft SQL Server which is created from Finance and Operations database that is based on Azure SQL Server. You can refer steps here for creating .bacpac file. Following points are recommended for smooth and secure importing of .bacpac file Take a backup of existing database so you can revert if required. Import the database with a new name and modify it later once the entire process is completed error free. Copy the .bacpac file to local computer where you want to import the database for better performance. Steps: Run command prompt as an administrator. Run the below command to Import the database. cd C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin SqlPackage.exe /a:import /sf:D:\Exportedbacpac\SSProd.bacpac /tsn:localhost /tdn:SSProd /p:CommandTimeout=1200 where, tsn (target server name) – The name of the SQL Server to import into. tdn (target database name) – The name of the database to import into. The database should not already exist. sf (source file) – The path and name of the file to import from. Update the database: Run the following script against your database to add the users you deleted while creating .bacpac file.  Update your database name in Alter Command. CREATE USER axdeployuser FROM LOGIN axdeployuser EXEC sp_addrolemember ‘db_owner’, ‘axdeployuser’ CREATE USER axdbadmin FROM LOGIN axdbadmin EXEC sp_addrolemember ‘db_owner’, ‘axdbadmin’ CREATE USER axmrruntimeuser FROM LOGIN axmrruntimeuser EXEC sp_addrolemember ‘db_datareader’, ‘axmrruntimeuser’ EXEC sp_addrolemember ‘db_datawriter’, ‘axmrruntimeuser’ CREATE USER axretaildatasyncuser FROM LOGIN axretaildatasyncuser EXEC sp_addrolemember ‘DataSyncUsersRole’, ‘axretaildatasyncuser’ CREATE USER axretailruntimeuser FROM LOGIN axretailruntimeuser EXEC sp_addrolemember ‘UsersRole’, ‘axretailruntimeuser’ EXEC sp_addrolemember ‘ReportUsersRole’, ‘axretailruntimeuser’ CREATE USER axdeployextuser WITH PASSWORD = ‘<password from LCS>’ EXEC sp_addrolemember ‘DeployExtensibilityRole’, ‘axdeployextuser’ CREATE USER [NT AUTHORITY\NETWORK SERVICE] FROM LOGIN [NT AUTHORITY\NETWORK SERVICE] EXEC sp_addrolemember ‘db_owner’, ‘NT AUTHORITY\NETWORK SERVICE’ UPDATE T1 SET T1.storageproviderid = 0 , T1.accessinformation = ” , T1.modifiedby = ‘Admin’ , T1.modifieddatetime = getdate() FROM docuvalue T1 WHERE T1.storageproviderid = 1 –Azure storage ALTER DATABASE [<your AX database name>] SET CHANGE_TRACKING = ON (CHANGE_RETENTION = 6 DAYS, AUTO_CLEANUP = ON) GO — Begin Refresh Retail FullText Catalogs DECLARE @RFTXNAME NVARCHAR(MAX); DECLARE @RFTXSQL NVARCHAR(MAX); DECLARE retail_ftx CURSOR FOR SELECT OBJECT_SCHEMA_NAME(object_id) + ‘.’ + OBJECT_NAME(object_id) fullname FROM SYS.FULLTEXT_INDEXES WHERE FULLTEXT_CATALOG_ID = (SELECT TOP 1 FULLTEXT_CATALOG_ID FROM SYS.FULLTEXT_CATALOGS WHERE NAME = ‘COMMERCEFULLTEXTCATALOG’); OPEN retail_ftx; FETCH NEXT FROM retail_ftx INTO @RFTXNAME; BEGIN TRY WHILE @@FETCH_STATUS = 0 BEGIN PRINT ‘Refreshing Full Text Index ‘ + @RFTXNAME; EXEC SP_FULLTEXT_TABLE @RFTXNAME, ‘activate’; SET @RFTXSQL = ‘ALTER FULLTEXT INDEX ON ‘ + @RFTXNAME + ‘ START FULL POPULATION’; EXEC SP_EXECUTESQL @RFTXSQL; FETCH NEXT FROM retail_ftx INTO @RFTXNAME; END END TRY BEGIN CATCH PRINT error_message() END CATCH CLOSE retail_ftx; DEALLOCATE retail_ftx; — End Refresh Retail FullText Catalogs Run the re-provision tool: To ensure Retail components are functional run the re-provision tool. Find steps here on how to run the tool. Start using the new database: Stop the below service to switch the database. World wide web publishing service. Finance and Operations Batch Management Service. Management Reporter 2012 Process Service. Once the services are stopped, rename your original database to ‘AxDB_orig’ and the new database to ‘AxDB’. Restart the service. Conclusion: This is how you can create a new database and import the data from a .bacpac file. If you face any issue then you can switch to original database or restore the copy of original database created prior to import.

Share Story :

[Solved] – Backspace not working in HTML Web Resources

Issue: When we use a HTML web resource in Dynamics 365 CRM forms or even as a separate navigation, we sometimes face issue that Backspace on Text boxes do not work. Why this happens: This happens because in Custom HTML web resources, we add reference to “ClientGlobalContext.js.aspx”. We need this library to gain access to the global context information such as the information specific to the client, organization or user for your Customer Engagement instance* When we use this library, we get issues with backspaces on text boxes where Input type is not “text”. So if the HTML Input type is “number”, “search”, “tel” or anything else Resolution: Resolution 1:  This can be solved by changing the Input type as “Text” for all input textboxes. Then backspace will start working. But this may not be applicable in all scenarios, since it will remove some of the functionality that was intended. In that case, you can use Resolution #2 below. Resolution 2: I have been able to resolve this issue by running the following code on DOM ready: if (window.Sys && window.Sys.UI && window.Sys.UI.DomEvent && window.Sys.UI.DomEvent.prototype) { window.Sys.UI.DomEvent.prototype.preventDefault = function() { }; window.Sys.UI.DomEvent.prototype.stopPropagation = function() { }; } This will allow you to still use the functions that ClientGlobalContext provides, while keeping it from interfering with your key and mouse events. Credit: Stefan Boonstra  * ClientGlobalContext.js.aspx (Client API reference) Happy CRMing!

Share Story :

SEARCH BLOGS:

FOLLOW CLOUDFRONTS BLOG :


Secured By miniOrange