Principales respuestas
Guardar cada cambio en una entidad

Pregunta
-
Que tal genios de XRM?
Estoy con un pequeño lío y no se me ocurre como resolverlo.
Estoy trabajando con Dynamics CRM 4.0, necesito que sobre una entidad custom se haga el siguiente proceso:
Cada vez que un campo de un formulario de esta entidad sea modificado y guardado, necesito que se guarde por duplicado, por un lado el guardado común y corriente que se logra haciendo click en "Guardar" o "Guardar y cerrar". Por otro lado que se guarde un duplicado en otra vista.
Esto lo necesito para que se pueda llevar un historial de todos los cambios que sufrió cada cliente (o formulario) en el tiempo.
A mi se me ocurrió hacerlo de esa manera pero no se me ocurre el codigo para hacerlo. Alguien tiene idea como seria o si hay otra manera mas eficiente de poder llevar el historial de cada modificacion del formulario?
Gracias!!
Respuestas
-
Hola Leandro, si pudieses, lo ideal sería migrar a crm2011 (je, es que en 2011 ya se dispone de auditoría out of the box).
Por otro lado hay un par de soluciones ya existentes para auditoria para CRM 4.0 (yo he probado alguna y van bien, aunque son sencillas):
- http://code.msdn.microsoft.com/auditing4crm
- http://crmaudit.codeplex.com/
sino, lo podes hacer a mano. una solución podría ser (suponiendo que tu entidad se llama "new_custom"):
1) crear una entidad que se llame "new_customhistorial"
2) en esa entidad nueva, crear los mismos campos que la entidad "new_custom"
3) crear un nuevo campo de tipo lookup en "new_customhistorial" que apunte a "new_custom"
4) crear un nuevo plugin en la entidad "new_custom" en el evento "pre" (créate/update). este plugin deberá recoger los datos del registro, y crear un nuevo registro en la entidad "new_customhistorial" (con el lookup apuntando al registro principal).
de esta manera cada créate/update que hagas en "new_custom", se creará un registro en "new_customhistorial". además esta entidad contendrá la fecha de creación y el usuario que ha realizado el cambio
espero te sirva.
un saludo,
Demian Adolfo Raschkovan Blog: http://crmtoall.blogspot.com
- Propuesto como respuesta Demian Adolfo RaschkovanMVP, Moderator jueves, 27 de diciembre de 2012 15:27
- Marcado como respuesta Leandro Panzini jueves, 27 de diciembre de 2012 15:51
Todas las respuestas
-
Hola Leandro,
para hacer eso de la mejor manera deberías hacerlo a través de un "plugin". los plugin son .NET assemblies que se ejecutan ante eventos de CRM (creación, actualización, etc.). para mas información acerca de plugins te recomiendo la SDK http://www.microsoft.com/en-us/download/details.aspx?id=24004 que tiene además ejemplos y explicaciones.
un saludo,
Demian Adolfo Raschkovan Blog: http://crmtoall.blogspot.com
- Propuesto como respuesta Demian Adolfo RaschkovanMVP, Moderator jueves, 27 de diciembre de 2012 12:59
-
-
Hola Leandro, si pudieses, lo ideal sería migrar a crm2011 (je, es que en 2011 ya se dispone de auditoría out of the box).
Por otro lado hay un par de soluciones ya existentes para auditoria para CRM 4.0 (yo he probado alguna y van bien, aunque son sencillas):
- http://code.msdn.microsoft.com/auditing4crm
- http://crmaudit.codeplex.com/
sino, lo podes hacer a mano. una solución podría ser (suponiendo que tu entidad se llama "new_custom"):
1) crear una entidad que se llame "new_customhistorial"
2) en esa entidad nueva, crear los mismos campos que la entidad "new_custom"
3) crear un nuevo campo de tipo lookup en "new_customhistorial" que apunte a "new_custom"
4) crear un nuevo plugin en la entidad "new_custom" en el evento "pre" (créate/update). este plugin deberá recoger los datos del registro, y crear un nuevo registro en la entidad "new_customhistorial" (con el lookup apuntando al registro principal).
de esta manera cada créate/update que hagas en "new_custom", se creará un registro en "new_customhistorial". además esta entidad contendrá la fecha de creación y el usuario que ha realizado el cambio
espero te sirva.
un saludo,
Demian Adolfo Raschkovan Blog: http://crmtoall.blogspot.com
- Propuesto como respuesta Demian Adolfo RaschkovanMVP, Moderator jueves, 27 de diciembre de 2012 15:27
- Marcado como respuesta Leandro Panzini jueves, 27 de diciembre de 2012 15:51
-