Este texto se tradujo utilizando el sistema de traducción automatizado de Salesforce. Realice nuestra encuesta para proporcionar comentarios sobre este contenido y díganos qué le gustaría ver a continuación.
Automatizado: integridad de datos
Obtenga más información acerca de Fácil arquitectura → Automatizado → Integridad de datos → Manejo de datos
| ¿Dónde buscar? Área de producto | Ubicación | ¿Qué aspecto tiene? Patrón |
|---|---|
| Data 360 | Diccionario de datos | ✅ Datos a nivel de campo y lógica de priorización para todos los orígenes de datos y objetos de lago de datos existe |
| Data 360 | Organización | ✅ Las claves compuestas se utilizan para construir una clave principal exclusiva si no existe Utilizar un campo de fórmula para unir múltiples campos desde su conjunto de datos cuando no hay un solo campo en el conjunto de datos que sea exclusivo |
| Data 360 | Organización | ✅ Las transmisiones de datos que utilizan el Conector de CRM aprovechan la actualización completa quincenal Cuando se utiliza el Conector de CRM para cargas incrementales, se inicia una actualización completa cada dos semanas. Aunque esto puede aumentar la ingesta de datos, protege la integridad de los datos para metadatos (como campos de fórmula), que no desencadenan una transacción DML y, como resultado, no se incluyen en cargas incrementales |
| Data 360 | Organización | ✅ Id. de Particular se utiliza para asignar datos de Data 360 a otros sistemas Asignar Particulares en Data 360 a otros sistemas utilizando el Id. de Particular. Por ejemplo, la Clave de suscriptor de Marketing Cloud Engagement debe asignarse al Id. de Particular desde Data 360 |
| Data 360 | Organización | ✅ Claves completamente cualificadas se utilizan para interpretar datos con precisión Todos los DLO que contienen un valor de clave tienen un campo de calificador de clave y Claves completamente cualificadas (FQK) están activadas en la organización para garantizar evitar conflictos que se pueden producir cuando se armonizan múltiples transmisiones de datos en un único Objeto de modelo de datos (DMO) |
| Data 360 | Organización | ✅ Los métodos de coincidencia normalizados se utilizan en reglas de coincidencia cuando están disponibles. La coincidencia normalizada exacta transforma datos de origen para resolver problemas de coincidencia comunes como espacios finales, formato incoherente y caracteres especiales. Aproveche este método en campos donde está disponible en vez de utilizar coincidencia parcial, a menos que haya configurado múltiples conjuntos de reglas para pruebas y confirmado que el índice de consolidación no cumple las necesidades comerciales |
| Einstein | Documentación | ✅ La utilidad de los datos se documenta como parte del diseño de proyectos de IA La definición de utilidad de los datos de su empresa se documenta y se pone en marcha para mejorar las respuestas de IA |
| Plataforma | Apex | ✅ Apex futuro se utiliza con moderación, para llamadas o DML de objetos del sistema |
| Plataforma | Apex | ✅ Las invocaciones de Apex asíncronas utilizan DML complejo en cola en 'cadena' entre transacciones |
| Plataforma | Apex | ✅ Batch Apex se utiliza exclusivamente para grandes volúmenes de datos. Batch Apex es el mejor para procesar grandes cantidades de datos. Apex asíncrono tiene límites más altos que Apex síncrono de modo que se puede trabajar más. Evite tamaños de lote muy pequeños donde sea posible para evitar consecuencias de Control de flujo (inundación de cola), sobrecarga y agotamiento del límite diario de Apex asíncrono |
| Plataforma | Apex | ✅ Todas las declaraciones DML síncronas o métodos de clase de base de datos se llevan a cabo antes de desencadenar contextos de ejecución |
| Plataforma | Apex | ✅ La API masiva se utiliza solo cuando se deben procesar grandes cantidades de datos La API masiva se utiliza cuando se deben procesar grandes cantidades de datos. Las API de SOAP y REST nativas se aprovechan para cantidades más pequeñas de procesamiento de datos |
| Plataforma | Diccionario de datos | ✅ La asignación de campos desde el objeto de lago de datos al objeto de modelo de datos existe |
| Plataforma | Flujo | ✅ Todos los flujos iniciados en contexto de usuario abstraen todas las transacciones de contexto del sistema en subflujos, que se colocan de forma coherente después de un elemento Pausa, para crear una nueva transacción |
| Plataforma | Flujo | ✅ Todos los flujos desencadenados por registros tienen valores de orden de desencadenador rellenados |
| Plataforma | Flujo | ✅ Los flujos que implican llamadas externas del sistema o procesos de larga ejecución utilizan rutas asíncronas |
| Plataforma | Flujo | ✅ Se crean secuencias complejas de operaciones de datos relacionadas con Orchestrator (en vez de invocar múltiples subflujos dentro de un flujo monolítico) |
| Plataforma | Organización | ✅ Las reglas de reconciliación de Resolución de identidad siguen la lógica de priorización en su diccionario de datos |
Obtenga más información acerca de Fácil arquitectura → Automatizado → Integridad de datos → Tratamiento de errores
| ¿Dónde buscar? Área de producto | Ubicación | ¿Qué aspecto tiene? Patrón |
|---|---|
| Einstein | Organización | ✅ Las solicitudes especifican el resultado esperado Incluir instrucciones directas para que el LLM solo genere el tipo de contenido esperado. |
| Plataforma | Apex | ✅ Las excepciones personalizadas se utilizan para crear mensajería de error avanzada y lógica |
| Plataforma | Apex | ✅ El código encierra todos los pasos de proceso DML, SOQL, llamadas y otros pasos críticos en bloques de try-catch |
| Plataforma | Apex | ✅ Los métodos de clase de base de datos pueden utilizarse exclusivamente para todas las operaciones de datos (en vez de DML) |
| Plataforma | Apex | ✅ En contextos asíncronos y masivos, se utilizan métodos de clase de base de datos en vez de DML |
| Plataforma | Aura | ✅ JavaScript encierra todas las operaciones de datos y pasos de proceso críticos en bloques de try-catch |
| Plataforma | Aura | ✅ Dentro de los bloques de try-catch, la Error JavaScript nativa se utiliza en declaraciones throw (sin uso de $A.error()) |
| Plataforma | Aura | ✅ Toda la lógica de error recuperable aparece en declaraciones de catch y proporciona mensajes de usuario claros |
| Plataforma | Flujo | ✅ Los flujos con operaciones de datos, llamadas y otra lógica de procesamiento crítica tienen rutas de fallo para todas las acciones clave |
| Plataforma | Flujo | ✅ Los flujos de pantalla utilizan de forma coherente conectores de fallos para mostrar errores a los usuarios |
| Plataforma | Flujo | ✅ Los mensajes de error personalizados están configurados para errores que aparecerán en pantalla |
| Plataforma | Componentes web Lightning (LWC) | ✅ JavaScript encierra todas las operaciones de datos y pasos de proceso críticos en if ()/else if () bloques |
| Plataforma | Componentes web Lightning (LWC) | ✅ Todas las funciones de @wire utilizan propiedades de data y error proporcionadas por la API |
| Plataforma | Componentes web Lightning (LWC) | ✅ Todas las if (error) /else if (error) declaraciones contienen lógica para procesar errores y proporcionar mensajes informativos |
Obtenga más información acerca de Fácil arquitectura → Automatizado → Integridad de datos → Manejo de datos
| ¿Dónde buscar? Área de producto | Ubicación | ¿Qué evitar? Antipatrón |
|---|---|
| Data 360 | Organización | ⚠️ Los campos con métodos de coincidencia normalizados compatibles utilizan coincidencia parcial La coincidencia parcial se aplica a campos que ofrecen métodos de coincidencia normalizados exactos |
| Data 360 | Organización | ⚠️ Se supone que Id. de Particular unificado es inmutable El Id. de Particular unificado se utiliza como un Id. principal o Id. global para ser utilizado por el resto de la organización |
| Data 360 | Organización | ⚠️ Fecha de evento se asigna a un valor de fecha y hora mutable Fecha de evento se asigna a un campo de fecha y hora mutable como LastUpdated o LastExtracted |
| Data 360 | Organización | ⚠️ Clave principal se asigna a un campo que no es exclusivo Seleccionar cualquier campo como clave principal para su transmisión de datos si no existe uno en su conjunto de datos sin validar primero que el campo seleccionado es exclusivo |
| Data 360 | Organización | ⚠️ Cargar datos en lotes y luego intentar activarlos en tiempo real. Por ejemplo, un enfoque común pero defectuoso podría implicar cargar datos cada hora desde un depósito de Amazon S3 y luego activarlos a través de acciones de datos |
| Plataforma | Apex | ⚠️ Las declaraciones DML aparecen regularmente en código que se invocará en contextos posteriores al desencadenador |
| Plataforma | Apex | ⚠️ Los trabajos Apex por lotes tienen un tamaño de ámbito muy pequeño Se utilizan tamaños de lote muy pequeños (como tamaño de ámbito = 1) |
| Plataforma | Apex | ⚠️ Apex por lotes se utiliza para llamadas externas Grandes volúmenes de datos de Salesforce se envían fuera de Salesforce a un sistema externo utilizando Apex por lotes |
| Plataforma | Apex | ⚠️ Se utilizan Publicar inmediatamente Eventos de plataforma y se utilizan eventos Publicar inmediatamente (en tiempo real) en vez de Publicar después de confirmar (no en tiempo real) independientemente de los requisitos de pedidos de publicación o los riesgos de bloqueo de registros. |
| Plataforma | Apex | ⚠️ Las funciones Apex asíncronas se utilizan de forma arbitraria Métodos futuros y Apex en cola se utilizan de forma incoherente o indistinta |
| Plataforma | Apex | ⚠️ Las funciones Apex asíncronas se utilizan de forma arbitraria; no está claro que los desarrolladores sepan cuándo utilizar Apex futuro frente a cola, cuándo traspasar DML a trabajos por lotes |
| Plataforma | Apex | ⚠️ Apex asíncrono rara vez se utiliza |
| Plataforma | Apex | ⚠️ Las funciones asíncronas de Apex se utilizan arbitrariamente Las operaciones de base de datos no tienen lógica clara y coherente para pasar la ejecución a Batch Apex cuando es necesario |
| Plataforma | Diccionario de datos | ⚠️ La asignación de campos desde objetos de lago de datos a objetos de modelo de datos no está incluida |
| Plataforma | Diccionario de datos | ⚠️ Los datos a nivel de campo y la lógica de priorización para orígenes de datos y objetos de lago de datos no están incluidos |
| Plataforma | Flujo | ⚠️ Realización de DML utilizando una recopilación que es una salida de un componente de pantalla Aprovechando la configuración "Utilizar los Id. y todos los valores de campo de un registro o recopilación de registros" en un elemento crear, actualizar o eliminar, cuando esa recopilación es una salida de un componente de pantalla |
| Plataforma | Flujo | ⚠️ Los flujos desencadenados por registros no utilizan atributos de orden de desencadenador en absoluto o no utilizan valores de orden de desencadenador de forma coherente |
| Plataforma | Flujo | ⚠️ Las rutas asíncronas no se utilizan de forma coherente o en absoluto |
| Plataforma | Flujo | ⚠️ Los flujos grandes y monolíticos intentan coordinar secuencias complejas de operaciones de datos relacionadas (con o sin subflujos) |
| Plataforma | Organización | ⚠️ Las reglas de reconciliación de Resolución de identidad no siguen la lógica de priorización en el diccionario de datos |
Obtenga más información acerca de Fácil arquitectura → Automatizado → Integridad de datos → Tratamiento de errores
| ¿Dónde buscar? Área de producto | Ubicación | ¿Qué evitar? Antipatrón |
|---|---|
| Plataforma | Apex | ⚠️ DML, SOQL, llamadas u otros pasos críticos del proceso no se envuelven de forma coherente en bloques de intento de captura |
| Plataforma | Apex | ⚠️ No se utilizan métodos de clase de base de datos |
| Plataforma | Apex | ⚠️ Las operaciones de datos se realizan exclusivamente con DML |
| Plataforma | Apex | ⚠️ Las declaraciones de System.debug aparecen en código de producción (y no se comentan) |
| Plataforma | Aura | ⚠️ JavaScript no encierra de forma coherente operaciones de datos y pasos de procesos críticos en bloques de try-catch |
| Plataforma | Aura | ⚠️ Los componentes utilizan $A.error() |
| Plataforma | Aura | ⚠️ La lógica de error recuperable no aparece de forma coherente en declaraciones de catch y los mensajes de error a usuarios no son claros |
| Plataforma | Flujo | ⚠️ Los flujos no utilizan rutas de fallo de forma coherente o en absoluto |
| Plataforma | Flujo | ⚠️ Los mensajes de error personalizados no se utilizan, de modo que los usuarios ven el mensaje predeterminado "Se ha producido un fallo no gestionado en este flujo". |
| Plataforma | Componentes web Lightning (LWC) | ⚠️ Las funciones de @wire no utilizan propiedades de data y error proporcionadas por la API (o no las utilizan de forma coherente) |
| Plataforma | Componentes web Lightning (LWC) | ⚠️ Si se utiliza en absoluto, las declaraciones if (error)/else if (error) no contienen realmente lógica para procesar errores y proporcionan mensajes de error útiles |
| Plataforma | Componentes web Lightning (LWC) | ⚠️ JavaScript no utiliza de forma coherente if ()/else if () bloques con operaciones de datos o pasos de proceso críticos |