Compartir a través de


Comportamiento de operaciones de actualización especializadas

Hay varios mensajes especializados obsoletos que realizan operaciones de actualización. En versiones anteriores se requería usar estos mensajes, pero ahora las mismas operaciones deben realizarse con IOrganizationService.Update o clase UpdateRequest con IOrganizationService.Execute

Solicitud de mensaje obsoleta Atributo(s) para actualizar
AssignRequest <entidad>.OwnerId
SetStateRequest <entidad>.StateCode
<entidad>.StatusCode
SetParentSystemUserRequest SystemUser.ParentSystemUserId
SetParentTeamRequest Team.BusinessUnitId
SetParentBusinessUnitRequest BusinessUnit.ParentBusinessUnitId
SetBusinessEquipmentRequest Equipment.BusinessUnitId
SetBusinessSystemUserRequest SystemUser.BusinessUnitId

<entidad> hace referencia a cualquier entidad que proporcione este atributo.

Importante

Cuando actualice la columna StateCode, es importante establecer siempre el StatusCode deseado.

StateCode y StatusCode tienen valores dependientes. Puede haber varios valores StatusCode válidos para un valor StateCode dado, pero cada columna de StateCode tiene un único valor DefaultStatus configurado. Cuando actualice StateCode sin especificar un StatusCode, el sistema establecerá el valor de estado predeterminado.

Además, cuando la auditoría está habilitada en la tabla y la columna StatusCode, el valor modificado para la columna StatusCode no se capturará en los datos de auditoría a menos que se especifique en la operación de actualización.

Más información: Mensajes de actualización heredados.

Este cambio introdujo algunos comportamientos especiales que se deben tener en cuenta para complementos y flujos de trabajo.

Para complementos

Cuando se procesan las solicitudes de actualización que incluyen tanto los campos de propietario más otros campos estándar para las tablas propiedad de la empresa, los complementos registrados para el mensaje Actualizar en las etapas Preoperación y/o Post operacion se ejecutan una vez para todos los campos que no son de propietario y luego una vez para los campos de propietario. Ejemplos de campos de propietario serían businessunit y manager (para Tabla SystemUser). Ejemplos de tablas propiedad de empresas incluyen SystemUser, Unidad de negocio,Equipo y Equipo.

Cuando se procesan solicitudes de actualización que incluyen campos de estado más otros campos estándar para el mensaje Update en las fases PreOperation y/o PostOperation se ejecutan una vez para todos los campos que no son de estado, y después una vez para los campos de estado.

Para que el código del complemento reciba todos los de datos de la actualización, debe registrar el complemento en la PreOperation y después almacenar información relevante en SharedVariables en el contexto del complemento para que complementos posteriores (en la canalización) lo consuman.

Para flujos de trabajo

Cuando se procesan solicitudes de actualización que incluyen campos de propietario más otros campos estándar para entidades propiedad de negocio, los flujos de trabajo registrados para el mensaje Update se ejecutan una vez para todos los campos que no son de propietario, y después una vez para los campos de propietario. Los flujos de trabajo registrados para el mensaje Assign por los usuarios se siguen desencadenando mediante actualizaciones en los campos de propietario.

Cuando se procesan solicitudes de actualización que incluyen campos de estado más otros campos estándar para entidades propiedad de negocio, los flujos de trabajo registrados para el mensaje Update se ejecutan una vez para todos los campos que no son de estado, y después una vez para los campos de estado. Los flujos de trabajo registrados para el paso Cambiar estado se siguen desencadenando mediante actualizaciones en los campos de estado.

Consulte también

Actualizar y eliminar tablas mediante SDK para .NET
Marco de trabajo de eventos

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).