2009-07-10 6 views
0

J'ai une entité personnalisée dans Microsoft CRM (4.0). L'utilisateur doit entrer des enregistrements mais généralement ils ont un lot de plus de 20 enregistrements qui sont presque les mêmes, sauf deux ou trois champs qui doivent être changés. Je sais que j'ai besoin d'écrire du code personnalisé pour activer cela fonctionnellement. Cependant quelqu'un peut-il recommander des méthodes pour le faire.MS CRM Save + Copier comme nouveau (Entité personnalisée)

Idéalement, un bouton devrait enregistrer et créer une copie en tant que nouvelle entité. Mon mode de pensée actuel consiste à transmettre tous les détails dans l'URL et à utiliser javascript pour les supprimer de l'événement de chargement de la page. Toutes les idées sont les bienvenues

Merci Luke

Répondre

0

Comme il existe de nombreux domaines, mais seuls certains champs valeurs sont différentes, alors je pense à définir la valeur par défaut à tous les domaines, de sorte que les utilisateurs ont juste besoin de modifier ces valeurs en cas de besoin .

Dans mon approche, je vais accrocher une fonction javascript sur le chargement de l'écran de saisie de formulaire et utiliser approche XmlHttp approche/Ajax pour accrocher au service web personnalisé pour tirer/récupérer les valeurs par défaut de chaque champs. Ou vous pouvez définir ces valeurs à la fonction javascript elle-même, mais l'inconvénient de cela, il est difficile de personnaliser plus tard. Je vais donc choisir l'approche pour se connecter au service Web personnalisé et extraire ces valeurs à partir de certaines entités de paramètres d'application. Votre idée de fournir un bouton «cloner» est également une excellente idée, ce qui signifie qu'il dupliquera tous les attributs de l'enregistrement précédent, dans un nouvel enregistrement, de sorte qu'il gagnera du temps pour la personne de saisie de données à personnaliser la valeur différente

EDIT

Puisque vous saisir des enregistrements en mode batch, comment sur la personnalisation .ASPX écran pour saisir des enregistrements. En personnalisant via l'écran .ASPX, vous pouvez utiliser un onglet afin que les utilisateurs puissent parcourir les onglets pour personnaliser la valeur/l'attribut de chaque enregistrement.

Il y aura un bouton "sauvegarder" ainsi qu'un bouton "cloner" pour cloner un attribut ou une valeur commune.

+0

Désolé, j'aurais dû être plus clair. Sur chaque entité entité est complètement différente. Cependant, pour chaque nouveau lot, seules quelques valeurs de champs changent. Donc, en règle générale, la plupart des entités sont très différentes les unes des autres. – Audioillity

0

Je créerais un service Web personnalisé qui accepterait le type d'entité et l'ID de l'enregistrement que je clone. Votre bouton "Enregistrer et cloner" appelle le service, et le service gère les détails de récupération de l'enregistrement en cours et de décider des champs à définir sur le nouvel enregistrement. Le service crée l'enregistrement et renvoie le guide de l'enregistrement à votre bouton, qui ouvre ensuite l'enregistrement nouvellement créé. De cette façon, vous évitez le désordre de définir/obtenir des valeurs dans JavaScript et de lier les champs à définir/récupérer directement à votre OnLoads, tout en évitant la possibilité d'une chaîne de requête trop longue. Le service pourrait facilement être suffisamment généralisé pour que tout ce que vous avez à faire est d'ajouter votre bouton à n'importe quelle entité, et cela fonctionnerait, en supposant que vous configuriez votre service pour gérer cette entité particulière. Un inconvénient possible est que, puisque le bouton d'enregistrement de clone créerait réellement l'enregistrement, l'utilisateur serait forcé de supprimer l'enregistrement cloné s'il décidait de ne pas vouloir cloner l'enregistrement après tout.

Questions connexes