Plataforma 1C:Enterprise >> Preguntas frecuentes >> Desarrollo

   

Entrega y soporte de configuración

Concepto de entrega y soporte de configuración

Propósito

Consideremos un escenario típico: un proveedor lanza una configuración estándar. Un cliente compra la configuración y la personaliza según sus necesidades. Luego, el proveedor lanza una nueva versión y el cliente desea integrar sus personalizaciones con los cambios del proveedor. La integración manual sería muy lenta porque requiere crear una lista de cambios y luego replicarlos en la última versión de la configuración. Replicar los cambios del proveedor en la configuración del cliente también es ineficiente. La función de entrega y soporte de configuración automatiza en gran medida este proceso, dejando algunas decisiones al cliente.

Escenario de actualización genérico

La siguiente tabla resume las opciones de actualización disponibles para cada objeto de metadatos.

Cliente

Proveedor

Regla de actualización

1 Cambiado Sin cambios Obtener de la configuración del cliente
2 Cambiado Cambiado ?
3 Sin cambios Sin cambios Obtener de la configuración del cliente
4 Sin cambios Cambiado Obtener de la configuración del proveedor

Tenga en cuenta que los escenarios 1, 3 y 4 rara vez requieren modificaciones de sus reglas de actualización. El escenario 2 es más complicado porque la selección automática de reglas no tiene sentido, pero la plataforma puede encontrar todas las propiedades de los objetos cambiados, dejando la elección final de la regla de actualización al cliente.

Implementación del escenario de actualización en 1C:Enterprise

Conceptos genéricos

En 1C:Enterprise cualquier configuración puede basarse en una o varias configuraciones de proveedores compatibles. Puede utilizar una configuración creada utilizando el comando ConfiguraciónDistribuir configuraciónCrear paquete de distribución y archivo de actualización de configuración como una configuración de proveedor. Este comando crea un archivo de configuración .cf. Tenga en cuenta que los archivos creados utilizando el comando ConfiguraciónGuardar configuración en archivo no se pueden utilizar como configuraciones de proveedores. Para convertir una configuración de proveedor en un archivo de base de datos de información (.1cd) o un archivo de volcado de base de datos de información (.dt), cargue el archivo .cf creado como se describe anteriormente en su base de datos de información (que puede estar vacía) utilizando el siguiente comando: ConfiguraciónCargar configuración desde archivo. Luego puede utilizar las herramientas estándar de la plataforma para crear un archivo .dt.

Hay dos formas de agregar soporte de proveedor a su configuración:

  1. Comience con una configuración creada como se describe anteriormente y personalícela cuando sea necesario. Su configuración personalizada se basará en la configuración de proveedor compatible. Alternativamente, puede utilizar los siguientes comandos: ConfiguraciónCargar configuración desde archivo y AdministraciónRestaurar base de datos de información.
  2. Comience con una configuración personalizada y ejecute el comando ConfiguraciónComparar y fusionar con configuración desde archivo. Seleccione una configuración de proveedor para comparar y, si su configuración aún no se basa en esta configuración de proveedor, se le pedirá que agregue soporte de proveedor.

Hay dos modos de soporte disponibles:

  1. La configuración de proveedor original nunca se cambia. Este modo solo está disponible para el primer método de agregar soporte, y las nuevas configuraciones de proveedores tienen este modo de forma predeterminada. No se permiten cambios en los objetos de configuración y no se pueden agregar nuevos objetos a la configuración.
  2. La configuración tiene soporte y se permiten cambios en la configuración. Para cambiar a este modo, abra la configuración de soporte utilizando el comando ConfiguraciónSoporteOpciones de soporte y haga clic en el botón Habilitar modificación.

Puede actualizar su configuración utilizando archivos de la nueva versión de la configuración de proveedor o utilizando archivos de actualización de configuración .cfu. Puede actualizar cualquier versión de configuración utilizando archivos .cf (incluida la degradación a una versión anterior). Durante la creación de un archivo de actualización, un proveedor especifica las versiones de configuración que se pueden actualizar utilizando este archivo. Las versiones de configuración que no se especifican explícitamente, tanto anteriores como posteriores, no se pueden actualizar con archivos .cfu porque los archivos de actualización solo incluyen las diferencias entre versiones de configuración específicas.

Ejemplo:

Si la última versión de configuración es la 4 y se crea una actualización para la versión 2, no se puede utilizar para actualizar la versión 1 y la versión 3. Esta limitación es necesaria para el procesamiento correcto de cambios que se anulan entre sí. Si un proveedor aumentó la longitud de un atributo de cadena en la versión 3 y volvió a la longitud original en la versión 4, este cambio no se incluye en la actualización de la versión 2 a la versión 4 porque la longitud de la cadena es la misma en ambas versiones. Si se aplica este archivo de actualización a la versión 3, la longitud de la cadena no se revertirá, lo cual es incorrecto.

Los archivos de actualización de configuración tienen un tamaño pequeño porque solo almacenan los cambios y porque utilizan compresión de datos. Están optimizados para la descarga a través de canales de baja velocidad, pero proporcionan menos flexibilidad de actualización que los archivos .cf. El resto del proceso de actualización es idéntico para ambos tipos de archivos, .cfu y .cf.

https://kb.1ci.com/bin/download/OnecInt/KB/1C_Enterprise_Platform/FAQ/Development/WebHome/en_360026821073_1_1.jpg

Figura 1. Interacción entre configuraciones de cliente y proveedor

Actualización de configuraciones

Si una configuración de cliente incluye una configuración compatible sin personalización permitida, la actualización es un proceso estricto y completamente automatizado. El usuario ejecuta el comando ConfiguraciónSoporteActualizar configuración y confirma la actualización, y luego la configuración se actualiza.

Si un cliente cambia la configuración al modo en el que se permiten cambios, la configuración se actualiza utilizando la función estándar de comparación y fusión de configuraciones, que en este caso proporciona funcionalidad adicional: se involucran tres configuraciones. Estas incluyen la configuración del cliente, la configuración anterior del proveedor (que se almacena en la configuración del cliente) y la nueva configuración del proveedor. 1C:Enterprise analiza los cambios automáticamente y asigna las reglas de actualización según la Tabla 1. Si una propiedad fue cambiada tanto por el proveedor como por el cliente (escenario 2 en la Tabla 1), 1C:Enterprise no puede determinar la regla de actualización y deja la decisión al cliente. Estas propiedades están marcadas en negrita. Puede seleccionar la casilla de verificación Mostrar solo las propiedades que se cambiaron dos veces para ver solo las propiedades que requieren la selección manual de las reglas de actualización. Después de la fusión, la configuración del proveedor almacenada en la configuración del cliente se actualiza a la nueva versión.

Modificación del algoritmo de actualización utilizando reglas de soporte

El cliente puede modificar el algoritmo de actualización estableciendo reglas de soporte para cada objeto de metadatos. Pueden necesitarlo si desean realizar todas las modificaciones de objetos futuros ellos mismos y ya no están interesados en las nuevas versiones de objetos proporcionadas por el proveedor. En particular, este escenario se puede utilizar si desean eliminar el objeto de su configuración. Hay tres reglas de soporte disponibles para los objetos de metadatos:

La siguiente tabla amplía la Tabla 1 con las reglas de soporte de los objetos de metadatos.

Tabla 2. Reglas de actualización predeterminadas.

Cliente Proveedor Regla de soporte Regla de actualización
1 Cambiado No cambiado Cualquiera Obtener de la configuración del cliente
2 Cambiado Cambiado No se permiten cambios en el objeto del proveedor Sin actualización
Se permiten cambios en el objeto del proveedor sin romper el soporte Obtener de la configuración del proveedor
Soporte cancelado para el objeto del proveedor Obtener de la configuración del cliente
3 No cambiado No cambiado Cualquiera Obtener de la configuración del cliente
4 No cambiado Cambiado No se permiten cambios en el objeto del proveedor Obtener de la configuración del proveedor
Se permiten cambios en el objeto del proveedor sin romper el soporte Obtener de la configuración del proveedor
Soporte cancelado para el objeto del proveedor Obtener de la configuración del cliente

Restricción de la personalización utilizando reglas de entrega

Un proveedor puede restringir la personalización de sus configuraciones utilizando reglas de entrega para objetos de metadatos individuales. Esta función está diseñada para evitar modificaciones que cambien la lógica de la configuración hasta el punto en que el soporte posterior ya no tenga sentido. Las siguientes reglas de entrega están disponibles:

La siguiente figura describe las reglas de soporte (tanto predeterminadas como disponibles para los clientes) que coinciden con varias reglas de entrega.

https://kb.1ci.com/bin/download/OnecInt/KB/1C_Enterprise_Platform/FAQ/Development/WebHome/en_360025947194_i8102294.files_image.png

Figura 2. Correspondencia entre reglas de entrega y soporte

Configuración de entrega y generación de archivos de distribución y actualización

Configuración de entrega y generación de archivos de distribución y actualización

Este artículo describe la generación de kits de distribución de soluciones aplicadas.

Las configuraciones se pueden entregar en los siguientes formatos de archivo:

Para crear una configuración que se pueda utilizar como una configuración de proveedor, prepare versiones específicas de estos archivos basados en el archivo de kit de distribución de configuración (.cf) que se crea utilizando el método descrito más adelante en este artículo. La creación de otros tipos de archivos de distribución se describe al final de este artículo.

Especificación de la configuración de entrega

La configuración de entrega define las reglas de soporte para los clientes, incluidas las reglas de entrega para los objetos de metadatos. Tenga en cuenta que las reglas de entrega se especifican para los objetos de metadatos que pertenecen al primer nivel del árbol de objetos, como catálogos, documentos o registros. Los objetos subordinados, como atributos, secciones tabulares, formularios o plantillas, utilizan las reglas definidas para sus objetos principales. Las siguientes reglas de entrega están disponibles:

La regla seleccionada define las reglas de soporte que se pueden seleccionar en el lado del cliente. Para más detalles, consulte Concepto de entrega y soporte de configuración.

También puede especificar reglas de entrega para los módulos de objetos seleccionando o desmarcando las casillas de verificación Incluir textos de módulo de objeto. Si los textos del módulo no se entregan, los clientes no pueden ver ni editar el script del módulo. Esto se puede utilizar para proteger la propiedad intelectual o para garantizar la integridad lógica de la configuración.

Puede seleccionar la casilla de verificación El archivo de distribución se puede utilizar para actualizaciones en la configuración de entrega. Como se describe en la sección Concepto de entrega y soporte de configuración, los archivos de actualización de configuración (.cfu) y los archivos de configuración completos (.cf) se pueden utilizar para actualizar las configuraciones de los proveedores. Si desmarca la casilla de verificación, el archivo .cf resultante no se puede utilizar para actualizar configuraciones. Es posible que desee utilizar esta opción si la nueva versión de la configuración requiere un procesamiento de base de datos complicado.

Por ejemplo, cambiar un atributo de catálogo de una cadena a una referencia a otro catálogo requiere una actualización de dos niveles. Primero, debe agregar un nuevo atributo de tipo de referencia y llenarlo en función del valor del atributo antiguo, luego eliminar el atributo antiguo y cambiar el nombre del nuevo. Esta actualización no se puede realizar en una única reestructuración de base de datos con pre y postprocesamiento. Para la actualización, debe crear una versión de configuración intermedia donde se agregue el nuevo atributo y el antiguo aún no se haya eliminado, y escribir los procesadores de datos correspondientes. Este escenario es propenso a errores humanos, incluso si el proceso de actualización se describe detalladamente en la documentación. Al seleccionar la casilla de verificación El archivo de distribución se puede utilizar para actualizaciones se elimina el error humano. Todo el procedimiento de actualización podría verse así:

Un cliente que posee una versión de configuración anterior no puede cambiar el orden de actualización. Incluso si obtienen el archivo de configuración para la última versión, no pueden usarlo para actualizar su configuración.

Tenga en cuenta que este método carece de flexibilidad. Si se desmarca la casilla de verificación, el cliente no puede retroceder a futuras versiones de configuración a la versión actual. Por defecto, la casilla de verificación El archivo de distribución se puede utilizar para actualizaciones está seleccionada.

Estructura de directorio estándar para archivos de distribución y actualización

El procedimiento de entrega de la configuración se adhiere a reglas específicas para la ubicación de los archivos de distribución y el soporte de diferentes versiones. Para especificar el directorio raíz para los archivos de distribución y actualización, en el cuadro de diálogo Crear archivos de distribución y actualización de configuración, haga clic en Directorio de archivos de distribución. Por defecto, los archivos se almacenan en subdirectorios con el nombre de sus números de versión (la propiedad Versión de la configuración). Esto simplifica la preparación de los archivos de actualización (como se describe más adelante en este artículo). Tenga en cuenta que el directorio raíz no se almacena dentro de la configuración y se cambiará si el archivo de configuración .1cd se mueve a otro equipo.

Creación de archivos de distribución y actualización

Puede crear archivos de distribución y actualización simultáneamente o uno a la vez desde el cuadro de diálogo Crear archivos de distribución y actualización de configuración. Pero solo puede crear un solo archivo de actualización a la vez. Para crear varios archivos de actualización para actualizar una configuración desde varias versiones, repita el procedimiento de creación de actualización varias veces. El archivo de distribución solo se puede crear una vez, pero tenga en cuenta que deshabilitar la creación del archivo de distribución no acelera la creación del archivo de actualización. En una configuración grande, puede llevar mucho tiempo, lo que también depende del número de versiones que se pueden actualizar con el archivo de actualización.

Si selecciona la casilla de verificación Crear archivo de actualización de configuración, especifique una o varias versiones anteriores que se pueden actualizar utilizando este archivo. Los archivos de actualización no son acumulativos: un archivo diseñado para actualizar de la versión 4 a la versión 6 no se puede utilizar para actualizar la versión 5, a menos que esta versión se haya especificado explícitamente en la etapa de generación del archivo (para obtener más información, consulte Concepto de entrega y soporte de configuración). Para seleccionar archivos de configuración de versiones anteriores, puede hacer clic en Agregar y seleccionar un archivo, o puede hacer clic en Agregar desde versiones anteriores para ejecutar una búsqueda automática de versiones de configuración almacenadas en el disco duro, siempre que los archivos se almacenen en la estructura de directorios descrita anteriormente en este artículo. El comando Agregar también le permite especificar archivos de distribución de diferentes configuraciones (deben ser archivos de distribución, no archivos de configuración regulares).

Creación de archivos de distribución en otros formatos

El archivo de distribución .cf generado se puede utilizar como base para archivos de distribución que tienen otros formatos. Por ejemplo, puede crear un archivo de infobase (.1cd) que contenga datos de demostración. Puede preparar una infobase de demostración utilizando una configuración obtenida al volcar la infobase del entorno donde creó el paquete de distribución. Las configuraciones no tienen que ser idénticas, pero tampoco deben tener diferencias significativas que requieran actualizaciones complicadas de datos y configuración de la base de datos.

En Designer, abra el archivo de infobase que contiene datos de demostración. En el menú Configuración, haga clic en Cargar configuración desde archivo, confirme la sustitución de la configuración actual y actualice la configuración de la base de datos. Puede utilizar la infobase resultante como archivo de distribución. Para preparar un archivo de volcado de configuración (.dt), en esta infobase, en el menú Administración, haga clic en Volcar infobase.

Especificaciones de la fusión de módulos

Mapeo

1C:Enterprise fusiona módulos por procedimientos. Genera el mapeo de procedimientos automáticamente, dejándole la opción de corregirlo manualmente. Veamos las reglas de generación de mapeo.

Un módulo de 1C:Enterprise consta de tres áreas:

Las áreas de declaración de variables se mapean automáticamente, al igual que las áreas del programa principal, y no se puede cambiar ese mapeo. Los procedimientos y funciones se mapean en función de sus nombres, pero un procedimiento nunca se mapea a una función, incluso si tienen nombres idénticos.

Para cambiar el mapeo de procedimientos y funciones manualmente, establezca la regla “Priorizar la fusión…” para el módulo. Esto agrega el botón que abre la configuración detallada. En la ventana de configuración, además de editar el mapeo, puede establecer una regla de fusión para cada procedimiento y previsualizar el resultado de la fusión del módulo.

Fusionar módulos durante la actualización de la configuración

La regla “Fusionar…” nunca se establece automáticamente durante la actualización de la configuración. Puede establecerla manualmente. Si lo hace, tenga en cuenta lo siguiente:

Especificar opciones de soporte

Modos de soporte de la configuración

1C:Enterprise cuenta con dos modos de soporte de configuración: soporte completo y soporte que permite la edición. El modo de soporte completo implica que los clientes siempre trabajan con una copia exacta de la última versión de la configuración del proveedor. La principal ventaja de este modo es la actualización de la configuración completamente automatizada, y la desventaja es que la configuración no se puede personalizar según las necesidades del usuario. Podría preguntarse por qué alguien preferiría una actualización automática en lugar de obtener nuevas configuraciones del proveedor manualmente. Hay dos razones:

Modo de soporte inicial

El modo de soporte inicial depende del método utilizado para habilitar el soporte. Hay dos métodos disponibles. Primero, un cliente compra un paquete de distribución de configuración del proveedor y lo instala como una nueva base de datos de información, o un cliente carga la configuración del proveedor en su configuración utilizando el comando Cargar desde archivo en Designer. En estos escenarios, el modo de soporte inicial es el soporte completo.

Segundo, un cliente fusiona su configuración con el paquete de distribución del proveedor. En este escenario, el modo de soporte inicial es el soporte que permite la edición.

Ver el modo de soporte y cambiar entre modos

Para ver el modo de soporte actual, en el menú Configuración, haga clic en Opciones de soporte. Esto abre el cuadro de diálogo Opciones de soporte donde puede ver el modo de soporte y realizar otras operaciones relacionadas con el soporte. La primera línea del cuadro de diálogo describe el modo de soporte actual. También hay un botón que permite la edición de la configuración. Una vez cambiado al modo que permite la edición, la configuración no se puede volver al modo de soporte completo. Tenga en cuenta que para editar la configuración del proveedor no es necesario desactivar completamente el soporte, es suficiente cambiar al modo de soporte que permite la edición.

Otras opciones de gestión de soporte

El cuadro de diálogo de opciones de soporte también proporciona las siguientes opciones: desactivar el soporte (el botón Desactivar soporte), hacer una copia de seguridad de la última versión de la configuración del proveedor (el botón Guardar en archivo), especificar los idiomas de soporte de la configuración, especificar reglas de soporte para objetos individuales y abrir el cuadro de diálogo para comparar y fusionar con la configuración del proveedor.

Idiomas de soporte de la configuración

Además de la comparación completa de configuraciones, 1C:Enterprise proporciona la opción de comparar configuraciones por idioma. Supongamos que se están comparando dos configuraciones (por ejemplo, una configuración de proveedor se compara con una configuración de cliente). La primera configuración incluye los idiomas inglés y alemán, mientras que la segunda solo incluye inglés. Si selecciona la comparación solo por idioma inglés, las líneas que son idénticas en inglés se consideran idénticas, incluso si incluyen alemán. Hay una ventana de diálogo donde puede especificar los idiomas de comparación. También puede especificar los idiomas predeterminados en las opciones de soporte. Los idiomas predeterminados se utilizan para la comparación con la configuración del proveedor y para las actualizaciones de configuración.

Especificación de reglas de soporte de objetos

Las reglas de soporte de objetos se describen en detalle en Concepto de entrega y soporte de configuración. Puede especificar reglas de soporte para objetos individuales desde la ventana de diálogo de opciones de soporte o desde la ventana de diálogo de comparación y fusión con la configuración del proveedor.

Tenga en cuenta la regla “No se permiten cambios en objetos de proveedor”. Esta regla solo se puede establecer para objetos idénticos (objetos de proveedor que no son modificados por el cliente). Por eso, la regla solo se puede establecer en la ventana de diálogo de comparación y fusión con la configuración del proveedor. Si intenta establecer esta regla en la ventana de diálogo de opciones de soporte, recibirá un mensaje de error.

Eliminación de objetos de proveedor

Para eliminar un objeto de proveedor, debe establecer la regla “Soporte cancelado para objeto de proveedor” para este objeto y todos sus objetos subordinados. En la ventana de diálogo de opciones de soporte, puede establecer esta regla de forma recursiva (para un objeto y todos sus objetos subordinados a la vez). Se admite establecer una regla para un grupo de objetos, así como establecer una regla para un grupo de objetos con sus objetos subordinados.

Especificidades del desarrollo compartido

Todas las configuraciones de soporte se almacenan en la raíz de la configuración. Para actualizar las opciones de soporte o actualizar una configuración, es suficiente bloquear el objeto raíz en el repositorio. Pero recomendamos encarecidamente bloquear toda la configuración para actualizarla.

Revertir a objetos de proveedor

Para revertir a un objeto de proveedor, utilice la ventana de diálogo de comparación y fusión con la configuración del proveedor. Tenga en cuenta lo siguiente: si un objeto de proveedor es eliminado por el cliente y luego ese objeto se copia de una configuración de proveedor a la configuración del cliente, el objeto copiado, al ser lógicamente idéntico al eliminado, tiene un ID interno diferente. Y si la configuración de la base de datos todavía almacena la versión anterior del objeto, no se puede asignar al nuevo objeto durante la actualización de la configuración de la base de datos y se pueden perder algunos datos durante la actualización. Por lo tanto, si desea restaurar un objeto eliminado que aún está presente en la configuración de la base de datos, no fusione su configuración con una configuración de proveedor. En su lugar, revierta a la configuración de la base de datos.

Configuraciones basadas en varias configuraciones de proveedor admitidas

Descripción general

Considere el siguiente escenario. Un cliente necesita una solución integrada que incluya dos funcionalidades muy diferentes, como la gestión de almacenes y la gestión de recursos humanos. No pueden encontrar una sola solución que se ajuste a sus necesidades, pero hay soluciones que implementan una de las funcionalidades exactamente como ellos quieren disponibles en el mercado. Por lo tanto, compran dos soluciones y las fusionan en una sola configuración. Por supuesto, combinar dos configuraciones originales en una, especialmente si son proporcionadas por diferentes proveedores, es una tarea compleja que siempre requiere correcciones manuales a la fusión automática. En particular, si ambas configuraciones de origen tienen objetos con funcionalidades similares, deben fusionarse en un solo objeto sin pérdida de funcionalidad. Dado que los métodos para resolver esta tarea están fuera del alcance de este artículo, solo discutiremos el soporte de la configuración resultante.

Probablemente, un cliente desea seguir siendo elegible para el soporte del proveedor, pero ¿cuál de los dos proveedores eligen? Por supuesto, pueden elegir la configuración que sea más importante, o una más grande, o una más compleja, e integrar los cambios que provienen de otra configuración de proveedor manualmente. Pero 1C:Enterprise proporciona la opción de obtener soporte de ambas configuraciones de proveedor.

Soporte de objetos mapeados

Una actualización de configuración solo afecta a los objetos de configuración del cliente que provienen de la configuración del proveedor. El resto de los objetos se consideran agregados por el cliente y no afectan el proceso de actualización. Por lo tanto, la actualización no hace ninguna diferencia entre los objetos agregados por el cliente y los objetos que provienen de otra configuración del proveedor.

La configuración también puede incluir objetos fusionados que provienen de ambas configuraciones (lo que mapea los objetos de origen entre sí). Consideremos sus opciones de soporte.

Para cada configuración del proveedor, 1C:Enterprise solo analiza sus enlaces a objetos del cliente. Por lo tanto, si un objeto de configuración del cliente también está vinculado a otra configuración del proveedor, esto no introduce cambios en los procesos de entrega y soporte. Si un cliente actualiza un objeto de la primera configuración del proveedor, la segunda configuración del proveedor identifica esto como cambios del cliente. Es por eso que es posible tener un solo objeto compatible con dos o más configuraciones del proveedor. Por supuesto, es necesario vigilar de cerca el objeto durante cada actualización y realizar correcciones manuales, pero la función de fusión automática sigue siendo útil aquí porque al menos proporciona un informe que enumera los cambios introducidos por una nueva versión de la configuración del proveedor.

No es necesario mantener un objeto compatible con ambos proveedores. En su lugar, se puede tener el objeto compatible en una sola configuración, preferiblemente aquella cuya funcionalidad es más compleja o más difícil de integrar. Alternativamente, se puede desactivar el soporte para ambas configuraciones del proveedor y realizar todos los últimos cambios en el objeto manualmente.

Disponibilidad de objetos mapeados

Si una configuración se basa en varias configuraciones de proveedores admitidas, hay al menos un objeto mapeado disponible: el objeto de configuración raíz. La mayoría de sus propiedades solo afectan ligeramente la funcionalidad de la configuración y sus valores pueden ser cambiados por el cliente. Las propiedades significativas incluyen el módulo de aplicación y posiblemente el módulo de conexión externa. El cliente debe decidir cómo se admiten estos módulos y la actualización de estos módulos siempre lleva tiempo, independientemente de la opción de soporte seleccionada. Esta es una de las razones por las que se recomienda mantener todas las implementaciones de funcionalidad en módulos comunes, dejando solo llamadas de procedimiento en los módulos de aplicación y conexión externa. Seguir esta recomendación simplifica significativamente el proceso de actualización.

Reglas de entrega y soporte

Para mantener un objeto mapeado compatible con ambas configuraciones del proveedor, establezca la regla “Cambios permitidos sin romper el soporte” en las opciones de soporte para ambas configuraciones.

Si desea que un objeto mapeado sea compatible con una sola configuración del proveedor, establezca la regla “Cambios permitidos sin romper el soporte” para esa configuración y establezca la regla “Soporte cancelado para objeto del proveedor” para la otra configuración. Por supuesto, solo puede hacerlo si las reglas de soporte establecidas por los proveedores permiten estas opciones. Si ambos proveedores establecen la regla “Cambios no permitidos”, no se puede crear un objeto mapeado compatible con ambas configuraciones del proveedor.

Habilitar el soporte

Hay dos formas de habilitar el soporte de una configuración del proveedor: primero, crear una configuración a partir de un kit de distribución del proveedor, y segundo, fusionar su configuración con la configuración distribuida con la opción “habilitar soporte”. Obviamente, si su configuración incluye dos configuraciones de proveedores, debe utilizar el segundo método para al menos una de las configuraciones.

Especificaciones de comparación y fusión de configuraciones durante la actualización

Mapeo de objetos

Reglas de mapeo

Al fusionar configuraciones, 1C:Enterprise crea el mapeo de objetos de metadatos basado en sus propiedades de Nombre e ID de objeto interno. El algoritmo de mapeo a utilizar depende de la opción de comparación seleccionada. Antes de continuar describiendo estas opciones, discutamos cómo se pueden cambiar los ID de objeto interno.

Los ID internos nunca se cambian dentro de una sola configuración. No se cambian al exportar configuraciones a archivos .cf o .dt (incluidos archivos de distribución .cf y archivos de actualización .cfu). No se cambian en el proceso de desarrollo compartido (cuando se mueven objetos entre la configuración y el repositorio). Sin embargo, siempre se cambian al copiar objetos, y esto incluye copiar objetos en el proceso de fusión.

Por ejemplo, crea una nueva configuración y luego, en el menú Configuración, haz clic en Comparar y fusionar con la configuración de un archivo. 1C:Enterprise detecta que la configuración actual está vacía y te solicita cargar toda la configuración desde un archivo, como si usaras el comando Cargar configuración desde archivo. Si aceptas, se conservan todos los ID de los objetos. Si rechazas y realizas una fusión regular, se cambian todos los ID de los objetos, aunque la configuración resultante sea lógicamente idéntica a la original.

Ahora pasemos a los algoritmos de asignación de objetos. Hay tres algoritmos disponibles:

  1. Comparación de configuraciones que no están relacionadas entre sí. La asignación se basa en los nombres de los objetos. Los objetos que no se pueden asignar por nombre se asignan por ID interno.
  2. Comparación de configuraciones relacionadas entre sí (diferentes versiones de una misma configuración). Por ejemplo, la comparación de una configuración base con una configuración de base de datos o con una configuración de repositorio se incluye en esta categoría. La asignación se basa solo en los ID de los objetos, se ignoran los nombres de los objetos.
  3. Comparación con la configuración del proveedor. La asignación se basa en los ID de los objetos, pero los ID no tienen que ser idénticos.

Veamos en detalle el tercer algoritmo, pero primero hagamos algunas aclaraciones sobre los dos primeros algoritmos. Hay varias formas de iniciar la comparación de configuraciones. Por ejemplo, puedes usar el comando Configuración – Comparar y fusionar con la configuración de un archivo, o el comando Configuración – Configuración de base de datos – Comparar y fusionar con la configuración de la base de datos, o abrirlo desde el cuadro de diálogo de opciones de soporte. En cada uno de estos escenarios, la plataforma selecciona automáticamente el algoritmo de asignación.

También tienes el comando de comparación universal Configuración – Comparar configuraciones, que te solicita seleccionar cualquier par de configuraciones (por ejemplo, una configuración de base de datos y alguna versión de configuración del repositorio). Si seleccionas un par de configuraciones que obviamente están relacionadas entre sí, el algoritmo de asignación se selecciona automáticamente. De lo contrario, se habilita la casilla de verificación Determinar coincidencia por nombres de objetos, que te permite seleccionar entre dos algoritmos.

Ten en cuenta que para que la plataforma seleccione el algoritmo automáticamente, además de seleccionar un par específico de configuraciones, también debes seleccionarlas en el orden correcto, la configuración base debe ir primero. Puedes usar esta función si deseas cambiar el algoritmo para un determinado par de configuraciones: simplemente cambia su orden.

Ahora veamos la comparación con la configuración del proveedor. Puede tener una de las dos opciones de soporte: cambios de objetos permitidos o no permitidos. En el último caso, la actualización se realiza cargando toda la configuración del proveedor y los ID de los objetos no se cambian, como se describe anteriormente en este artículo. En el primer caso, se permiten correcciones manuales durante la fusión y los nuevos objetos adquieren nuevos ID. Pero en este escenario, los objetos no se pueden asignar por nombre porque, de lo contrario, los objetos cuyos nombres son cambiados por el cliente perderían sus vínculos con los objetos del proveedor. Por lo tanto, la plataforma utiliza el siguiente algoritmo: para cada objeto del proveedor, almacena un par de ID de objetos (el ID del objeto del proveedor y el ID del objeto de la configuración admitida) y luego genera la asignación utilizando solo esos pares. Una vez creados, los pares nunca se cambian, lo que garantiza la integridad lógica de la configuración. Si se encuentra un objeto nuevo en una configuración del proveedor, un cliente puede copiar el objeto durante la actualización o puede asignarlo a algún objeto de configuración del cliente, y una vez que lo haga, esta asignación no se puede cambiar.

Dependencia del rendimiento de la comparación de configuraciones en la asignación de objetos

La comparación de configuraciones grandes es una operación larga, especialmente en el modo de actualización de la configuración del proveedor, que incluye tres comparaciones: la antigua configuración del proveedor, la nueva configuración del proveedor y la configuración del cliente se comparan entre sí. En general, el rendimiento de la comparación mejora significativamente si se cumplen las siguientes dos condiciones:

  1. La asignación no incluye pares de objetos con ID diferentes.
  2. Los objetos no asignados no incluyen pares de objetos con ID idénticos.

Uno puede explicar fácilmente por qué seguir estas reglas optimiza el rendimiento. Las versiones de configuración del proveedor siempre se comparan rápidamente porque se crean a partir de una única configuración como archivos de entrega o actualización y se preservan los ID de objeto. El rendimiento de la comparación depende del historial de cambios en las versiones de configuración del proveedor. Después de habilitar cambios en la configuración del cliente, la comparación aún se realiza rápidamente porque los objetos mapeados tienen ID idénticos. Pero una vez que un proveedor agrega un nuevo objeto en una actualización, el objeto se le asigna un nuevo ID después de la actualización y el rendimiento de todas las comparaciones posteriores de la configuración del cliente con la configuración del proveedor se reduce significativamente.

Nota sobre habilitar el soporte

Los especialistas en implementación a menudo preguntan cuál es la forma correcta de habilitar el soporte. Tienen las siguientes opciones: habilitar el soporte en una configuración del proveedor instalada desde un kit de distribución, o fusionar una configuración del cliente con la configuración del proveedor distribuida y al mismo tiempo habilitar el soporte. No hay mucha diferencia entre estas opciones. Lógicamente, ambas formas dan el mismo resultado. El rendimiento de la actualización es inicialmente mejor en el primer escenario, pero solo hasta que el proveedor agregue al menos un objeto, lo cual probablemente sucederá en la próxima versión de la configuración del proveedor. Después de eso, el rendimiento es el mismo para ambos escenarios.

Eliminación de objetos del proveedor

Consideremos escenarios que involucran la eliminación de objetos del proveedor.

Eliminación por parte del cliente

Para eliminar un objeto del proveedor, el cliente debe deshabilitar el soporte para este objeto y todos sus objetos subordinados. En las actualizaciones posteriores, el objeto se excluye de la fusión.

Eliminación por parte del proveedor

Cuando fusionas configuraciones, siempre tienes la opción de eliminar objetos de la configuración base. Por defecto, esta opción solo está disponible en el modo “actualización de configuración del proveedor”. En otros modos, puedes habilitarlo seleccionando la casilla de verificación Permitir eliminación de objetos de configuración base en el cuadro de diálogo de comparación y fusión de configuraciones.

Por defecto, la configuración de marcas de eliminación para objetos del proveedor se realiza según las siguientes reglas. Si un cliente cambió el objeto del proveedor (en comparación con la versión anterior de la configuración del proveedor), la marca de eliminación no se establece de forma predeterminada. Si el objeto es idéntico al objeto del proveedor, se establece la marca de eliminación. Una vez que haces clic en Ejecutar, la plataforma verifica la integridad de referencia para los objetos que tienen marcas de eliminación establecidas tanto automáticamente como manualmente. Si se encuentran referencias irresolubles a un objeto que tiene una marca de eliminación, se muestra la lista de referencias en una nueva ventana. A diferencia de las referencias no resueltas que se encuentran cuando se niega copiar un objeto de una configuración del proveedor (o de cualquier otra configuración involucrada en la fusión), estas referencias no te permiten eliminar el objeto y continuar con la fusión.

Recomendaciones para personalizar configuraciones del proveedor

Cuando personalices una configuración estándar para las necesidades de un usuario específico, piensa en las futuras actualizaciones. La función de soporte de configuración disponible en 1C:Enterprise simplifica en gran medida el proceso de actualización, pero si introduces cambios significativos en la configuración del proveedor, la integración de las actualizaciones que vienen con la nueva versión de la configuración del proveedor a la configuración personalizada requiere trabajo manual.

Las recomendaciones enumeradas en este artículo se basan en el análisis de varios escenarios de actualización y ayudan a simplificar el procedimiento de actualización. Algunas de las recomendaciones se explican en detalle en otros artículos, mientras que esta lista proporciona un resumen.

Creando archivos de distribución y actualización

Puede crear los siguientes archivos de distribución y actualización en Designer:

Estructura estándar de directorios de distribución y actualización

El procedimiento de entrega de la configuración se adhiere a reglas específicas para la ubicación de los archivos de distribución y soporte de diferentes versiones. Para especificar el directorio raíz de los archivos de distribución y actualización, en el cuadro de diálogo Crear archivos de distribución y actualización de configuración, haga clic en Directorio de archivos de distribución. Por defecto, los archivos se almacenan en subdirectorios con nombres basados en sus números de versión (la propiedad Versión de la configuración). Esto simplifica la preparación de los archivos de actualización (como se describe más adelante en este artículo). Tenga en cuenta que el directorio raíz no se almacena dentro de la configuración y cambiará si el archivo de configuración .1cd se mueve a otro equipo.

Creación de archivos de distribución

Los archivos de distribución se crean en el directorio de archivos de distribución especificado si selecciona la casilla de verificación Crear archivo de distribución en el cuadro de diálogo Crear archivos de distribución y actualización de configuración.

¡Atención! No cree archivos de entrega en la configuración que se admite a sí misma.

Nota. Si, a pesar de esta recomendación, ha creado archivos de entrega para una configuración que se admite a sí misma, envíe solo el nuevo archivo de configuración (.cf) a los usuarios. Esta es la única forma de realizar correctamente la actualización de la configuración admitida.

Creación de archivos de actualización de configuración

Puede crear archivos de distribución y actualización simultáneamente desde el cuadro de diálogo Crear archivos de distribución y actualización de configuración si selecciona tanto la casilla de verificación Crear archivo de distribución como la casilla de verificación Crear archivo de actualización de configuración. Pero solo puede crear un archivo de actualización a la vez. Para crear varios archivos de actualización para actualizar una configuración desde diferentes versiones, repita el procedimiento de creación de actualización varias veces, cada vez con un directorio de archivo de distribución diferente.
Si selecciona la casilla de verificación Crear archivo de actualización de configuración, especifique uno o varios archivos de versiones anteriores que se pueden actualizar con este archivo. Los archivos de actualización no son acumulativos: un archivo diseñado para actualizar de la versión 4 a la versión 6 no se puede utilizar para actualizar la versión 5, a menos que esta versión se haya especificado explícitamente en la etapa de generación del archivo (para obtener más información, consulte Concepto de entrega y soporte de configuración).

Para seleccionar archivos de configuración de versiones anteriores, puede hacer clic en Agregar y seleccionar un archivo, o puede hacer clic en Agregar desde versiones anteriores para ejecutar una búsqueda automática de las versiones de configuración almacenadas en el disco duro, siempre que los archivos se almacenen en la estructura de directorios descrita anteriormente en este artículo.

El comando Agregar también le permite especificar archivos de distribución de diferentes configuraciones (deben ser archivos de distribución, no archivos de configuración regulares). La plataforma crea actualizaciones para estas configuraciones.

Actualización de configuraciones mediante archivos de actualización .cfu

Para actualizar una configuración, en el menú Configuración, apunte a Soporte y haga clic en Actualizar configuración. Esto abre el cuadro de diálogo Actualización de configuración.

En este cuadro de diálogo, seleccione la fuente de actualización.

Una vez que haya pasado por el asistente de actualización de configuración y haga clic en Finalizar, la plataforma muestra el cuadro de diálogo con los parámetros principales de la configuración actual y la configuración del proveedor. Para obtener más detalles, consulte la documentación de la plataforma.

Nota. Cuando realiza una actualización utilizando un archivo .cfu, la plataforma realiza una verificación de versión basada en el ID interno que cambia con CUALQUIER cambio en la configuración, incluso deshabilitar el soporte se considera un cambio.