mscrm-addons.com - Blog

IMPORTANT INFORMATION

This blog is deprecated since July 2020.The articles below are no longer maintained and might contain outdated information. 
You can find the most acutal and relevenat information in our Knowledge Base at support.mscrm-addons.com

News.mscrm-addons.com Blog

rss

Hello and welcome to our blog! What can we do for you? Are you looking for further technical information or step-by-step instructions to our products? Or would you like to read the latest news on mscrm-addons? Please feel free to browse our blog for detailed information and to share our posts!


PhoneCall from/to fields are not populated

When you open a new PhoneCall activity (without the always store option), the TelephoneIntegration (TI) Client automatically fills the from and to field with the actual sender and the recipient. The functionality is provided with the TelephoneIntegrationServerCore2013.16 solution.

If it does not work, you must check the checkSender function.

To do so, open the PhoneCall Information Form. Make sure, that in case of an OnLoad event the checkSender function is called from the ptm_PhoneCallDirection.

Figure 1: PhoneCall Information Form

 

The content of the checkSender function must look like this:

function checkSender()
{
    try
    {
        if (!(window.location.search.match('&id=')))
        {                                                          
                    if (window.location.search.match('actualdurationminutes=-'))
                    {
                           if (Xrm.Page.data.entity.attributes.get("directioncode").getValue())
                           {
                                  var from = Xrm.Page.data.entity.attributes.get("ownerid").getValue();
                                  Xrm.Page.data.entity.attributes.get("from").setValue(from);
                           }
                           else
                           {
                                  var from = Xrm.Page.data.entity.attributes.get("ownerid").getValue();
                                  var to = Xrm.Page.data.entity.attributes.get("to").getValue();

                                  Xrm.Page.data.entity.attributes.get("from").setValue(to);
                                  Xrm.Page.data.entity.attributes.get("to").setValue(from);
       }
               
     name = "actualdurationminutes";
     var regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
                           var results = regex.exec(window.location.search);                                                                      
                           var dur = parseInt(results[1].replace(/\+/g, ""));
                           Xrm.Page.data.entity.attributes.get("actualdurationminutes").setValue(dur * -1);                    
                    }
        }
    }
    catch (e) {}
}

Please do also check the PhoneCall Standard form.

That’s it! We appreciate your feedback! Please share your thoughts by sending an email to support@mscrm-addons.com.


How to synchronize TelephoneIntegration history with actual phonecalls

INTRODUCTION

This article explains the steps required to synchronize the actual call duration as recorded in the TelephoneIntegration history with actual phone calls in CRM.

Addon: TelephoneIntegration for MS CRM 2013, 2015

Prerequisite:

This will only work for phonecalls, that are created with the always store-option enabled in the CTI clients options.

 

1) Start with creating a new workflow (CRM > Settings > Processes) and attach it to the entity MSCRM-Addons.com CTI Call History.
    In case you have not created a workflow in Microsoft Dynamics CRM yet, get some advice how to do this


Figure 1: Create workflow

2) On the next page make sure the start when-option is set to Record is Created


Figure 2: Set start when-option

3) Add a Check Condition-step that will check if the history record has the phone call activity GUID info. Edit it like shown in Figure 3. 


Figure 3: Edit Check Condition-step

4) Add a Wait Condition that will start 5 mintes after the record is created. The record is created at the end of the call. Users can adujst the time (5 minutes) to their needs. It should be edited as shown in Figure 4.


Figure 4: Edit Wait Condition-step

5) Add an Update Record-step as substep to your Wait Condition. It will update the lastsync field. Edit it as shown in Figure 5.


Figure 5: Edit Update Record-step

The generated workflow steps should now look like this:


Figure 6: Generated workflow steps

Save the workflow and activate it.

6) Start your CRM Plugin Registration Tool, connect to your CRM organization(s) and under Registered Plugins check for PTM.Plugins. Expand it.
Right click on PTM.Plugins.SyncNumberPlugin. Then select Register New Step as outlined in Figure 7.    


Figure 7: Register new step

7) When the CTI marks the call as finished, the information is stored in the history table.
The first step checks if the linkedactivityid contains a phone call guid. If yes, it waits for 5 minutes. Within the 5 minutes, the user has to finish the modification of the open phone call by saving it (but not completing it). 5 minutes after the call has been finished, the lastsyncdate will be updated.
This behaviour triggers the SyncNumberPlugin. If the phone call was not read only, then the duration field will be updated.

That’s it! We appreciate your feedback! Please share your thoughts by sending an email to support@mscrm-addons.com.


DCP service error message

The error message displayed in Figure 1 indicates, that there are either too many documents to generate (rather unlinkely) at the moment or that the DCP service is not running. 


Figure 1: error message

Solution: 

The above error message can occur when you start a batch in DocumentsCorePack. To solve this issue, you have to activate or setup a new service. 
Learn how to create a service

in CRM online here.

in CRM on-premise here. 

That’s it! We appreciate your feedback! Please share your thoughts by sending an email to support@mscrm-addons.com.


How to add a language to ActivityTools

This article outlines how to add a CRM language to ActivityTools.

This functionality of ActivityTools is important, if your CRM language is NOT English and/or German, but you want ActivityTools to be displayed in this other language. 

Let us pretend, that your CRM is based on French, but ActivityTools is displayed in English. If you want to change that language-mix, please follow the below step-by-step description.


Figure 1: CRM (French) with Activity Tools (English)


How to change a language for ActivityTools for MS CRM 2015:

1) First, must get the correct language code of your desired CRM language.
To do so, open CRM > Settings > Administration > Languages.
The installed languages and their codes are displayed in the grid.
English, for example, has the code 1033, while German has the code 1031.

2) Then open CRM > Settings > MSCRM-ADDONS.COM Products. Open the record named ActivityTools.


Figure 2: Open record
 

3) Within ActivityTools, look for the ATClanguages-setting and open it.


Figure 3: Open ATClanguage-setting

4) The opened setting should look like Figure 4. 


Figure 4: ATClanguage-setting

5) Next, copy the whole content of its KeyValue into any .xml-editor (in this example, we use a .xml-file of VisualStudio)


Figure 5: VisualStudio .xml-file

6) The .xml-file contains two sub nodes. The first (Activities) contains the display names of all CRM activities for all activated CRM languages. This part is generated automatically.

The second (Static) is the one we have to work on.


Figure 6: Second node (Static) in .xml-file

If you, as in our example, want to display items in French, you have to add the language.
As you can see, the lines usually follow this pattern:

translated item

NEW ACTIVITY

To add French, you simply have to insert the language code for French (1036) and the translated item.
Please note: you have to translate all items by yourself - ActivityTool automatically uses the English items if an item is not translated into the target language. 


Figure 7: AcitivityTools language example - French added 

As soon as you have finished, copy the whole .xml-file back into the CRM setting and save it.

After refreshing ActivityTools, it will display the correct names:


Figure 8: Activity Tools displaying all items in French

That’s it! We appreciate your feedback! Please share your thoughts by sending an email to support@mscrm-addons.com.


HowTo: Use DocuSign with DocumentsCorePack for Microsoft Dynamics CRM

See how DocumentsCorePack enables your users to generate documents and trigger a DocuSign process straight out of CRM.

Example: NDA to be sent & signed to an account and afterwards counter-signed by the owner of the account.

Video Agenda:
1) Defining DocuSign-items within the MS Word template
2) Defining eSignature-recipients (signee 1- the customer; Signee 2 – counter-signee)
3) Step-by-Step tour through the eSignature process.

Using DocuSign with DocumentsCorePack for Microsoft Dynamics CRM

Technical Requirements:
- DocumentsCorePack Client v 7.24 or higher
- DocumentsCorePack ServerBased v 2015.43 or higher (NOTE: Online services will be updated by mscrm-addons.com)

Enjoy!

That’s it! We appreciate your feedback! Please share your thoughts by sending an email to support@mscrm-addons.com.


Error message: ...is missing prvReadptm_ticallinfodata privilege

Error message:

Principal user (Id=56f329cd-2a1f-e511-8118-c4346bad624c, type=8) is missing prvReadptm_ticallinfodata privilege (Id=f83d0785-3924-421b-ad25-9ee898c13b7d) 

Solution:

Please make sure, that the user who uses te TelephoneIntegration license, has the following 2 security roles:

  • TelephoneIntegration security role
  • MSCRM-ADDONS general security role

That’s it! We appreciate your feedback! Please share your thoughts by sending an email to support@mscrm-addons.com.


Service-based printing in DocumentsCorePack

DCP Server offers a service-based printing option which is additionally available to the already known plugin-based printing option. This additional option is based on a service which is running in the background.

DCP ServerBased printing feature provides the possibility to create and manage printer configurations for starting:

  • local print jobs via DCP Server Local Printer Configuration (supported format: .pdf)
  • global print jobs online via Google CloudPrint Configuration (supported formats: .docx, .pdf, .html. .jpg, .bmp)

Requirements: DocumentsCorePack ServerBased for MS Dynamics CRM v5.30 and higher

A) How to create a service for document printing
B) How to add the service-based printing step to a workflow or dialog
C) Exception 1: How to add the service-based printing step to already existing workflows
D) Exception 2: How to add the service-based printing step to workflows including a Delete Document-step.

Please note: If you already run a service for printing documents (as this is quite usual when using DCP Server with CRM Online), you can skip the first section of this article and can continue reading in section B).

A) How to create a service for document printing 

Before you can to add service-based printing to a workflow, you need to configure and start a service.

A1) Start the Service Configuration DocumentsCorePack for MS CRM 2015 from within the Windows start pane. 
image
Figure 1: Look for ServiceManagement in the Start-menu 

A2) Once opened, create a new service or select an existing one. If you want to create a new service, type in the name of the service and click on the green tick mark. 
Please note: Once set, the ServiceName cannot be changed anymore! Click on the [Save service configuration]-button in order to proceed.  
image
Figure 2: DCP ServerBased Service Overview

A3) Next, define which type of jobs the service should work on. Select only print jobs. You have also the possibility to set a filter for the printer to be used. This is essential e.g. in the following case: If you have offices in Austria and in the US, you can type in the name of the printer located in your office (e.g. at your Austrian office) in order to avoid that your documents are printed by the printer located in the other office (eg. at your American office) .
image
Figure 3: Select which type of jobs the service should work on

A4) Then, switch to the CRM Connection Setup-tab, select your CRM type, type in the CRM Server-URL and click on the [Retrieve all Organizations]-button. Select the appropriate organization and click on the [OK]-button.
image
Figure 4: CRM Connection Setup-tab 


Now the below window appears. There, click on the [OK]-button in order to confirm your setup. 
image
Figure 5: Confirm your setup

If the below message box pops up, click on the [OK]-button. 
image
Figure 6: Possible issue with CRM connection- message box

A5) Afterwards click on the [Start Service]-button and the service starts to run in the background and can be found in the Active Services-tab.

A6) After having configured and started the service for printing (in our example “DCPServerPrinting” switch to the DCP Server [Printer] tab. Click on [New] to add and configure a printer which should be used afterward within the workflow. For more information, please download our DocumentsCorePack ServerBased User Guide and read chapter 7.3.1.1 DCP Server Printer Tab Overview.

B) How to add the service-based printing step to a workflow or dialog: step-by-step-description

B1) Start your CRM. Go to Settings and Processes. There, you have the possibility to create a new workflow. 
image
Figure 7: Change Logon

 

B2) Start to create a workflow with the CreateDocument-step. If you would like to add the service based printing step afterward, click on Add Step (1) and select Create Record from the drop-down menu (2).
image
Figure 9: Create a workflow - add steps  

B3) Then, open the drop-down menu within the newly added step and select MSCRM-ADDONS.com AutoMergeWorkingItems.
image
Figure 10: Select MSCRM-ADDONS.com AutoMergeWorkingItems

B4) Now click on the [Set Properties]-button
image
Figure 11: Click on the [Set Properties]-button

A new window opens. Within this window, you can continue to configure the newly added steps. Type in the name of the step (1) and select PrintDocument as AutoMerge Action (2). Then go to the Print Document-section and click on the look-up-field next to the Printer-field and define which printer should be used (3).

Please note: Before you select the printer within this step, you have to ensure that the printer has been installed and added appropriately. Furthermore, it is crucial to use the same name that you used during the printer installation process. For details, please see DCP ServerBased User Guide.
image
Figure 12: Configure the newly added step

B5) Finish configuring the service-based printing step by adding the PrimaryRecordURL. To do so, you have to select CreateDocument:OutputDocumentRef from the first drop-down menu of the Look for-area within the form assistant on the right (1). Afterward, select RecordURL(Dynamic) from the drop-down menu below (2).

Then, click on the [Add]-button (3) and on the [OK]-button (4). Now the PrimaryRecordURL-field is automatically filled (5). Click on the [Save and Close]-button in order to proceed. Now you have appropriately added the service-based printing step.

Please note: If there is already a printer name specified in the PrintTo-field of the Create Document-section, you have to delete this name to avoid double printing (6).
image
Figure 13: Finish the configuration of the step


C) Exception 1: How to add the service-based printing step to already existing workflows 

Select the workflow which you would like to modify and deactivate it.
Then, double-click on it and open the CreateDocument-step by clicking on Set Properties (1). A new window opens. Here, delete the printername (2) and click on the [Save and Close]-button.
image
Figure 14: Modify the CreateDocument-step

After having deleted the plug-in based printer step, you can add the service-based printer step directly after the already existing Create Document-step of the workflow. To do so, please follow the steps in section B). 


D) Exception 2: How to add the service-based printing step to workflows including a Delete Document-step

If you would like to add the service-based printing step to a workflow which includes a Delete Document-step it is important to know that the service is only checking every 90 seconds if there are generated documents to be printed.

In the worst case, documents are generated and deleted within this 90 seconds and the service is not able to print the documents because they have been already deleted.

To avoid this, it is important to include a Wait-condition before you add a Delete Document-step to your workflow. 


D1)
Click on Add Step (1) and select Wait Condition from the drop-down menu (2)
image
Figure 15: Add Step - Wait Condition

D2) Click on condition (click to configure) within the newly added wait condition (1). 
image
Figure 16: Condition (click to configure)

A new window opens. Within this new window, you have to specify the wait condition. Select Print Document (MSCRM-ADDONS.com AutoMergeWorkingItem from the first drop-down menu, Status from the second, Equals from the third and Inactive from the fourth drop-down menu (2).
image
Figure 17: Configure the Wait Condition  

The condition now causes that generated documents are only deleted if they have been already printed. Afterward, click on the [Save and Close]-button to complete this workflow step (3).

That’s it! We appreciate your feedback! Please share your thoughts by sending an email to support@mscrm-addons.com.


How to trigger the mscrm-addons.com scheduler manually

This blog article explains how to trigger mscrm-addons.com scheduler manually to update your license state.

1) First open CRM and open the Advanced Find.


Figure 1: Advanced Find in MS CRM

2) Within the Advanced Find, open the dropdown-menu next to the Look for:-field and search for MSCRM-ADDONS.com Scheduler

   
Figure 2: MSCRM-ADDONS.com Scheduler

3) Next cklick on the [Results]-button in order to get the results.


Figure 3: Get the results

4) A possible result record could look like the one in Figure 4 but always follows the same pattern: mscrm-addons.com-productname + Scheduler

 
Figure 4: Possible result record 

5) Next, open the product with a double-click on it.
In the so opened window, set the Status Reason on Active. Now all you have to do is to save your settings.

 
Figure 5: Set Scheduler on active and save your settings  

That’s it! We appreciate your feedback! Please share your thoughts by sending an email to support@mscrm-addons.com.


What to do if DocumentsCorePack service stopped working

This blog article outline how to react if your DocumentsCorePack (DCP) Service stopped working. It is most likely because the username and password credentials are not working anymore.

Please note: In most of the cases this happens because the password of the Office365 account has expired. We would recommend you to "Setup your password to never expire" for the account on which you run the DCP service. 

How to change the account (username/password) of the DCP service

1)
Open the following link

2) Enter your username and password

3) Click on Your available CRM connection profiles 


Figure 1: DocumentsCorePack Online Configuration

4) Select your profile and lick on modify your service 

 
Figure 2: Modify online configuration

5) In the next step, you can correct your username and password

 
Figure 3: Change your online service credentials.

Click on the [Verify connection & Save Profile]-button in order to proceed.

6) Now mark your service and click on the [Start Service]-button.


Figure 4: Start your service

That’s it! We appreciate your feedback! Please share your thoughts by sending an email to support@mscrm-addons.com.


The code behind the ordinals field function (Advanced)

The following information provides you with a technical description of the ordinals field functionality. For further information on the functionality itself, please have a look at this article. 

This is how the function looks like: 

 

The below table describes what happens behind the scenes. The left column contains a structure chart that visualizes the procedure. The two columns on the right contain examples that run parallel to the structure chart and intend to help to understand the algorithm. 

SET date field to internal variable “day” with the formatting “d”
(the “d” formatting only displays the day as a number; (this would also work with actual number fields and might require no or a different formatting)

Example “createdon” with the value “11/24/2016” and the switch formatting d results in “24”

Example “createdon” with the value “11/3/2016” and the switch formatting d results in “3”

SHOW day

24

3

SET the helper variable “goon” to 0

“goon” is 0

“goon” is 0

CALCULATE the module of day by 100 and store the result in variable “result1”

“result1” is 24

“result1” is 3

CALCULATE the module of day by 10 and store the result in variable “result2”

“result2” is 4

“result2” is 3

IS “result1” equal “11”

No

No

Yes

No

No

No

Print “th”

IS “result1” equal “12”

Yes

No

No

No

Print “th”

IS “result1” equal “13”

Yes

No

“goon” is 1

“goon” is 1

Print th”

SET the helper variable “goon” to 1

IF “goon” is equal to “1”

Yes

Yes

No

Yes

No

No

Nothing

IS “result2” equal “1”

Yes

No

Nothing

Nothing

Print st”

Nothing

IS “result2” equal “2”

No

No

Yes

No

Nothing

Nothing

Print nd”

Nothing

IS “result2” equal “3”

No

Yes

Yes

No

Nothing

Print “rd”

Print rd”

Noting

IS “result2” higher than “3”

Yes

No

Yes

No

Print “th”

Nothing

Print th”

Nothing

  

That's it! We appreciate your feedback! Please share your thoughts by sending an e-Mail to support@mscrm-addons.com