Konfiguration af SharePoint Online med Dynamics 365 Online

af Henrik Jensen 17. oktober 2017 10:03

Det er ganske let at konfigurere SharePoint Online med Dynamics 365 Online. Man kan bare følge den vejledning Microsoft har begået: Konfigurer serverbaseret godkendelse med Dynamics 365 Online og SharePoint Online...

Når man har konfigureret integrationen kan man benytte Dokumenter således:

Og man vil se følgende visning:

Men hvad hvis man vil have vist ovennævnte visning på selve formularen? Ja så skal der en IFrame og lidt programmering til.

Oprettelse af IFrame

På den ønskede formular oprettes en IFrame med følgende indstillinger:

Fanen Generelt

  • Navn: IFRAME_<dit navn>
  • URL-adresse: about:blank
  • Begræns scripts på tværs af rammer, hvis det understøttes: Ingen afkrydsning

Fanen Formatering

  • Antal rækker: Gerne 30 eller derover
  • Rulning: Aldrig
  • Vis ramme: Ingen afkrydsning
     

Programmeringen

Opret følgende programmering som kan knyttes til formularens onLoad-event. Erstat IFRAME_<dit navn> med navnet på IFrame'n:

var url = Xrm.Page.context.getClientUrl() +
   "/userdefined/areas.aspx?formid=ab44efca-df12-432e-a74a-83de61c3f3e9&inlineEdit=1&navItemName=Documents&oId=%7b" +
   Xrm.Page.data.entity.getId().replace("{", "").replace("}", "") + "%7d&oType=" +
   Xrm.Page.context.getQueryStringParameters().etc +
   "&pagemode=iframe&rof=true&security=852023&tabSet=areaSPDocuments&theme=Outlook15White";

Xrm.Page.getControl("IFRAME_<dit navn>").setSrc(url);

Dynamics 365 v9: API-relateret funktionalitet som udgår

af Henrik Jensen 9. juli 2017 10:25

Med lanceringen af Dynamics 365 v9 ændrer Microsoft på API'et - især på klient-siden, og en række ting ændres, som helt sikkert vil påvirke dem som benytter JavaScript, men også Silverlight

Silverlight (XAP) udgår som webressource. Som erstatning kan man benytte Custom Control Framework (CCF) eller HTML-webbressource som bruger HTML5.

Her er de ting som ændres på klient-siden:

Nuværende Estatning
Xrm.Page ExecutionContext.getFormContext (Der gælder særlige regler herfor)
Xrm.Page.context Xrm.Utility.getGlobalContext
Xrm.Page.context.getQueryStringParameters formContext.data.attributes
Xrm.Page.context.getTimeZoneOffsetMinutes globalContext.userSettings.getTimeZoneOffsetMinutes
Xrm.Page.context.getUserId globalContext.userSettings.userId
Xrm.Page.context.getUserLcid globalContext.userSetings.languageId
Xrm.Page.context.getUserName globalContext.userSettings.userName
Xrm.Page.context.getUserRoles globalContext.userSettings.securityRoles
Xrm.Page.context.getIsAutoSaveEnabled globalContext.organizationSettings.isAutoSaveEnabled
Xrm.Page.context.getOrgLcid globalContext.organizationSettings.languageId
Xrm.Page.context.getOrgUniqueName globalContext.organizationSettings.uniqueName
Xrm.Page.data.entity.save(string) Xrm.Page.data.entity.save(saveOptions)
Xrm.Page.data.entity.getDataXml Ingen ændringer udover at man skal bruge typename fremfor type ved lookup-felter
GridRow.getData GridRow.data
GridRowData.getEntity GridRowData.entity
Xrm.Mobile.offline Xrm.WebApi.offline
parent.Xrm Brug HTML web resource
addOnKeyPress Benyt en brugerdefineret Control
removeOnKeyPress Benyt en brugerdefineret Control
showAutoComplete Benyt en brugerdefineret Control
hideAutoComplete Benyt en brugerdefineret Control
Xrm.Utility.alertDialog Xrm.Navigation.openAlertDialog
Xrm.Utility.confirmDialog Xrm.Navigation.openConfirmDialog()
Xrm.Utility.isActivityType Xrm.Utility.getEntityMetadata
Xrm.Utility.openEntityForm Xrm.Navigation.openForm
Xrm.Utility.openQuickCreate Xrm.Navigation.openForm
Xrm.Utility.openWebResource Xrm.Navigation.openWebResource

Læs mere om ændringerne (Engelsk): Important changes coming in Dynamics 365 Customer Engagement...
Læs tidligere annoncerede ændringer (Engelsk): Important changes coming in future releases of MS Dynamics 365...
Læs mere, i detaljer, om ændringerne (Engelsk): What's coming in Customer Engagement in the July 2017 update for Dynamics 365 (online)...

Relancering af Microsoft Dynamics 365 CRM Developer Toolkit

af Henrik Jensen 18. november 2016 08:07

Microsoft har valgt at relancere Microsoft Dynamics 365 CRM Developer Toolkit, som har været væk fra markedet i en del år. Toolkit'et er indtil videre en beta-version, som indeholder enkelte mangler og fejl.

En forudsætning for at benytte Toolkit'et er at man skal installere Dynamics 365 SDK. Når det er på plads har man også mulighed for at udvikle plugins, workflow activities og klient-side scripts i forhold til MS CRM 2013, 2015 og 2016.

Download toolkit'et: Microsoft Dynamics 365 Developer Toolkit...

Dynamics 365 SDK: Microsoft Dynamics 365 Software Development Kit (SDK)...

Yderligere information om toolkit'et: Microsoft Dynamics 365 Developer Toolkit...

Programmering af undergitter (Subgrids)

af Henrik Jensen 10. januar 2016 12:14

Siden introduktionen af undergitter (Subgrids) i MS CRM 2011, har det været en udfordring at håndtere programmering i forhold til undergitter. Men med frigivelsen af MS CRM 2015 Opdatering 1 og MS CRM 2016, kan man nu følgende i forhold til at programmere et undergitter:

  • Hente og ændre visninger der bliver benyttet i forbindelse med et undergitter.
  • Hente og ændre data i rækker
  • Hente den markerede række

Undergitre har nu fået sin egen Subgrid object model:

Læs mere om Subgrid object model (Engelsk): Write scripts for subgrids...

Hvorfor er en pris låst på en Ordre?

af Henrik Jensen 20. november 2015 09:56

Når man opretter en Ordre direkte i MS CRM så kan man selvfølgelig tilknytte Produkter (Eksisterende og Egne oprettede (Produkter, der skal revideres)).

Hvis man opretter en Ordre fra et Tilbud så vil man opleve at en række felter er låst på Produkterne.

Årsagen til at felterne er låst er, at indstilingen Priser er låst er sat til Ja. Hvilket sker automatisk når man opretter en Ordre fra et Tilbud.

Man kan fjerne låsningen på Produkterne ved at vælge kommandoen Brug aktuel prissætning eller ved at klikke på hængelåsen.

 

Omvendt kan implementere låsningen på Produkterne ved at vælge kommandoen Lås prissætning eller ved at klikke på hængelåsen.

 

Alternativt kan man sætte/fjerne låsningen med en Arbejdsproces (workflow), plugin eller med klient-side-kode:

var ispricelocked = Xrm.Page.getAttribute("ispricelocked").getValue();

if (ispricelocked) {
    Xrm.Page.getAttribute("ispricelocked").setValue(false);
    Xrm.Page.getAttribute("ispricelocked").setSubmitMode("always");
}

Frigivelse af MS CRM 2015 SDK Opdatering 7.1.0

af Henrik Jensen 17. juni 2015 08:35

Microsoft har frigivet en opdatering til MS CRM 2015 SDK Opdatering 7.1.0.

Opdateringen indeholder rigtig mange ændringer og nyheder i forhold til den oprindelige frigivelse, og i forlængelse af frigivelsen af Opdatering 1.0 (Update 1.0) til MS CRM 2015. Læs om de mange nyheder her: Release History...

I stil med tidligere...og for fremtiden består SDK'et af et SDK til brugerfladen "User Interface Integration (UII) Development Guide for MS CRM 2015", som kan downloades sammen med det almindelige SDK.

MS CRM SDK på MSDN (Engelsk)Development for MS CRM Online and on-premises (CRM SDK)...

Download (Engelsk): MS CRM 2015 Software Development Kit (SDK)...

Opdatere scripts så de fungerer bedst med de nye Turbo-formularer

af Henrik Jensen 25. maj 2015 18:38

I MS CRM Online 2015 Opdatering 1 (v7.1), blev en ny teknik til indlæsning af formularer introduceret for at forbedre ydelsen. Formularer vil indlæse betydeligt hurtigere og mere effektivt. Den nye rendering er baseret på tidligere generationer og har den samme funktionalitet og adfærd. Læs mere her: MS CRM Online 2015 Update 1 - New Form Rendering Engine...

Administratorer og udviklere skal være opmærksom på fuld kompatibilitet, når du opgraderer, herunder skal scripts håndteres en lille smule anderledes. Scott Durow fra Develop 1 har lavet et ganske godt blogindlæg om de ting man skal være opmærksom på. Læs mere her: Turbo Forms: Get your JavaScript ready for CRM2015 Update 1...

MS CRM 2011/2013 – JavaScript-programmering Best Practices

af Henrik Jensen 9. januar 2014 23:35

Ben Husking har lavet et ganske god indlæg som samler op på en masse nytte råd omkring programmering med JavaScript. Indlægget kommer også ind på en række begrænsninger som man skal være opmærksom på samt ting man skal tage forbehold for i forhold til flere browsere.

Endeligt kommer indlægget ind på brugen af namespaces samt giver råd omkring REST og SOAP. Jeg anbefaler at tage et kig på dette engelsksprogede indlæg: CRM 2011/2013 – JavaScript Programming Best Practices...

Frigivelse af MS CRM 2013 SDK Opdatering 6.0.3

af Henrik Jensen 18. december 2013 18:44

Microsoft har frigivet en opdatering til MS CRM 2013 SDK Opdatering 6.0.3. Opdateringen indeholder rigtig mange ændringer og nyheder i forhold til MS CRM 2013, og i forlængelse af frigivelsen af Opdateringspakke 1 (Rollup 1) til MS CRM 2013.

Bemærk at der, i skrivende stund, er angivet version 6.0.2 der hvor man downloader SDK'et, hvilket er en fejl. SDK'et er version 6.0.3 (jf. "Release history" i selve SDK'et).

Som noget nyt består SDK'et nu også af et SDK til brugerfladen "User Interface Integration (UII) Development Guide for MS CRM 2013", som kan downloades sammen med det almindelige SDK.

Mod sædvane har Microsoft endnu ikke frigivet SDK'et på MSDN endnu.

Download (Engelsk): MS CRM 2013 Software Development Kit (SDK)...

Frigivelse af MS CRM 2011 SDK Opdatering 5.0.16

af Henrik Jensen 20. juni 2013 22:24

Microsoft har frigivet en opdatering til MS CRM 2011 SDK Opdatering 5.0.16. Opdateringen indeholder rigtig mange ændringer og nyheder. Jeg anbefaler at tage et nærmere kig på disse ved at benytte følgende link (Engelsk): SDK Release History for V5.0.16...

Microsoft har ligeledes annonceret rigtig mange ændringer i den næste større frigivelse af SDK'et, herunder fjernelse af en række programmeringsmæssige elementer samt elementer som medvirker til at sikre bagudkompatabilitet. Læs mere om disse ændringer, og vær forberedt på hvilken indflydelse de kan få i dine CRM-projekter (Engelsk): What’s Changing in the Next Major Release...

Download (Engelsk)MS CRM 2011 Software Development Kit (SDK)...
MSDN (Engelsk)
MS CRM 2011 Software Development Kit (SDK)...

Bog: Microsoft Dynamics CRM 2011 Scripting Cookbook

af Henrik Jensen 27. april 2013 17:00

Nicolae Tarla har frigivet bogen Microsoft Dynamics CRM 2011 Scripting Cookbook.

Bogen er for dem som vil i gang med at programmere scripts i MS CRM 2011. Man behøver ikke at være programmør for at bruge - og forstå - bogen, men man skal have en lille smule erfaring i klientside scripting, for at få det fulde udbytte af bogen.

Bogen giver et overblik over mulighederne samt et godt grundlæggende kendskab til udvikling af klientside scripts  samt hvordan man håndterer disse i MS CRM 2011...og så er bogen spækket med eksempler, som man kan bruge direkte i sin egen MS CRM-løsning.

Ud over de forventede emner kommer bogen også omkring emner som:

Link til bogen (Engelsk)Microsoft Dynamics CRM 2011 Scripting Cookbook...

Opdatering af IntelliSense til JScript

af Henrik Jensen 18. marts 2013 23:12

Jeg har tidligere beskrevet opsætningen og brug af IntelliSense til JScript i indlægget IntelliSense til JScript i MS CRM 2011...endnu bedre!.

I forbindelse med frigivelsen af SDK Opdatering 5.0.14, er IntelliSense til JScript blevet opdateret. Opdateringerne omfatter:

  • Nye skabeloner til Visual Studio 2012, både til Visual Basic og C#.
  • Et opdateret XrmPageTemplate.js library, som nu er mere robust end tidligere.
  • Understøttelse af Xrm.Utility-funktioner.
  • Understøttelse af Xrm.Page.context.getClientUrl-funktionen.

Som beskrevet i mit tidligere indlæg (IntelliSense til JScript i MS CRM 2011...endnu bedre!) anbefaler jeg, at man læser instruktionerne i Readme-filen.

Bliv medlem af CRMUG DK

De regionale afdelinger i CRMUG giver mulighed for a mødes med andre medlemmer af CRMUG i dit lokalområde. Hermed får du mulighed for at mødes ansigt til ansigt og vidensdele med andre brugere af Microsoft Dynamics CRM i dit område.

Læs mere den Danske afdeling af CRMUG...

Om Henrik Jensen

Jeg har altid fingeren på pulsen når det drejer sig om Microsofts produkter & teknologier, og især når det handler om Microsoft Dynamics CRM.

Henrik Jensen

Jeg har arbejdet professionelt i IT-branchen mere end 25 års, deraf mere end 18 år med CRM-systemer, og samtidig indehaver af mere end 50 Microsoft-certificeringer.

Mobil: +45 20 300 300
E-mail: hj@easyconsult.dk

EASYConsult ApS

Læs mere...

Downloads, værktøjer, installation og JScript

Downloade komponenter til MS CRM:
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011
    • Microsoft Dynamics CRM 2013
    • Microsoft Dynamics CRM 2015
    • Microsoft Dynamics CRM 2016

Liste over Opdateringspakker (Rollups):
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011
    • Microsoft Dynamics CRM 2013
    • Microsoft Dynamics CRM 2015
    • Microsoft Dynamics CRM 2016
    • Microsoft Dynamics 365

Ikoner:
    • Icons8

Krav og opsætninger til installation:
    • Krav og opsætninger MS CRM 2011
    • Krav og opsætninger MS CRM 2013
    • Krav og opsætninger MS CRM 2015
    • Krav og opsætninger MS CRM 2016
    • Krav og opsætninger Dynamics 365

JScript eksempelkode:
    • Javascript API-reference
    • Javascript eksempelkode

Diverse værktøjer:
    • Liste med værktøjer til MS CRM
    • Sysinternals
    • PowerShell og MS CRM 2011

Visual Studio, SSIS og Kingswaysoft
    • Visual Studio 2017
    • Dataværktøjer (SSIS) 2017
    • Kingswaysoft
    • SSIS Navnekonventioner

Månedsliste

Forbehold

Alt hvad du læser på denne blog er alene udtryk for mine egne holdninger og meninger, og kan ikke henføres til andet end som så.

De løsninger jeg fremstiller på denne blog er ikke nødvendigvis testet i et driftsmiljø. Hvis du gør brug af mine løsninger er det på eget ansvar.