Archive for the ‘CRM’ Category

Filed Under (CRM) by Christiaan van Bergen on April-28-2009

Ronald Lemmen heeft me een link gestuurd met daarin verwijzingen naar een tweetal projecten die het leven en werken met Crm Customizations een stuk inzichtelijker maken.
Lees het artikel (de link van Ronald) hier: ISV Utilities for Comparing Customizations and Transferring Configuration Data.



Filed Under (C# code, CRM) by Christiaan van Bergen on April-16-2009

Om een dynamische (steeds wisselend) afbeelding op een report in Sql Server Reporting Services (SSRS) Report te plaatsen, zijn er verschillende mogelijkheden:

- een image ‘databound’ maken aan een veld in een dataset

- meerdere embedded images toevoegen en op basis van een stuk VBScript code bepalen welke getoond moet worden

- een url opgeven, zodat het report de image gaat ophalen

- een parameter opgeven met de waarde van de image

- (vast nog wel meer …..)

Over de laatste wil ik het hebben: ‘een parameter opgeven met de waarde van de image’

Maak in je report een ‘parameter’ aan: Ga naar de ‘properties’ van je Report en kies : ‘ReportParameters’. Klik op de elipsis. Voeg een parameter toe, zoals op de afbeelding hieronder (de naam mag uiteraard anders zijn)

afbeelding1

Ga terug naar je Report en sleep een ‘image’ item op je report surface.  Vul in de ‘properties’ van deze image de volgende gegevens in :

afbeelding 2

Bovenstaande zorgt ervoor dat de waarde die als parameter binnenkomt wordt vertaald naar een Byte[]. De ‘Source’ MOET op ‘Database’ staan. Een andere wijze lijkt niet te werken. Het gekozen MIMEType hoort eigenlijk te reageren op een stuk VBScript (dat nog niet is geschreven, maar dat komt nog wel) maar is voor nu hard op een PNG image gezet.

Belangrijk punt hier: de waarde die aan de parameter wordt meegegven is dus blijkbaar iets met ‘Base64′. Dit is een karakter-gebaseerde wijze van weergeven van bytes.

Stel je voor: voor dat de parameter wordt gevuld wordt er een plaatje gelezen en deze wordt van binair naar base64 geconverteerd. Dit gaat over de ‘lijn’. Het report zet dit weer om naar bytes en kan het weergeven.

Converteren van en naar Base64 gaat via: System.Convert.ToBase64String( <<byteArray>> ) en System.Convert.FromBase64String( <<base64String>> )



Filed Under (CRM) by Christiaan van Bergen on August-21-2008

In de Crm Sdk is een tool beschikbaar om een plugin te registreren (te koppelen aan entiteiten). Er bestaat echter een betere (en handiger) tool voor dit doel.

Check : http://code.msdn.microsoft.com/crmplugin



Filed Under (CRM) by Christiaan van Bergen on May-14-2008

Wanneer je ontwikkeld in CRM en met verschillende collegae niet een zelfde CRM server deelt, dan komt er vast en zeker een moment dat je de wijzigingen die je hebt gemaakt moet delen. Dit kan je doen door het exporteren van je ‘customizations’ op de ene server en dit xml-bestand in de andere server te importeren.

Zo’n import van customizations moest ik onlangs ook uitvoeren. Het lukte helaas niet. Was het bestand corrupt? Een duidelijke melding kreeg ik niet. Gelukkig bood de event viewer uitkomst door mij te voorzien van deze ‘warning’ van ASP.NET 2.0.50727.0:

Event code: 3004
Event message: Post size exceeded allowed limits.

Okay, het bestand dat ik wilde uploaden was bijna 10 Mb groot. De grootte van het bestand zou inderdaad best eens het probleem kunnen zijn. Op naar de web.config dan maar, normaal gesproken de plek waar je zoiets aanpast. En inderdaad.

Open de web.config van de CRM-server webapplicatie. Zoek op ‘httpRuntime‘. Wanneer je deze node gevonden hebt, zal je twee attributen aantreffen.

<httpRuntime executionTimeout=”300″ maxRequestLength=”8192″/>

De executionTimeout is de  instelling voor het aantal seconden dat een willekeurige http handeling door de server mag duren gemeten in seconden. De maxRequestLength geeft de maximale grootte aan in kilobytes van een te uploaden bestand. Ik verander de maxRequestLength in 10240 en ik kan mijn customizations.xml bestand van 10 Mb moeten inlezen. Voila.

Houd er rekening mee, dat er zich in de web.config meerdere httpRuntime secties kunnen bevinden. Bekijk de verschillende gevallen en bepaal keer op keer of je ze wil aanpassen of niet.