En af de besøgende her på bloggen spurgte hvorledes man kunne opsætte Servicekalenderen til at vise Udstyr, som standard, i listen Type. Som standard vises Ressource.

Man kan gøre dette på 2 måder:
- Ved kodning af en PlugIn med Visual Studio.
- Ved indsættelse af kode direkte i filen til håndtering af Servicekalenderen.
I efterfølgende eksempel vil jeg gennemføre den sidste løsning.
Problemstillingen
I de fleste tilfælde indsætter man klientsidekode (JScript) på OnLoad-eventen på et objekt for at håndtere kode, som skal køre når en formular indlæses. Dette kan ikke lade sig gøre med Servicekalenderen, da denne ikke er tilgængelig, som et objekt (entity) via MS CRM.
Hvis man anvender MS CRM Enterprise Edition skal man være opmærksom på om koden skal omfatte alle organisationer eller kun enkelte organisationer.
I efterfølgende eksempel vil vi skrive kode direkte i den aspx-fil, som vedrører Servicekalenderen, og det er derfor en rigtig god ide at tage en backup af denne, for det tilfælde denne skulle blive opdateret f.eks. via en Opdateringspakke/Rollup.
Løsningen
Vi vil nu gennemføre kodningen således at koden kun skal virke på en bestemt organisation, nemlig "MinOrg":
- På MS CRM-serveren åbnes filen home_apptbook.aspx. Filen er findes her: [InstallPath]\Microsoft Dynamics CRM\CRMWeb\SM , ofte er det C:\Program Files\Microsoft Dynamics CRM\CRMWeb\SM.
- Indsæt følgende kode umiddelbart før </Head>:
<%if (Request.Url.AbsoluteUri.Contains("MinOrg")){ %>
<script type="text/javascript">
OnLoadCompleted = function()
{
var listType = document.getElementById('crmTypeSelector');
listType.value = 'equipment';
window.setTimeout(function() {OnViewTypeChange(listType);}, 0);
}
window.attachEvent('onload', OnLoadCompleted);
</script>
<%}%>
- Gem filen hvorefter den testes ved at navigere til Servicekalenderen i MS CRM.
For organisationer ud over "MinOrg" vil standardindstillingen i listen Type være Ressource, men for organisationen "MinOrg" vil standardindstillingen være Udstyr.
