Las operaciones DML sobre ciertos sObjects, a veces conocidos como objetos de configuración, no pueden mezclarse con DML en otros sObjects de la misma transacción. Esta restricción existe porque algunos sObjects afectan al acceso de los usuarios a registros en la organización. Deberá insertar o actualizar estos tipos de sObjects en una transacción diferente para evitar que se produzcan operaciones con permisos de nivel de acceso incorrecto. Por ejemplo, no puede actualizar una cuenta y una función de usuario en una única transacción.
Si utiliza un proceso para intentar hacer ambas cosas en una única transacción, aparecerá un error.
Error: Se produjo un error en el elemento myRule_1_A1 (FlowRecordCreate).
INSERCIÓN --- FALLO DE INSERCIÓN --- ERRORES : (MIXED_DML_OPERATION) no se permite la operación DML en objeto de configuración después de que haya actualizado un objeto que no es de configuración (o viceversa): Invoice_Statement__c, objeto original: Usuario
Pasos para reproducir:
1. Cree un proceso en el objeto Usuario
2. Establezca los criterios como Activo | es igual a | Verdadero
3. Establezca la Acción inmediata como Crear registro en el objeto Cuenta
4. Active el proceso
5. Cree y active un nuevo usuario
Si utiliza una regla de validación para intentar actualizar los objetos Usuario y Contacto como en el siguiente caso de uso:
Regla de validación:
IF( Community_User_s_Account_ID__c== $Setup.COMM_Profile__c.BluIdAccountId__c , IF( OR(ProfileId== $Setup.COMM_Profile__c.FullAccessProfile__c ,ProfileId== $Setup.COMM_Profile__c.BasicProfileId__c) , true, false),false) Community_User_s_Account_ID__c es un campo de fórmula en Usuario para obtener el valor de "Contact.AccountId"
Cuando inicie sesión, el usuario recibirá un error:
"... you cannot mix EntityObjects with different UddInfos within one transaction: id = 003********"
o de forma más específica:
"No podemos iniciar su sesión debido al siguiente error.
ERROR_CREATING_USER: Validation Formula "UserProfileSwitchRule" Invalid (java.lang.IllegalStateException: Programmer Error: you cannot mix EntityObjects with different UddInfos within one transaction: id = 003**********"
Pasos para reproducir:
1. Inicie sesión en la URL de comunidad - por ej., https://<URL-instancia-comunidad>/<nombre-comunidad>/s
2. Haga clic en el botón [Iniciar sesión] en la esquina superior derecha
3. Inicie sesión en la comunidad empleando las credenciales de nombre de usuario y contraseña para un usuario autorizado
4. Se genera el error anterior
Cuando la acción se ejecuta en la misma transacción, agregue la acción bajo la Acción programada. Esta colocación separa su acción de actualización o creación de sus Acciones inmediatas.
Acción programada está disponible bajo las siguientes condiciones:
El parámetro Criterios de evaluación es:
IMPORTANTE: NO se permite esta implementación como se explica en el mensaje de error que contiene este formato -
"...(java.lang.IllegalStateException: Programmer Error: you cannot mix EntityObjects with different UddInfos within one transaction: id = 003**********"
Esto es una limitación en las funciones existentes.
Nota: Los proveedores de autenticación estándar como Salesforce o Facebook no están afectados por esta limitación. Estos proveedores son como la implementación personalizada en el caso de uso descrito. Puede utilizar una solución para evitar los objetos mezclados en las reglas de validación de usuario para proveedores de autenticación personalizados.
Por ejemplo:
1. Comente la instrucción que se muestra en el controlador de registro de autenticación -- por ej., // update(u);
2. Modifique la regla de validación para *no* mezclar los objetos de entidad de configuración y de no configuración como se especifica en las referencias que aparecen a continuación.
Sugerencia (Opcional): La desactivación de la regla de validación hace que funcione.
000382600

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.