Contactos

Alexey Alekseev bienvenido a mi acogedor blog. Base de información distribuida: Fundamentos Principios básicos del funcionamiento de RIB

Para crear una base de información distribuida, debe iniciar sesión en el programa en modo 1C: Enterprise. Para crear nodos de bases de datos distribuidas, seleccione en el menú: Operaciones - Planes de Exchange. Se abrirá la ventana "Seleccionar objeto: Plan de intercambio".


1. Considere la opción con el plan de intercambio “Full”.

El intercambio se llevará a cabo entre todas las organizaciones ubicadas en la base de información distribuida.

Elijamos el plan de intercambio “Full”. Se abrirá la ventana "Plan de intercambio completo".

Completamos dos entradas:

Llamemos a la primera entrada "Nodo principal", indiquemos el código "GU",

Llamemos a la segunda entrada "Nodo subordinado", indiquemos el código "PU".

Como podemos ver en la figura, la primera entrada tiene un ícono con un círculo verde, este es el ícono de “Nodo Principal”.


Para crear una copia de la base de información del “Nodo principal”, haga clic en “Nodo esclavo” y haga clic en el icono “Crear imagen inicial”. Esta será la base de información del “Nodo Subordinado”.


Se abrirá la ventana "Crear una imagen de seguridad de la información inicial", seleccione "En esta computadora o en una computadora en la red local", haga clic en "Siguiente".


En el campo "Directorio de la base de datos", seleccione la ubicación donde se instalará la copia del "Nodo principal" y haga clic en "Finalizar".


Luego de crear la infobase del “Nodo Subordinado”, aparecerá el siguiente mensaje:


Haga clic en Aceptar".

Agregue la base de información "Nodo subordinado" a "1C: Enterprise". Nos dirigimos a la base de datos subordinada en el modo "1C: Enterprise". Abramos: Operaciones - Planes de Canje. Se abrirá la ventana "Seleccionar objeto: Plan de intercambio". Elijamos el plan de intercambio “Full”. Se abrirá la ventana "Plan de intercambio completo". Vemos que el icono de “Nodo Principal” es de color naranja, lo que significa que este nodo es el nodo principal de la base de información en la que nos encontramos.


Realizamos las siguientes configuraciones tanto en el nodo Maestro como en el Esclavo:

1. Agregue un prefijo para la base de información distribuida.

Esto se hace para que no haya conflictos en los números y códigos de documentos y directorios creados en dos bases de datos, por lo que en cada base de datos indicamos un prefijo que se agregará a los números de documentos y códigos de directorio. Abra: Herramientas - Configuración del programa - pestaña "Intercambio de datos". En el campo "Prefijo de nodo para una base de datos distribuida:", ingrese "PU" en la base de datos subordinada y "GU" en la base de datos principal.


2. Agregue una configuración para el intercambio de datos entre nodos:

Abierto: Servicio - Base de información distribuida (DIB) - Configurar nodos RIB. Se abrirá la ventana "Configuración de intercambio de datos".


Haga clic en "Agregar" y se abrirá la ventana "Configuración de intercambio de datos". Ingrese el "Nombre" de su configuración.


Automáticamente aparecerá un nodo en el campo “Nodo”, para el “Nodo maestro” habrá un “Nodo esclavo”, para el “Nodo esclavo” habrá un “Nodo maestro”.

En el campo "Directorio", seleccione la carpeta a la que se enviarán los datos de intercambio; es mejor especificar un directorio para las bases de datos principal y esclava.

En el campo “Tipo de intercambio” configuramos la transferencia de datos entre bases de datos: a través de un archivo o recurso FTP. Elijamos, por ejemplo, "compartir a través de un recurso de archivo".

No cambiamos nada en los campos restantes.

Haga clic en Aceptar". Vemos que ha aparecido un escenario.

3. Para intercambiar datos hacemos lo siguiente:

Primero, en la base de datos en la que se realizaron los cambios, haga clic en el icono "Intercambiar según la configuración actual", como se muestra en la figura.


Después de la carga, aparecerá la ventana de resultados de la carga.


Luego, en la base de datos a la que desea transferir los cambios, haga clic en el icono de “Intercambiar según la configuración actual” y los datos irán a la base de datos que desee.

2. Considere la opción con el plan de intercambio “Por organización”.

El intercambio se llevará a cabo entre organizaciones seleccionadas ubicadas en una base de información distribuida.

Para crear nodos de una base de datos distribuida, seleccione del menú: Operaciones - Planes de intercambio. Se abrirá la ventana "Seleccionar objeto: Plan de intercambio".


Elijamos el plan de intercambio “Por organización”. Se abrirá la ventana "Plan de intercambio por organización".

Completamos dos entradas:

Llamemos a la primera entrada "Nodo principal", indicamos el código "GU", vemos la diferencia con el "Plan de intercambio: completo", ha aparecido una tabla en la que indicamos las Organizaciones para las que se realizará el intercambio.

Llamemos a la segunda entrada "Nodo subordinado", indiquemos el código "PU", indiquemos la organización.


En todos los demás aspectos, la configuración es absolutamente la misma que con el "Plan de intercambio: completo".

OLEG FILIPOV, ANT-Inform, Jefe Adjunto del Departamento de Desarrollo, [correo electrónico protegido]

COSTILLA en 1C. Límites de posibilidades

La tecnología de bases de información distribuida (RIB) en la plataforma 1C:Enterprise causa mucha controversia. Intentaremos averiguar cuándo es recomendable utilizarlo y cuándo es mejor preferir soluciones alternativas.

A menudo, al leer foros o artículos de autores en línea sobre RIB en 1C, puede encontrar opiniones contradictorias, desde "esto es lo mejor y lo único que se puede usar" hasta "está irremediablemente desactualizado". Intentemos descubrir cómo son realmente las cosas.

En la edición de noviembre de 2016, ya escribí sobre algunas de las características de RIB en relación con una tarea práctica específica, así que solo unas palabras sobre los conceptos básicos y profundicemos un poco más en los detalles tecnológicos.

RIB es una tecnología de bases de información distribuida 1C:Enterprise; no debe confundirse con el intercambio universal, con una tecnología similar, pero un soporte fundamentalmente diferente para la actualización centralizada de las configuraciones de la base de información. Consta de las siguientes partes funcionales (que también se pueden utilizar por separado):

  • Servicio de cambio de registro– cuando está habilitado, comienza a registrar automáticamente cambios en objetos o registros para intercambio (u otros fines). En modo RIB también se utiliza para registrar cambios en la configuración de la base de datos.
  • Serialización de objetos/registros en XML. Casi cualquier objeto 1C:Enterprise se serializa habitualmente en XML.
  • Un mecanismo para mantener la misma configuración de todos los nodos de una base de información distribuida. En el modo RIB, el intercambio de datos entre diferentes nodos sólo es posible si tienen la misma configuración. Se transfiere automáticamente durante el intercambio. El nodo final sólo necesita aceptar los cambios.
  • La infraestructura de mensajes intercambiados en un sistema de información distribuido tiene entrega garantizada. Los cambios registrados se empaquetan en mensajes y se envían al nodo final en lotes. Las inscripciones se eliminan sólo después de la confirmación de la entrega del paquete.
  • Infraestructura a nivel de aplicación. Por supuesto, todo lo anterior no funcionará sin mecanismos desarrollados a nivel de soluciones de aplicación, algunos de los cuales ya están incluidos en el BSP. Las soluciones brindan la posibilidad de cargar datos de acuerdo con ciertas reglas, cambiar los principios de su registro y determinar el método de entrega del paquete.

Como puede ver, RIB en 1C puede hacer mucho. En la mayoría de los casos, esta funcionalidad es más que suficiente. Por ejemplo, en la Fig. La Figura 1 muestra la forma del nodo de la base de información en 1C, donde puede ver la capacidad de descargar reglas de registro, especificar parámetros de conexión y ver la lista de objetos registrados para intercambio.

De la descripción anterior podemos concluir sobre las capacidades de RIB 1C como sistema distribuido:

  • Soporte para una configuración de base de información unificada (semiautomática).
  • Soporte de seguimiento de cambios.
  • Entrega garantizada.
  • Posibilidad de circuito maestro-maestro.
  • Posibilidad de circuito en estrella.
  • Posibilidad de filtrado selectivo de cambios.

Bastante bien: satisfará completamente las necesidades de una red pequeña. Pero RIB tiene ciertas limitaciones, en gran parte relacionadas con las características arquitectónicas de la plataforma 1C, que imponen ciertas restricciones al uso de esta tecnología:

  • La necesidad de actualizar la configuración de la base de datos manualmente y cerrar usuarios. Detener intercambios hasta que se actualice la configuración.
  • Límite transaccional de la infraestructura de mensajes en la recuperación de datos. Al seleccionar cambios para cargar, la tabla de la base de datos se bloquea para registrar nuevos cambios; con grandes volúmenes de carga, esto puede llevar mucho tiempo y detener el trabajo.
  • Gastos generales para mantener una gran cantidad de nodos de sincronización (la cantidad de registros de servicio es igual a la cantidad de nodos).
  • Problemas al cargar grandes cantidades de datos.

Intentemos ahora comparar esto con algún sistema “avanzado” que tenga un mecanismo de replicación.

A menudo, en la práctica, hay situaciones en las que diferentes divisiones o sucursales están ubicadas geográficamente en diferentes lugares. Al mismo tiempo, los datos ingresados ​​en el programa en departamentos remotos deben llegar de alguna manera a la oficina central para que se mantengan registros generales.

Actualmente, este problema suele resolverse proporcionando a los empleados geográficamente remotos acceso remoto a una base de datos común. Se puede hacer publicando la base de datos en un servidor web, a través de un escritorio remoto, etc.

Sin embargo, no son infrecuentes situaciones en las que simplemente no hay Internet en una oficina geográficamente remota o no es lo suficientemente estable para trabajar en una base de información común. Para ello, 1C cuenta con un mecanismo para configurar una base de datos distribuida.

En pocas palabras, la oficina central es donde se encuentra la base principal. El departamento remoto utiliza un subordinado. Puede haber varias bases de esclavos de este tipo. Como resultado, dicha base de datos distribuida se une en una sola mediante sincronización. Se puede hacer de forma automática según un cronograma o manualmente.

En este artículo veremos cómo configurar una base de datos distribuida para 1C: Contabilidad 3.0. A pesar de esto, las instrucciones son adecuadas para la mayoría de las demás configuraciones de 1C 8.3.

nota que todas las modificaciones de configuración necesarias deben realizarse únicamente en la base de datos principal de RIB. Durante la sincronización, estos cambios se transmitirán a todas las bases de datos esclavas y entrarán en vigor.

Base de información principal

Cuando se utiliza una base de datos distribuida, la configuración principal recae en la base de datos principal. Deben realizarse en la sección "Administración", como se muestra en la imagen a continuación.

En la ventana que se abre, marque inmediatamente la casilla de verificación "Sincronización de datos". En la parte inferior, especifique el prefijo de la base de datos principal (base de datos actual). No puede constar de más de dos caracteres. En nuestro caso, el prefijo será “BG”, ya que queremos decir que esta RIB 1C es “Contabilidad principal”.

Ahora puede comenzar a configurar la sincronización en sí, es decir, especificar con qué base de datos (o bases de datos) se intercambiarán los datos. Para hacer esto, siga el hipervínculo "Configuración de sincronización de datos". Estará disponible para navegación solo si la casilla de verificación de la izquierda está marcada.

En la ventana que se abre, seleccione "Completo..." en el menú. Nos permitirá especificar cualquier base de información 1C para su sincronización.

En la primera ventana para conectar una base de datos subordinada, que está ubicada en una oficina geográficamente remota, marque la casilla que la conexión se realizará a través de un directorio local o de red. En nuestro caso es “D:\DB\InfoBase”. También comprobaremos de antemano si puede escribirle.

Asegúrese de especificar diferentes prefijos para diferentes bases de datos. El hecho es que al sincronizar datos, a los datos sobrecargados de cada base de datos se les asigna su propio prefijo. Si están duplicados, el trabajo será incorrecto, por lo que el programa no te dará esta oportunidad.

Cuando el programa le solicite que cree una imagen de inicio, seleccione esta opción. Este procedimiento llevará algún tiempo, luego guárdelo en su computadora con el nombre “1Cv8.1CD”.

La sincronización en sí se puede realizar automáticamente según un cronograma que usted mismo puede configurar o manualmente. En el segundo caso, simplemente haga clic en el botón "Sincronizar" en el momento que más le convenga.

Nodo esclavo RIB

El número de ajustes realizados en la base de datos esclava es significativamente menor. En la misma sección, configure la bandera “Sincronización de datos” y al hacer clic en el enlace correspondiente, estará disponible el botón “Sincronizar”.

En nuestro ejemplo, se agregaron dos elementos a la base de datos principal: "Viga" y "Tablero". Después de la sincronización, terminaron en la base de datos esclava. Como puede ver en la imagen siguiente, se les dio el prefijo "BG". A las dos posiciones restantes (“Torno” y “Paleta”) se les asigna el prefijo “BP”, ya que fueron creadas directamente en la base de datos subordinada.

nota que la numeración de elementos en nuestro caso es continua, pero solo dentro del mismo prefijo.

La tecnología de bases de información distribuida (RIB) le permite crear un sistema distribuido geográficamente basado en configuraciones de 1C Enterprise. Esto permite tener un espacio de información común incluso con aquellos departamentos que no cuentan con un canal de comunicación confiable, combinando una alta autonomía de los nodos con la capacidad de intercambiar información rápidamente. En nuestros artículos veremos las características y la implementación práctica de este mecanismo en la plataforma 8.2.

Antes que nada, preguntémonos: ¿por qué autoexchange? Las tecnologías modernas, combinadas con una Internet rápida y económica, permiten organizar el trabajo remoto sin ninguna dificultad. La elección de métodos es más amplia que nunca: RDP, clientes ligeros y web, conexión de redes mediante VPN: hay mucho en qué pensar. Sin embargo, todos estos métodos tienen un inconveniente importante: una fuerte dependencia de la calidad del canal de comunicación.

Incluso con el funcionamiento ideal del proveedor local, es imposible garantizar el 100% de disponibilidad del canal de comunicación. Los problemas con el proveedor troncal, la falta de suministro eléctrico, los daños físicos a la línea de comunicación y muchos otros factores hacen que esta tarea sea insuperable. Al mismo tiempo, la inaccesibilidad a la base de información en un almacén remoto o en una tienda minorista provoca pérdidas bastante importantes. Y, por último, no olvidemos que hay lugares (por ejemplo, zonas industriales en las afueras de las ciudades) donde proporcionar un canal de comunicación de alta calidad es costoso y/o problemático.

El mecanismo RIB le permite deshacerse de estas deficiencias, cada departamento tiene su propia copia de la base de información con la que puede trabajar de forma autónoma incluso en ausencia total de comunicación con el mundo exterior. Y la pequeña cantidad de información transmitida permite utilizar cualquier canal de comunicación, incluida Internet móvil, para el intercambio.

RIB en la plataforma 8.2 no es algo fundamentalmente nuevo, ya que representa un mayor desarrollo de la plataforma RIB 7.7, solo que ahora esta tecnología se ha vuelto más accesible y simple. A diferencia del componente RIB, que debía adquirirse por separado, el RIB es una parte integral de muchas configuraciones estándar y funciona completamente en modo de usuario, lo que le permite prescindir del Configurador incluso en la etapa de configuración.

Llegados a este punto tocaría pasar a la parte práctica, pero tendremos que hacer una digresión más. El caso es que la transición a la plataforma 8.2, que parece haber ocurrido ya, de hecho propició el surgimiento de dos tipos de configuraciones: basada en una aplicación administrada, “nativa” de la plataforma 8.2, y adaptada de 8.1, continuando utilizar tecnologías y mecanismos obsoletos. Dado que una parte importante de las configuraciones (Contabilidad Empresarial, Nómina y Gestión de RRHH) son adaptadas o transitorias, no se pueden descartar, por lo que la primera parte de nuestro artículo estará dedicada a estas configuraciones (esencialmente la plataforma 8.1), mientras que en la segunda Examinaremos la configuración del intercambio automático para configuraciones basadas en una aplicación administrada (plataforma 8.2).

Consideremos una tarea práctica: configurar el intercambio automático a través de FTP para la configuración de Enterprise Accounting 2.0. A pesar de que RIB le permite intercambiar mediante correo electrónico o archivos compartidos, recomendamos utilizar FTP como el método de comunicación más simple y confiable. Puede leer cómo configurar su propio servidor FTP o puede utilizar el servicio FTP de cualquier proveedor de alojamiento.

En primer lugar, necesitamos configurar los nodos de intercambio. Para hacer esto, inicie la configuración con derechos de administrador y seleccione Transacciones - Planes de Intercambio.

En la lista que aparece, seleccione Lleno planificar o Por organización, si se mantienen registros de varias empresas en una base de datos y el intercambio debe realizarse solo para una de ellas. En la ventana que se abre ya hay un nodo: el central, debemos editarlo indicando el código y el nombre.

Luego crearemos otro nodo para la rama, rellenándolo de la misma forma (para agregar, haga clic en el círculo verde con un signo más). El siguiente paso es crear una imagen inicial para este nodo, que es una base de información ya preparada en modo archivo. Para hacer esto, haga clic derecho en el nodo deseado y seleccione de la lista desplegable Crear una imagen inicial.

Ahora sigamos adelante Servicio - Base de información distribuida (DIB) - Configurar nodos RIB.

En la ventana que se abre, haga clic en el botón Agregar y configure un nuevo intercambio especificando el host remoto, el tipo de intercambio (a través de FTP) y los parámetros de conexión del servidor.

Marcador Intercambio automático le permite configurar un cronograma de intercambio, intercambio por eventos (inicio y final del trabajo, etc.), estas configuraciones se realizan para el usuario en cuyo nombre se realizará el intercambio, así que asegúrese de que tenga derechos para intercambiar datos.

No olvide especificar el prefijo de nodo para la numeración de documentos (de lo contrario, recibirá documentos diferentes con los mismos números) en Herramientas - Configuración del programa; aquí también puede configurar algunos otros parámetros de intercambio. En la misma pestaña deberás seleccionar un usuario para realizar tareas de intercambio, si no lo haces el cronograma no funcionará. Recuerde que el intercambio sólo se realizará si el usuario está registrado en el programa.

Esto completa la configuración del nodo central, ahora necesita realizar ajustes similares para el nodo periférico, conectando la imagen inicial como un sistema de seguridad de la información existente. Después de lo cual podrá comenzar a intercambiar datos. Para controlar debes usar Monitor de comunicación, le permite no solo monitorear el éxito de la carga/descarga, sino que también muestra cualquier colisión que haya surgido o movimientos retrasados ​​(si el usuario que realizó el intercambio no tiene suficientes derechos para realizar alguna acción en la base de datos). La presencia de esta herramienta le permite resolver de forma rápida y eficaz varios tipos de problemas que surgen durante el intercambio automático.

En este punto, la configuración del intercambio se puede considerar completa y puede comenzar a trabajar en modo distribuido. Vale la pena detenerse específicamente en actualizar o realizar cambios en la configuración. Estas acciones solo están disponibles en el nodo central; todos los cambios realizados se propagarán automáticamente a los nodos periféricos durante el próximo intercambio. Para realizar cambios automáticamente, la base de datos del periférico debe estar en modo exclusivo; de lo contrario, deberá ejecutar Configurador y ejecutar Actualización de la configuración de la base de datos a mano.

Instrucciones para crear y configurar bases de datos distribuidas utilizando el componente URDB (URIB)

El componente URDB (Gestión de bases de datos distribuidas) se utiliza para intercambiar información entre dos bases de datos 1C idénticas. Si las configuraciones son diferentes, entonces también puedes usarlo, esto está escrito en otro. Para que el componente funcione, debe tener el archivo DistrDB.dll en la carpeta BIN del programa 1C: Enterprise.

Veamos los pasos para crear bases de datos distribuidas. Por ejemplo, tenemos una base de trabajo en el directorio D:\base1. Es necesario hacerlo central y crear una base periférica.

1. Cree un directorio D:\base2 para la base de datos periférica.

2. En los directorios D:\base1 y D:\base2, cree las carpetas CP y PC (use letras latinas).

3. Inicie el configurador de base de datos central (D:\base1) y seleccione Menú - Administración - Seguridad de la información distribuida - Gestión.

4. Haga clic en el botón "Seguridad de la información central", en la ventana que aparece, ingrese el código y el nombre de la base de datos. Es mejor utilizar números o letras latinas para el código. Introduce, por ejemplo, 001 y “Base central”, confirma pulsando el botón “OK”.

5. Haga clic en el botón "Nueva seguridad de la información periférica" ​​para crear una base de datos periférica. Para ello introducimos los parámetros: 002 y “Periférico base 1”.

6. Utilice el cursor para seleccionar la base “Base periférica 1” y presione el botón “Configuración”. intercambio automático". En la configuración, cambie el modo manual a automático. Ojo, esto es importante.

7. Usando el cursor, seleccione la base de datos “Periférico base 1” y presione el botón “Cargar datos”, luego el botón “Aceptar”. Como resultado de la carga aparecerá el archivo D:\base1\CP\020.zip.

8. Inicie 1C en modo configurador, agregue una nueva base de datos "Base de datos periférica 1" en la ventana de inicio de 1C, especifique el directorio creado previamente D:\base2 para ella.

9. Seleccione Menú - Administración - Seguridad de la información distribuida - Gestión. A la pregunta formulada “No se encontró la base de información. ¿Quieres cargar datos?" Haga clic en el botón "Sí" y especifique el nombre del archivo "D:\base1\CP\020.zip", haga clic en el botón "Aceptar". Una vez completada la descarga, el proceso de creación de una base de datos periférica se puede considerar completo.

En y también en se dan los métodos para crear una base de datos periférica restaurando una copia de la base de datos central desde una copia de seguridad o adjuntando archivos de una copia de la base de datos central para formato SQL y ejecutando el script. Esto será útil para grandes volúmenes de datos, cuando las cargas y descargas toman horas o son completamente irreales.

Instrucciones para el intercambio entre bases de datos distribuidas utilizando el componente URDB (URIB)

Consideremos un ejemplo simplificado, realizaremos el intercambio manualmente iniciando el configurador. Puede utilizar el modo por lotes del configurador; puede utilizar correo, ftp y copia automática de archivos para entregar paquetes de intercambio.

Para realizar el intercambio, debe seleccionar Menú - Administración - Seguridad de la información distribuida - Intercambio automático. Si el cambio es automático (ver punto 6 de las instrucciones anteriores), entonces todo saldrá bien.

1. Entonces, cambiamos o creamos algunos objetos que migran a la base de datos periférica. Las reglas de migración de objetos se establecen en la pestaña "Migración" en las propiedades del objeto (consulte el árbol de objetos en el configurador).

2. Inicie el configurador de la base de datos central, seleccione Menú - Administración - Seguridad de la información distribuida - Auto Exchange, haga clic en el botón "Ejecutar".

3. Mueva el archivo resultante D:\base1\CP\020.zip a la carpeta D:\base2\CP\

4. Cambiamos algunos objetos en la base de datos periférica. Preferiblemente no aquellos que se cambiaron antes en la base de datos central, porque la base de datos central tiene prioridad para los cambios de objetos durante el intercambio.

5. Inicie el configurador de la base de datos periférica, seleccione Menú - Administración - Seguridad de la información distribuida - Intercambio automático, haga clic en el botón "Ejecutar".

6. Como resultado del intercambio automático, deberíamos tener cambios provenientes de la base de datos central. También deberíamos tener un archivo para transferir a la base de datos central D:\base2\PC\021.zip

7. Copie el archivo D:\base2\PC\021.zip a la carpeta D:\base1\PC

8. Repita el punto 2. Como resultado, los cambios recibidos de la base de datos periférica aparecerán en la base de datos central.

Entonces, el principio general de intercambio: ejecución alternativa del intercambio automático con movimiento simultáneo de archivos (paquetes de intercambio) desde la carpeta de PC de una base de datos a la carpeta de PC de otra base de datos y desde la carpeta CP de una base de datos a la carpeta CP de otra base de datos.

Los cambios de configuración se realizan únicamente en la base de datos central. Al cambiar la configuración es necesario realizar el intercambio en bases de datos periféricas en modo exclusivo. Para procesar con éxito paquetes de bases de datos periféricas en la base de datos central, la configuración debe cargarse en las bases de datos periféricas. Si se confunde, no pasa nada, el paquete rechazado por la base de datos central se descargará nuevamente.



¿Te gustó el artículo? Compártelo