Modelo de Uso Compartido
Arquitectura de Uso Compartido
Sección titulada «Arquitectura de Uso Compartido»flowchart TB
subgraph SHARING["SHARING ARCHITECTURE"]
subgraph OTM["ObjectTeamMember__c"]
OTM1["OWD: Private"]
OTM2["Sharing: Custom via ObjectTeamMember__Share"]
OTM3["RowCause: ManualAccess__c"]
end
subgraph TSC["Team_Sharing_Config__c"]
TSC1["OWD: Public Read Only"]
TSC2["All users can read, admins modify"]
end
subgraph PARENT["Parent Objects<br/>(Account, Case, etc.)"]
P1["Requires: Private or Public Read Only OWD"]
P2["Sharing: Via [Object]Share"]
P3["RowCause: Manual"]
end
end
Cómo Funciona el Uso Compartido
Sección titulada «Cómo Funciona el Uso Compartido»ObjectTeamMember__c
Sección titulada «ObjectTeamMember__c»- OWD: Private
- Mecanismo de uso compartido: Uso compartido personalizado mediante
ObjectTeamMember__Share - RowCause:
ManualAccess__c
Cuando se agrega un miembro del equipo, el sistema crea un registro ObjectTeamMember__Share para que el miembro del equipo pueda ver su propio registro de membresía de equipo.
Team_Sharing_Config__c
Sección titulada «Team_Sharing_Config__c»- OWD: Public Read Only
- Todos los usuarios pueden leer la configuración (necesario para la renderización del componente)
- Solo los administradores pueden modificar las configuraciones
Objetos Padre
Sección titulada «Objetos Padre»- Requisito: Los objetos deben tener OWD Private o Public Read Only
- Mecanismo de uso compartido: Mediante tablas estándar
[Object]Share(por ejemplo,AccountShare,CaseShare) - RowCause: Manual
Mapeo de Nivel de Acceso
Sección titulada «Mapeo de Nivel de Acceso»Cuando se agrega un miembro del equipo con un nivel de acceso, se mapea al acceso del registro compartido de Salesforce:
| ObjectTeamMember__c Access_Level__c | [Object]Share AccessLevel | Descripción |
|---|---|---|
| Read Only | Read | El miembro del equipo puede ver el registro |
| Read/Write | Edit | El miembro del equipo puede ver y editar el registro |
Ciclo de Vida del Registro Compartido
Sección titulada «Ciclo de Vida del Registro Compartido»Crear Usos Compartidos
Sección titulada «Crear Usos Compartidos»Cuando se agrega un miembro del equipo:
- Se inserta el registro
ObjectTeamMember__c - Se dispara el trigger y se encola
ShareRecordQueueable - Queueable crea dos registros compartidos:
- Parent share: Registro
[Object]Shareque otorga al usuario acceso al registro padre - Team member share: Registro
ObjectTeamMember__Shareque otorga al usuario visibilidad de su membresía de equipo
- Parent share: Registro
Actualizar Usos Compartidos
Sección titulada «Actualizar Usos Compartidos»Cuando cambia el nivel de acceso de un miembro del equipo:
- Se actualiza el registro
ObjectTeamMember__c - Se dispara el trigger y se encola
ShareRecordQueueable - Queueable elimina el uso compartido antiguo y crea uno nuevo con el nivel de acceso actualizado
Eliminar Usos Compartidos
Sección titulada «Eliminar Usos Compartidos»Cuando se elimina un miembro del equipo:
- Se elimina el registro
ObjectTeamMember__c - Se dispara el trigger y se encola
ShareRecordQueueable - Queueable elimina ambos registros compartidos (padre y miembro del equipo)
Recálculo Masivo
Sección titulada «Recálculo Masivo»Cuando se alterna una configuración de uso compartido:
- Desactivado:
SharingRecalculationBatchelimina todos los registros compartidos para ese objeto - Reactivado:
SharingRecalculationBatchrecrea registros compartidos para todos los miembros del equipo existentes
Objetos Share Soportados
Sección titulada «Objetos Share Soportados»Objetos Estándar
Sección titulada «Objetos Estándar»| Objeto | Tabla Share |
|---|---|
| Account | AccountShare |
| Contact | ContactShare |
| Case | CaseShare |
| Lead | LeadShare |
| Opportunity | OpportunityShare |
| Campaign | CampaignShare |
| Order | OrderShare |
Objetos Personalizados
Sección titulada «Objetos Personalizados»Los objetos personalizados siguen el patrón: ObjectName__c → ObjectName__Share
El sistema usa una lista blanca codificada para objetos estándar y deriva el nombre de la tabla share para objetos personalizados automáticamente.
Requisitos de Implementación
Sección titulada «Requisitos de Implementación»Requisitos de Organización
Sección titulada «Requisitos de Organización»- Salesforce Enterprise Edition o superior (para soporte del modelo de uso compartido)
- Los objetos deben tener OWD Private o Public Read Only para beneficiarse del uso compartido
Requisitos de Usuario
Sección titulada «Requisitos de Usuario»- Los usuarios necesitan el Permission Set apropiado asignado
- Los usuarios necesitan acceso al objeto base (por ejemplo, acceso de lectura de Account para usar equipos de Account)