Esto provoca que los datos del CRM no sean los mismos que en el origen de la información. Hasta ahora había dos soluciones para esto:
- Crearse un nuevo campo personalizado de tipo fecha para almacenar esta información
- Actualizar de forma no soportada la fecha directamente en la base de datos SQL Server.
- Parte 1: http://www.magnetism.co.nz/blog/vincent/vincent-zhongs-blog/2012/08/15/How-to-Modify-the-Created-On-Value-of-Dynamics-CRM-2011-Part-1
- Parte 2: http://www.magnetism.co.nz/blog/vincent/vincent-zhongs-blog/2012/09/05/How-to-Manually-Modify-the-Created-On-Field-of-Dynamics-CRM-2011-Part-2
1: private static Guid ModifyCreatedOnDate()
2: {
3: DateTime thisYear = new DateTime(2012, 1, 24, 10, 30, 00);
4: DateTime lastYear = new DateTime(2011, 1, 24, 10, 30, 00);
5:
6: Entity contact = new Entity("contact");
7: contact["firstname"] = "Modify";
8: contact["lastname"] = "CreatedOn 2";
9: contact["createdon"] = thisYear;
10: contact["overriddencreatedon"] = lastYear;
11: return sdk.Create(contact);
12: }
La idea es que al actualizar el campo “overrideddcreatedon”, en realidad lo que se actualiza es el campo “createdon” y la fecha actual (automática) se almacena en el campo “overrideddcretedon” (“Record Created On”). De esta forma, podemos simular que determinados registros fueron creados en otra fecha, sin perder por otro lado la fecha real de creación del registro.
Por otro lado, hay que tener en cuenta que este campo también puede ser modificado mediante el asistente de importación de .CSV estándar de CRM. Simplemente se debe añadir el “mapping” del campo de fecha del CSV al campo “createdon” ya que el campo “overrideddcreatedon” no está disponible para el mapeo.
Espero les sirva esta aportación, un saludo,