Microsoft CRM and Scribe in perfect symbiosis

Microsoft CRM and Scribe in perfect symbiosis

About this Blog

In this Blog I will gather information about Microsoft Dynamics CRM and Scribe.

Any issues I might come across will be highlighted and a solution/workaround will be given.

Scribe Update Notifier has stopped working

ScribePosted by Niels Poulsen 2016-11-03 10:07

This service will check for updates to you Scribe Insight solution.

If you get the message "Scribe Update Notifier has stopped working" when logging on to the Scribe server, you need to check the Event viewer.

As shown in below pictures, the error occurs if the "Long date" contains the name of the day (Thursday, November 3, 2016). This can't be pharsed as "Date".

The system format of the server have to be change to a "Long date", that do not contain the weekday.





Updating RollUp Fields do NOT update the "Modified On" date

Microsoft Dynamics CRMPosted by Niels Poulsen 2016-06-03 08:34
RollUp fields are a great new feature, allowing for aggregation of data from many child records to be summed up to the parent record.

The RollUp field are being updated on an asynchronous process running every hour.

The updating of the RollUp field are done in the background and are NOT updating the "Modified On" date on the Parent record. Even though the value on the parent record are being updated and are visible in views and on the actual record.

This have big influence if you are running external integration based on the "Modified On" date.
Ex. Scribe replication service from CRM Online to local SQL database.

Since the "Modified On" are not changed after updating the RollUp field, any integration selecting records changed since last run, will NOT be selected for integration.

Ex.:
1.
An Opportunity is modified at 2:05PM and therefore selected for replication to local SQL database for reporting purpose at 2:15PM.

2.
At 2:30PM a child Record is created and related to a Parent Opportunity. The Opportunity will NOT get a new "Modified On" date since no data are changed on the actual Opportunity. The Opportunity "Modified On" date is still 2:05PM.

3.
At 3:00PM the system asynchronous process is running and updating the RollUp field on the Opportunity summing up values from all Child records.

4.
Since the Opportunity "Modified On" date is still 2:05PM, the Opportunity is NOT selected again for replication to local SQL database for reporting purpose at 3:15PM. No changes seem to have been made on the Opportunity!


WORKAROUND:
The system have a hidden field to track when the RollUp field have last been updated. Whenever a RollUp field are being updated by the system, this field are also being update with the date for the RollUp update.
This field is only available on the form and from the API. Can't be found under fields on the entity.


Since no Workflow can trigger on the change of the RollUp field being updated, a Scribe job have to do an update on the Opportunity, when RollUp field are being updated.

1.
Set up a Scribe job to select all Opportunities where the RullUp_date field is greater than last run time for this scribe job.

2.
Update all found Opportunities with any small change in order to change the "Modified On" date. (Could be a new data field or othe not used field).

The Opportunity is now updated and will be selected next time any integration is running selecting Opportunities changed since last run.



Unable to reassign an Opportunity in CRM - Related entity does not excist

Microsoft Dynamics CRMPosted by Niels Poulsen 2016-04-22 08:03

If you are having problems reassigning an Opportunity or an other entity, ygis might be caused by the related entities attached to the Opportunity.

Have experienced this in several occations:



This error is caused by the N:1 relation between the Opportunity an the custom entity (new_op...).

The relationship behavior of Assign: "Cascade All" seems to cause this issue. If Assign was set to "Cascade None" we were able to reassign the Opportunity with no problem.




CRM 2015 (7.1) Business Rule not working On Load

Microsoft Dynamics CRMPosted by Niels Poulsen 2016-04-22 08:00

After upgrade to CRM 2015 Spring Release 1 (version 7.1) Some Business Rules do not work when loading a form.

A Business Rule should ex. show some field if a certain values is set. This works fine before upgrade to Spring Release 1 (7.1)

After upgrade the Business Rule do not work when loading the form, only if the value is changed.

In order for this to work again this, you have to set a new setting in System Settings.
This setting will be removed in version 2016.




Using Scribe to write to SQL tables with spaces in the table name

ScribePosted by Niels Poulsen 2016-04-22 07:56

When using a SQL ODBC connection to write to a table, that have spaces in the table name, you will get an error.

The solution is to use the Scribe OLE DB adapter to connect to the database.


Use this connection setup:

Data Source = The name of the ODBC to the database

Initial Catalog = The name of the database

User = Name of the user

Password = The password for the user

Additional Connect Parameters: = Blank

Use Owner In Queries: TRUE



Ensuring data is recived by the ERP-system

ScribePosted by Niels Poulsen 2016-04-22 07:52

This post will show you how to ensure, that data are imported from CRM to an ERP-system (ex. Navision).

Whenever you are importing data from CRM to ex. Navision, you would like a handshake, that data actually are imported to the other system.

There are several scenarios, but I’ll only show two for now.

Scenario one: (using CRM and Navision adapter)

Account from CRM should be imported to Navision.

Job one

a. Step one in Scribe is update/insert in Navision

b. Step two in Scribe is to update the source account in CRM with a status “Sent to Navision” and a date for the update/insert (custom fields)

If the update/insert is successfully, the source in CRM will show this in the two new custom fields.

Scenario two: (using CRM adapter and XML-files to ERP system)

Account from CRM should be imported to ERP system. (no adapter available)


Job one

a. Step one in Scribe is to insert into a XML-file, which is placed in a specified file location on the network.

Step two in Scribe is to update the source account in CRM with a status “Sent to ERP-system” and a date for the insert (custom fields)

If the insert is successfully, the source in CRM will show this in the two new custom fields. We are now sure, that the XML-file has been placed in the specified folder.

Job two

a. When the ERP-system has imported the XML-file, a new XML-file is placed in another folder on the network.

b. An integration process in Scribe Console looks for files in the specified folder. Whenever a XML-file is in the folder, the handshake is made to the account in CRM. She Scribe job update the account with status “Accepted by ERP-system” and date for this accept (new custom field)

We are now sure, that the XML-file sent to the ERP-system has been placed in the specified folder and that it have been acpted.