The scan business card feature added as part of release wave 2, allows salespeople to quickly scan business cards using the Quick Create Form. The scanner reads the information from the card and populates the corresponding mapped fields in the record.
Out of the box, it is available in quick create form of lead and contact entity.
To specify the mapping for the business card control fields, navigate to Settings – Customizations and open the Quick Create form and select the Business Card Control and go to the Controls tab for its properties.
Click on the edit icon for the field and specify the mapping.
To enable for entities other than lead and contact, open the quick create form of that entity for customization and select either single or multiple lines of text field as a placeholder and add the business card control to it.
Recently in Dynamics 365 On-premise Dev environment, accidentally System Admin user’s Business Unit changed and hence all the security roles lost along with System Administrator role.
In that Dev environment, we don’t have any other user with System Administrator security role.
So, followed the below steps and assigned the System Administrator role to the CRM System Admin user using SQL queries.
Note: Take the backup of CRM DB before following the below steps.
Step 1: Logged in SQL with CRM System Admin role and executed the below query and got the Default business unit GUID from the BusinessUnit Table.
SELECT BUSINESSUNITID, NAME,* FROM BUSINESSUNIT WHERE PARENTBUSINESSUNITID IS NULL
Step 2: Executed the below query and got the CRM System Admin User GUID from the SystemUser table.
SELECT FULLNAME, SYSTEMUSERID, BUSINESSUNITID, BUSINESSUNITIDNAME,* FROM FILTEREDSYSTEMUSER WHERE FULLNAME LIKE ‘%CRM ADMIN%’ — CRM ADMIN is the name of my System Admin’s Full name in the CRM dev organization.
Step 3: Updated the default business unit GUID for the System Admin user by using the below SQL Query.
UPDATE FILTEREDSYSTEMUSER SET BUSINESSUNITID = ‘6C9A857D-D43B-E411-93F9-000D3A800C9F’ — Refer Step 1. WHERE SYSTEMUSERID=’F2368783-D43B-E411-93F9-000D3A800C9F’ — Refer Step 2.
Step 4: Executed the below query and got the below System Administrator Security role from Role Table.
SELECT ROLEID, NAME, BUSINESSUNITID,* FROM ROLE WHERE NAME = ‘SYSTEM ADMINISTRATOR’ AND CREATEDBY IS NULL
Step 5: Inserted the record in SystemUserRoles Table.
INSERT INTO SYSTEMUSERROLES (SYSTEMUSERID, ROLEID) VALUES (‘547258C8-3265-E911-A816-000D3A81C32B’,’1E4B4AB7-C956-E411-93F7-000D3A800169′) –First Parameter is SYSTEMUSERID. Refer Step 2 –Second parameter is ROLEID. Refer Step 4
Step 6: Reset IIS. Logged in CRM with System Admin User and it worked.
Hope this article helped you and share your valuable feedback on this article.
So far we have been trying to automate BPF auto stage movement using client side js or plugin.
But again Microsoft tried to make our life easier by introducing a new feature that supports Business Process Flows as an entity in the July 2017 Update for Dynamics 365. You can now work with each Business Process Flow as its own entity through dashboards, grids, and charts. This also means that you have the ability to interact with them through Dynamics 365 workflows
In this article, I am going to focus on how you can create a Workflow for the Business Process Flow entity record to change the Active Stage when a field on the Opportunity entity record is updated. Earlier this was only possible using client-side APIs or use of a plugin.
Scenario:We have a standard lead to opportunity BPF…
Someone asked me this question which is frequently asked in interviews i.e. why plugins implemented iplugin i.e. an interface and custom workflow inherit codeactivity i.e. an abstract class?
The purpose of question is to know why codeactivty is an abstract class and not an interface like iplugin?
So to understand the answer we fist need to understand the difference b/w interface and an abstract class:
What is an Abstract Class?
An abstract class is a special kind of class that cannot be instantiated. So the question is why we need a class that cannot be instantiated? An abstract class is only to be sub-classed (inherited from). In other words, it only allows other classes to inherit from it but cannot be instantiated. The advantage is that it enforces certain hierarchies for all the subclasses. In simple words, it is a kind of contract that forces all the subclasses to carry…