Rechercher dans ce blog

dimanche 20 mars 2011

Pilotage de la valeur d'un attribut par un composant Silverlight

1. Création du composant Silverlight

Pour créer un composant Silverlight, l'utilisation de Visual Studio Express 2010 avec Silverlight Tools est suffisant.


Appeler le projet CRMSilverlightSlider.

Sélectionner le fichier MainPage.xaml pour modifier la couleur de fond de la zone d'affichage. Choisir la propriété Background pour l'initialiser à #FFF6F8FA.

Glisser le contrôle Slider dans la zone d'affichage.

Modifier les propriétés du Slider avec Margin à 0 et Width à 300.

Dans le fichier MainPage.xaml.cs, copier le code suivant :

using System.Windows.Browser;
 
namespace CRMSilverlightSlider
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
        {
            dynamic xrm = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");
            var fieldName = Application.Current.Resources["InitParm_data"];
            var numAttr = xrm.Page.data.entity.attributes.get(fieldName);
            numAttr.setValue(Math.Round(slider1.Value, 0));
        }
    }
}

Dans le fichier App.xaml.cs, Ajouter le code suivant :
public void CaptureInitValues(IDictionary values)
{
foreach (var val in values)
{
if (!Application.Current.Resources.Contains("InitParm_" + val.Key))
{
 Application.Current.Resources.Add("InitParm_" + val.Key, val.Value);
}
}
}

private void Application_Startup(object sender, StartupEventArgs e)
{
this.RootVisual = new MainPage();
CaptureInitValues(e.InitParams);
}

Compiler le projet pour obtenir le fichier CRMSilverlightSlider.xap.

2. Installation dans CRM2011.
Créer une ressource Web pour enregistrer le fichier Silverlight.
Ajouter la ressource Web dans le formulaire principal de l'entité Compte.



Modifier les propriétés d'affichage de la ressource Web, en n'oubliant pas d'indiquer le paramètre numberofemployees.


3. Résultat 
Le champ Nombre d'employés est maintenant piloté par le curseur Nbre d'employés.

samedi 19 mars 2011

Réduire la taille d'une image Virtual PC

A chaque fois que l'on ajoute un programme dans une image VPC, Microsoft Virtual PC augmente l'espace disque. Après suppression des programmes, l'image garde sa taille maximale. Voici une procédure permettant de réduire la taille de l'image à l'espace disque réel occupé dans la machine virtuelle.


1. Lancer sa machine virtuelle.
2. Nettoyer et défragmenter le disque dans la machine virtuelle, avec les outils de maintenance standards de Windows.
3. Sélectionner 'CD/Capturer l'image ISO' dans le menu Virtual PC.


 Ajouter le fichier Virtual Disk Precompactor.iso situé sous C:\Program Files\Microsoft Virtual PC\Virtual Machine Additions.

4. A la fin du traitement du Virtual Disk Precompactor, fermer la machine virtuelle.
5. Lancer l'Assistant Disque virtuel de Microsoft Virtual PC.


Sélectionner l'option Modifier un disque virtuel existant.

Choisir l'image VPC préalablement pré-compactée.

Sélectionner l'option Le compresser

Puis l'option Remplaçant le fichier original.

Enfin terminer l'assistant.
 
6. A la fin du traitement, l'image de la machine virtuelle occupera une taille équivalente à son contenu virtuel.

vendredi 18 mars 2011

Connexion impossible après redémarrage du serveur CRM

Après un redémarrage du serveur CRM, la connexion au CRM est impossible et le message suivant s'inscrit dans le journal application de l'observateur d'événement.

Exception type: CrmException
Exception message: The key specified to compute a hash value is expired, only active keys are valid. Expired Key : CrmKey(Id:c1bef2e2-efc5-de11-b538-005056a75caa, ScaleGroupId:00000000-0000-0000-0000-000000000000,
KeyType:CrmWRPCTokenKey, Expired:True, ValidOn:10/31/2009 07:34:57, ExpiresOn:12/03/2009 07:34:57, CreatedOn:10/31/2009 07:34:57, CreatedBy:NT AUTHORITY\NETWORK SERVICE.


Ce message survient car le service Asynchrone de Microsoft CRM n'a pas redémarré. Il faut donc redémarrer ce service manuellement sur le serveur CRM.

Le Rollup 7 corrige ce problème.

dimanche 13 mars 2011

Piloter la contrainte d'un champ en fonction d'une case à cocher

Voici le code pour CRM 2011.

Créer un fichier jscript nommé DisplayFunction qui contient la fonction suivante :
function newPrimeOnClick()
{
document.getElementById("new_prime").attachEvent("onclick", function () {
if (document.getElementById("new_prime").DataValue){
Xrm.Page.getAttribute("new_valeur").setRequiredLevel("required");}
else{Xrm.Page.getAttribute("new_valeur").setRequiredLevel("none");}
});
}

Ajouter ce fichier comme Ressources Web.

Créer un champ de type Deux options nommé new_prime et un champ de type Une seule ligne de texte nommé new_valeur.

Ajouter sur l'événement OnLoad du formulaire la fonction newPrimeOnClick.


Case à cocher non sélectionnée

Case à cocher sélectionnée

vendredi 11 mars 2011

Correctif cumulatif 16 pour Microsoft Dynamics CRM 4.0

Version: 04.00.7333.3335
  • Impossible de coller une date dans la ligne de condition dans la page recherche avancée
  • Rendez-vous en double dans le calendrier Outlook
  • Lancement de l'aperçu du compte dans Outlook
  • Ajouter une liste de prix à un produit
  • Synchronisation des rendez-vous dans Outlook
  • Erreur dans un rapport personnalisé dans SQL Server 2008
  • Erreur dans Outlook lors de l'annulation par plug-in d’envoi ou de modification de message
  • Erreur lors de l'installation d'un correctif ASP.NET
  • Lancement du rapport des comptes sur une recherche avancée
  • L'utilisateur peut supprimer les membres d'une liste marketing en étant en lecture seule
  • Fonctionnement avec Internet Explorer 9
  • Erreur lors de l'ajout d'un fichier de taille supérieur à 8 MB sur un compte
  • Création d'un workflow
  • Édition d'une page d'article
  • Erreur sur les champs Lookup
  • Erreur dans Outlook après publication d'une customisation
  • Création d'un devis avec un produit d'une monnaie différente
  • Synchronisation de donnée en mode offline vers le mode online
  • Email contenant une pièce jointe est illisible lors de son envoi

mardi 8 mars 2011

Dynamics CRM 2011 Developer Training Kit

Ce Training Kit contient beaucoup de labs.
Version 1.0

Self Guided Exploration New
Self Guided Exploration CRM 2011
Solution Packaging
Extending the Application Experience
Visualizations and Dashboards
WCF Web Service
LINQ
Working with Plug-ins
Dialogs
Workflow
Role Based UI, Field Level Security and Using JQuery with OData
Silverlight
Azure
Dynamics Marketplace

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=78498c29-28ac-440b-9c20-ec5da6ee6e98

dimanche 6 mars 2011

MSCRM 2011 est disponible pour les abonnés MSDN

Microsoft Dynamics CRM 2011 Language Pack (x64) - (French)
Microsoft Dynamics CRM 2011 Language Pack (x86) - (French)
Microsoft Dynamics CRM Server 2011 (x86 and x64) - DVD (French)

http://msdn.microsoft.com/fr-fr/subscriptions/downloads/default.aspx

mardi 1 mars 2011

Erreur de délai d'expiration pour l'affichage

Cause:
Lorsque vous essayer d'accéder à certains affichages dans CRM, vous rencontrez des performances lentes ou des délais d'attente.

Résolution:
Dans la clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
Ajouter la clé EnableRetrieveMultipleOptimization de type DWORD avec comme valeur 1.

http://support.microsoft.com/kb/955138/fr

Erreur de délai d'attente d'importation

Un dépassement de délai se produit lorsque vous importer des fichiers de personnalisation dans Microsoft Dynamics CRM.

Causes:
* Le temps qui est utilisé pour l'importation des fichiers de personnalisation ou de mise à jour du CRM dépasse la valeur de OLEDBTimeout par défaut sur l'ordinateur qui exécute Microsoft SQL Serveur.

* Le temps qui est utilisé pour l'importation des fichiers de personnalisation ou de mise à jour du CRM dépasse la valeur ExtendeTimeout utilisée pour les opérations à long terme.

Résolutions:
* Méthode 1 : Ajouter les clés de registre ExtendedTimeout et OLEDBTimeout pour augmenter les valeurs de délai d'attente

Dans la clé de registre : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM

Ajouter une clé OLEDBTimeout de type DWORD avec comme valeur Décimal 86400 (est équivalent à 24 heures, par défaut elle est de 30 secondes).

Ajouter une seconde clé ExtendedTimeout de type DWORD avec comme valeur Décimal 1000000 (mettre une valeur inférieure à 2147483647 représentant 0x7FFFFFF).

*Méthode 2 : Modifier les paramètres dans les fichiers Web.config

Ouvrir le fichier Web.config du Site Web Microsoft CRM 4.0 dans un bloc-notes.
Modifier la ligne avec executionTimeout="3600" et maxRequestLength="20000".

Ouvrir le fichier Web.config du dossier MSCRMService dans un bloc-notes.
Modifier la ligne avec maxRequestLength="20000".

http://support.microsoft.com/kb/918609/fr