Dynamics CRM - Add companies that not exists when importing contacts - database

I'm migrating a customer CRM database to Dynamics CRM. It's about accounts, contacts, and activities. Unfortunately, the previous CRM was not really well used so the data are a bit confused:
While creating a contact, you have a field "Company" that is a "look up" field as we can find in Dynamics. But, if you write something in there and you don't look up for the company entity, the value entered becomes just a value of the field "COMPANY" in the "CONTACT" record.
That's why I have some contacts that are not really associated with companies.
In Dynamics, I'm using the Import Wizard to imports those entities. Is there a way to add the contact's company if it not already exists while importing contacts?

You need to handle this during the Create – by a plugin with a step, or by a workflow. Both works similarly to DB trigger. Plugin is basically .dll written in C#, running in a sandbox, using some of MS libraries. It is registered by external utility. Workflow is something you can do without programming right in the CRM UI. It is easier do deploy, but it has less possibilities. You can find enough information about both online.
I would recommend following process:
Create temporary custom text field on a Contact entity to store account name as a text.
Before the import, in the import file, create a copy of account column with another name.
One account column should be linked to account lookup (parent customer). This is for automatic joining contact and account. The other column is linked to the created field.
Your routine (workflow or plugin) to process this will have following condition to proceed: If account lookup is empty. Then you will create a new account by using information from Contact (mainly account name) and then associate the account and contact (update of the contact record). Optionally erase account text field on the Contact.
At the end, you should deactivate or remove the routine. If you’d use it more often, you need some condition to recognize records are created by import.

Related

Salesforce - Generate Contact Records for Internal Employees for Use in Service Cloud

I recently configured Service Cloud for my organization and for the most part it is working great. We do have an issue I can seem to solve though. The first time an internal employee submits a case (email-to-case), there is not a contact record to associate with the case, so the help desk must spend time creating a contact record for the employee before they can proceed with resolving the case. Is there a way to automate or sync with Office 365 to create a contact record for each employee?
I have considered and/tested the options below, but none do what I want:
I have already set up and tested Einstein Activity Capture. This is a great tool but will not sync internal (same email domain) contacts into Salesforce.
I know I can automate an export from Office 365 into an AWS S3 Bucket and then use AWS AppFlow to create/update contact records. This one is feasible, but I have to imaging there is a way to integrate the two platforms without exporting data into a staging area.
I can't use anything that requires manual intervention, like Data Loader.

How to set different access levels for dashboard data in Google Data Studio

Lets assume I am creating a google DataStudio dashboard for a sales data which is having sales records for countries.
For each country has a country manager and they are assign to single supervisor in Head Office.
My question is:
Can we develop a Google DataStudio DashBoard which is capable to restrict data only relevant to a particular country if it is viewing by a country manager and to show whole data relevant to all countries if it is viewing by the supervisor of country managers?
There is no easy solution to have a page-level permission, but there are three options.
Break up the report in to separate ones (this is the most simple solution, although it creates multiple reports)
Use Viewer's credentials instead of Owners’ credential (You must grand viewers access to your gbq data source, which is not ideal in most cases)
Filter by email (This works for small number of users, but quite cumbersome for multiple users)
For the option one, you can break up one "master report" that has all pages, and creating multiple sub-reports by using URL embedding by page
In your Data Source, create a column called "e-mail" and populate it with the e-mail address of the manager that you want to be able to see that particular line.
After you do this, use the "Filter by email" option in the Data Source:
And select the field you just created:
And there you are. Your data will only be searchable by the person you selected, based on the email they are using to access the dashboard.
If you want more than one person to be able to see a particular data, you'll need to duplicate the respective lines in the Data Source.

Implementing audit trail ms sql using stored procedure

My application would be like having category and under category, products will be there.
Three types of admin will be there. super admin (more than one admin will be available), product admin (more than one product admin) and user.
Super admin and product admin can add/delete/update product.
User can view that.
Super admin and product admin can change the user permission.
Super admin can add users.
For this I need to add audit trail.
I have referred some sites like
best way to implement an audit trail in sql-server?
http://www.codeproject.com/Articles/21068/Audit-Trail-Generator-for-Microsoft-SQL
http://techbrij.com/audit-trail-microsoft-sql-server-quickly
My understanding from this.
This will write the audit trail whatever (based on our setting) action done to the table
For each table we need to have separate shadow table.
I have planned for the following implementation
I have audit trail types with the predefined message. For example I am having the following tables AuditTrailActions and AuditTrailMessages. My message template would be like the following,
Product {ProductName} [{PersonId}] has been created by {Username}
[{PersonId}]
Whenever the product is added successfully, I will call a stored procedure from there will call audit trail messages table to get the message and replace the necessary tags and update in AuditTrail Table
I will do like the same thing for all the actions.
Will be a good implementation?
If not can anyone suggest good implementation for my need?

Automatically Creating Pages on the Server When an Entry in a Database is Created

Using PHP, does anyone know how to make it so that when someone registers on a website (and therefore enters data into a database), a folder with a default php file is created on the web root/server???
This is not a good design. Rather, you should have your PHP files look at the session to find the logged in user's id, and query the necessary data about that user id. You don't need a file for each user. You can make your table auto-increment a user id.

Interfacing SugarCRM with OpenERP

I am currently working on a project whereby I have to make both openERP and SugarCRM talk to each other.
For example, if I add a new Account in SugarCRM, this account is also created in OpenERP...and if I create a new Customer in OpenERP, a new customer with same values is created in SugarCRM.
I've searched the net and I found a connector which allows this interfacing.
http://www.sugarforge.org/projects/sugar2openerp
This connector is not an easy thing to work with...I had to build a module inside SugarCRM for me to input connection details (url, username, password, etc ).
Now, I dont know how to proceed with the connector...the files contained in it mentioned "accounts_cstm"... should I create it or no?
Have you looked at the import_sugarcrm module (http://apps.openerp.com/addon/6970)?
I've never used it, but it is an certified OpenERP module, which means that it is officially supported by OpenERP SA, so you should be able to get support and post feature requests if necessary.
all table names ended with "_cstm" are the upgrade safe portion of the data you create in SugarCRM (_cstm for "custom"). For example if you add a new field to accounts, the original structure doesn't change. SugarCRM creates your new field in this table, and relates to the original accounts table thru id_c field.
I didn't test the module you are mentioning here, but if well constructed there wouldn't be need of creating such table.

Resources