4/4/07

Luchando contra las Actividades de Servicio

Luchando contra una pequeña extensión de CRM que incluye funcionalidades con la parte de programación de actividades de servicio me he encontrado con los siguientes dos problemas, que muestro aquí para no olvidar.

  1. Problema al copiar una entidad que incluya el objeto activityparty
    Los objetos activityparty representan los participantes en una cita o en una actividad de servicio. En el caso de la actividad de servicio, pueden estar tanto entre los clientes (atributo customers) o en los recursos (atributo resources). Bueno, pues si los copiamos de unos previamente existentes, obtendremos un error SOAP SQL integrity violation que no ayuda mucho. Bien, pues el único problema es que hay que crear Guids nuevos para cada activityparty. Se soluciona con un simple

    foreach (activityparty ap in actividad.resources)
    ap.activitypartyid = Guid.NewGuid();

    Gracias a David Jennaway en las news de crm.developer
  2. Problema con el formato de las fechas en CrmDateTime
    Independientemente de lo que diga la SDK, sólo funciona bien con el formato yyyy/M/ddTHH:mm:00 sobre el campo Value. Hay que olvidarse (al menos yo me olvido) de los atributos date y time y especificar de golpe ambas, o sea:

    actividad.scheduledstart.Value =
    fechaInicio.ToString("yyyy/M/ddTHH:mm:00");

No hay comentarios: