af Henrik Jensen
28. september 2015 21:51

Hvis man opgraderer MS CRM 2015 til MS CRM 2015 kan man opleve en bemærkelsesværdig fejl. Fejlen går ud på at der bliver skrevet en forkert datoværdi i en tabel i CRM-organisationsdatabasen.
I forbindelse med opgraderingen kan man opleve følgende fejl (uddrag af logfil):
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.Crm.CrmArgumentOutOfRangeException: DateTime is less than minumum value supported by CrmDateTime. Actual value: 01/01/1753 00:00:00, Minimum value supported: 01/01/1900 00:00:00 ---> System.ArgumentOutOfRangeException: DateTime is less than minumum value supported by CrmDateTime. Actual value: 01/01/1753 00:00:00, Minimum value supported: 01/01/1900 00:00:00
Læg mærke til datoen 01/01/1753.
Konsulentchef Anders Lytoft Fyrst fra Nordic Computer, analyserede sig frem til at det var opgraderingsprocesser der indsatte den "forkerte" dato i tabellen TimeZoneRuleBase i organisationsdatabasen:

Løsningen
Inspiration til løsning på problemet er hentet i følgende blogindlæg: Upgrade 2013 to 2015 causes error...
Dog med en lille ændring af triggeren:
CREATE TRIGGER MyBasicTrigger On timezonerulebase After Insert, Update AS
SET NoCount ON
IF UPDATE(effectivedatetime)
BEGIN
UPDATE timezonerulebase
SET EffectiveDateTime = '1900-01-01'
FROM timezonerulebase
INNER JOIN inserted on timezonerulebase.TimeZoneRuleId = inserted.TimeZoneRuleId
WHERE Inserted.EffectiveDateTime < '1900-01-01'
END
Efter oprettelse af triggeren køres opgraderingen. Når denne er færdig fjernes triggeren med følgende kommando:
DROP Trigger MyBasicTrigger
Læs mere
Mon fejlen har noget med den 4. Jarl af Chesterfield Philip Stanhope at gøre? Det kan du selv vurdere efter at have læst følgende: What is the significance of 1/1/1753 in SQL Server?...
af Henrik Jensen
22. september 2015 11:14
Microsoft har opdateret implementeringsvejledningen til MS CRM 2015 så den nu indeholder nyhederne der er introduceret i forbindelse med Opdatering 1.
Implementeringsvejledning (Engelsk): MS CRM Implementation Guide for CRM Online and CRM 2015 (on-premises)...
Implementeringsvejledning (Dansk): MS CRM Implementeringsvejledning for CRM Online og CRM 2015 (lokal)...
af Henrik Jensen
20. september 2015 09:20
Jeg faldt over en artikel i Computerworld, der annoncerer samarbejde mellem Salesforce og Microsoft.
Samarbejdet giver brugere af Salesforce en markant større grad af integration i Microsofts programmer og tjenester. Det sker, efter Salesforce har lanceret Saleforce Lightning Experience, den nyeste opdatering til Salesforces tjenester.
Her nævnes blandt andet Skype For Business, som kan integreres med Salesforce.com, så du kan foretage opkald direkte fra CRM-systemet.
Læs den komplette artikel: Salesforce og Microsoft i nyt samarbejde...
Læs tidligere annonceret artikel om samarbejdet: Alliance mellem Microsoft og Salesforce...
af Henrik Jensen
20. september 2015 08:59

Med MS CRM 2013 introducerede Microsoft en række nyheder og forbedringer til brugerfladen, som igen blev forbedret i MS CRM 2015. Microsoft har frigivet en hvidbog, der vil give et indblik til de centrale designprincipper bag MS CRM, men vigtigst af alt hvordan man bedste drage fordel af nyhederne i implementeringsprojekter.
Formålet med hvidbogen er:
- Illustrere, hvordan du bruger de nye funktioner der blev indført i eller efter MS CRM 2013 for at skabe en behagelig oplevelse for slutbrugere.
- Forklare hvordan design for versioner i eller efter MS CRM 2013 bør afvige fra designe løsninger for MS CRM 2011.
Dette dokument har ikke til hensigt at forklare de tekniske detaljer i UX komponenterne. I stedet, er det en samling af bedste praksis baseret på virkelige kundescenarier.
Download hvidbogen (Engelsk): MS CRM 2015 Best Practices Documentation...
af Henrik Jensen
15. september 2015 12:23
Jeg har tidligere brugt værktøjet Dynamics XRM Tools (Statistics) til at vise hvor mange poster der er i en CRM-organisation. Værktøjet fungerer stadig, selvom det er skrevet til MS CRM 2011.
Jeg har også tidligere benyttet en standardrapport som SQL Serveren tilbyder, som hedder Disk Usage by Top Tables, og som viser en ganske fin rapport.

Jeg har for nyligt "opdaget" at Jamie Miley har begået et blogindlæg (How to Easily Get Record Counts for Entitys in MS CRM...) som indeholder et SQL View, som viser alle CRM-relaterede poster. SQL'et ser således ud:
SELECT TOP (1000) dbo.RecordCountSnapshot.Count, dbo.RecordCountSnapshot.RecordCountSnapshotId, dbo.EntityView.ObjectTypeCode, dbo.EntityView.Name
FROM dbo.RecordCountSnapshot INNER JOIN
dbo.EntityView ON dbo.RecordCountSnapshot.ObjectTypeCode = dbo.EntityView.ObjectTypeCode
WHERE (dbo.RecordCountSnapshot.Count > 0)
ORDER BY dbo.RecordCountSnapshot.Count DESC
Outputtet er:

af Henrik Jensen
14. september 2015 21:51

Microsoft har frigivet en hvidbog som har fokus på synkronisering mellem MS CRM og Microsoft Outlook.
Jeg har tidligere lavet et indlæg om synkroniseringen (tilbage i version 2011), som overordnet stadig fungerer på samme vis. Læs mere: Sådan virker Outlook synkronisering efter Opdateringspakke 7
Hvidbogen kommer selvfølgelig også omkring de nyheder der er med den seneste opdatering, herunder hvordan eksisterende (tidligere) synkroniseringer håndteres. Dette for bl.a. at sikre at data bliver markeret som synkroniseret ved tilslutning af en ny Outlook til en eksisterende bruger.
Læs mere i hvidbogen (Engelsk): Outlook Synchronization in MS CRM...
af Henrik Jensen
13. september 2015 08:27
Jesper Funk og Thomas Rath fra Norriq har tippet mig om et problem, som kan opstå med E-mail Router softwaren i MS CRM 2013, som er flyttet fra Online til Onpremise. Problemet har omfattet flere kunder.
Problemet
En række brugere, som er indstillet til at benytte Email Router for Outgoing Emails blev e-mails ikke behandlet. I Email Router Configuration Manager ved klik på knappen Load Data blev e-mails ikke overført til E-mail Routeren, og dermed er de ikke behandlet.
Analysen
Følgende SQL Trace blev benyttet til analyse af problemet:
exec sp_executesql N'select
top 5001 "systemuser0".SystemUserId as "systemuserid"
, "systemuser0".FullName as "fullname"
, "systemuser0".InternalEMailAddress as "internalemailaddress"
, "systemuser0".OutgoingEmailDeliveryMethod as "outgoingemaildeliverymethod"
, "systemuser0".IncomingEmailDeliveryMethod as "incomingemaildeliverymethod"
from
SystemUserBase as "systemuser0"
where
(((((("systemuser0".InternalEMailAddress is not null and "systemuser0".IsDisabled = @IsDisabled0))
and (((("systemuser0".OutgoingEmailDeliveryMethod = @OutgoingEmailDeliveryMethod0))
or (("systemuser0".IncomingEmailDeliveryMethod = @IncomingEmailDeliveryMethod0
or "systemuser0".IncomingEmailDeliveryMethod = @IncomingEmailDeliveryMethod1))))
and (("systemuser0".InviteStatusCode = @InviteStatusCode0))))))
order by
"systemuser0".SystemUserId asc',
N'@IsDisabled0 bit, @OutgoingEmailDeliveryMethod0 int, @IncomingEmailDeliveryMethod0 int, @IncomingEmailDeliveryMethod1 int, @InviteStatusCode0 int', @IsDisabled0=0, @OutgoingEmailDeliveryMethod0=2, @IncomingEmailDeliveryMethod0=2, @IncomingEmailDeliveryMethod1=3, @InviteStatusCode0=4
Bemærk følgende: (("systemuser0".InviteStatusCode = @InviteStatusCode0))))))
Nye brugere har som standard værdien 4 (InviteStatusCode), men analysen viser at brugere har en anden værdi end 4.
Løsningen
Løsningen var at eksekvere følgende script på den aktuelle organisation:
UPDATE SystemUserBase
SET InviteStatusCode = 4
WHERE InviteStatusCode <> 4
af Henrik Jensen
9. september 2015 20:40
Microsoft har annonceret frigivelse af MS CRM 2016 i 4. kvartal 2015, hvilket nok kommer bag på de fleste.
Læs den officielle annoncering (Engelsk): Microsoft reinvents productivity with upcoming release of customer engagement solution...
Læs Bob Stutz officielle annoncering (Engelsk): MS CRM 2016 – Delivering the Next Generation of Intelligent Customer Engagement...
Der kommer selv sagt en masse nyheder i den nye MS CRM 2016. Læs om disse her (Engelsk): MS CRM 2016 Release Preview Guide...