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);
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)...
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...
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...
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");
}
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)...
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...
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...
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)...
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)...
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...
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.