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).