Métodos de integración con 1C

¿Cuáles son los requisitos más importantes para las aplicaciones empresariales? Algunas de las tareas más cruciales son las siguientes:

  • Facilidad de modificación/adaptación de la lógica de funcionamiento de la aplicación a las cambiantes necesidades del negocio.
  • Facilidad de integración con otras aplicaciones.

La forma en que se resuelve la primera tarea en 1C se describió brevemente en la sección "Personalización y soporte"; de este artículovolveremos a este interesante tema en uno de los próximos artículos. Hoy, sin embargo, hablaremos de la segunda tarea, sobre la integración.

Tareas de integración

Las tareas de integración pueden ser diversas. Para algunas, basta con un intercambio de datos interactivo sencillo, por ejemplo, para enviar al banco una lista de empleados para la emisión de tarjetas de plástico de nómina. Para tareas más complejas, puede ser necesario un intercambio de datos completamente automatizado, posiblemente con la lógica de negocio de un sistema externo. Existen tareas de carácter especializado, como la integración con equipos externos (por ejemplo, equipos de ventas, escáneres móviles, etc.) o con sistemas heredados o altamente especializados (por ejemplo, con sistemas de reconocimiento de etiquetas RFID). Es extremadamente importante elegir el mecanismo de integración más adecuado para cada tarea.

Opciones de integración con 1C

Existen varios enfoques para implementar la integración con las aplicaciones de 1C; cuál elegir depende de los requisitos de la tarea.

  1. Implementación basada en mecanismos de integración, proporcionados por la plataforma, o su propia API especializada en el lado de la aplicación 1C (por ejemplo, un conjunto de servicios Web o HTTP que invoquen aplicaciones externas para intercambiar datos con la aplicación 1C). La ventaja de este enfoque es la resistencia de la API a los cambios en la implementación del lado de la aplicación 1C. La particularidad de este enfoque es que se requiere modificar el código fuente de la solución estándar de 1C, lo que puede potencialmente requerir esfuerzos al fusionar los códigos fuente al actualizar a una nueva versión de la configuración. En este caso, puede ayudar la nueva funcionalidad progresiva - extensiones de configuración. Las extensiones son, en esencia, un mecanismo de plugins que permite crear complementos para soluciones de aplicación sin modificar las propias soluciones. Llevar la API de integración a la extensión de configuración evitará complicaciones al fusionar configuraciones al actualizar a una nueva versión de la solución estándar.
  2. El uso de mecanismos de integración de la plataforma que proporcionan acceso externo al modelo de objeto de la aplicación y no requieren modificaciones en la aplicación ni la creación de extensiones. La ventaja de este enfoque es que no es necesario cambiar la aplicación 1C. La desventaja es que si la aplicación 1C ha sido modificada, pueden ser necesarias adaptaciones en la aplicación a integrar. Un ejemplo de este enfoque es el uso del protocolo OData para la integración, implementado del lado de la plataforma 1C:Enterprise (más detalles a continuación).
  3. El uso de protocolos de aplicación estándar implementados en soluciones típicas de 1C. Muchas soluciones estándar de 1C y sus socios han implementado, sobre la base de los mecanismos de integración proporcionados por la plataforma, sus propios protocolos de aplicación orientados a tareas específicas. Al utilizar estos mecanismos, no es necesario escribir código en la aplicación 1C, ya que aprovechamos las capacidades estándar de la solución de aplicación. Solo necesitamos realizar ciertas configuraciones en la aplicación 1C.

Mecanismos de integración en la plataforma 1C:Enterprise

Importar/exportar archivos

Supongamos que tenemos la tarea de intercambio bidireccional de datos entre la aplicación 1C y una aplicación arbitraria. Por ejemplo, necesitamos sincronizar la lista de productos (catálogo de Nomenclatura) entre la aplicación 1C y una aplicación arbitraria.

Métodos de integración con 1C
Para resolver esta tarea, se puede escribir una extensión que exporte el catálogo de Nomenclatura a un archivo en un formato específico (texto, XML, JSON, …) y que sea capaz de leer ese formato.

La plataforma implementa un mecanismo de serialización de objetos de aplicación en XML tanto directamente, a través de los métodos del contexto global EscribirXML/LeerXML, como mediante un objeto auxiliar XDTO (XML Data Transfer Objects).

Cualquier objeto en el sistema 1C:Enterprise puede ser serializado a una representación XML y viceversa.

Esta función devolverá la representación del objeto en formato XML:

Función Objeto_En_XML(Objeto)
    RegistroXML = Nuevo RegistroXML();
    RegistroXML.EstablecerCadena();
    EscribirXML(RegistroXML, Objeto);
    Retornar RegistroXML.Cerrar();
FinFunción

Así es como se verá la exportación del diccionario Nomenclatura en XML utilizando XDTO:

&EnElServidor
Procedimiento ExportarXMLEnServidor()
	NuevoSerializadorXDTO  = SerializadorXDTO;
	NuevoRegistroXML = Nuevo RegistroXML();
	NuevoRegistroXML.AbrirArchivo("C:DatosNomenclatura.xml", "UTF-8");
	
	NuevoRegistroXML.EscribirDeclaraciónXML();
	NuevoRegistroXML.EscribirInicioElemento("DiccionarioNomenclatura");
	
	Selección = Diccionarios.Nomenclatura.Seleccionar();
	
	Mientras Selección.Siguiente() Hacer
		ObjetoNomenclatura = Selección.ObtenerObjeto();
		NuevoSerializadorXDTO.EscribirXML(NuevoRegistroXML, ObjetoNomenclatura, AsignaciónTipoXML.Explícita);
	FinMientras;
	
	NuevoRegistroXML.EscribirFinElemento();
	NuevoRegistroXML.Cerrar();
FinProcedimiento

Mediante una sencilla modificación del código exportamos el diccionario a JSON. Los productos se registrarán en un array; para mayor variedad, presentaremos la versión en inglés del sintaxis:

&EnElServidor
Procedimiento ExportarJSONEnServidor()
	NuevoSerializadorXDTO  = SerializadorXDTO;
	NuevoEscritorJSON = Nuevo EscritorJSON();
	NuevoEscritorJSON.AbrirArchivo("C:DatosNomenclatura.json", "UTF-8");
	
	NuevoEscritorJSON.EscribirInicioObjeto();
	NuevoEscritorJSON.EscribirNombrePropiedad("DiccionarioNomenclatura");
	NuevoEscritorJSON.EscribirInicioArray();
	
	Selección = Catalogos.Nomenclatura.Seleccionar();	
	
	Mientras Selección.Siguiente() Hacer
		ObjetoNomenclatura = Selección.ObtenerObjeto();
		
		NuevoEscritorJSON.EscribirInicioObjeto();
		
		NuevoEscritorJSON.EscribirNombrePropiedad("Nomenclatura");
		NuevoSerializadorXDTO.EscribirJSON(NuevoEscritorJSON, ObjetoNomenclatura, AsignaciónTipoXML.Implícita);
		
		NuevoEscritorJSON.EscribirFinObjeto();
	FinMientras;
	
	NuevoEscritorJSON.EscribirFinArray();
	NuevoEscritorJSON.EscribirFinObjeto();
	NuevoEscritorJSON.Cerrar();
FinProcedimiento

Luego solo quedará transmitir los datos al consumidor final. La plataforma 1C:Enterprise admite los principales protocolos de internet HTTP, FTP, POP3, SMTP, IMAP, incluyendo sus versiones seguras. También se pueden utilizar HTTP y/o servicios Web para la transmisión de datos.

Servicios HTTP y web

Métodos de integración con 1C

Las aplicaciones 1C pueden implementar sus servicios HTTP y web, así como invocar servicios HTTP y web implementados por aplicaciones de terceros.

Interfaz REST y protocolo OData

A partir de la versión 8.3.5, la plataforma 1C:Enterprise puede automáticamente generar una interfaz REST para toda la solución aplicada. Cualquier objeto de configuración (diccionario, documento, registro de información, etc.) puede hacerse accesible para obtener y modificar datos a través de la interfaz REST. La plataforma utiliza el protocolo OData versiones 3.0. La publicación de servicios OData se realiza desde el menú del Configurador «Administración -> Publicación en el servidor web», la casilla «Publicar interfaz estándar OData» debe estar marcada. Se admiten los formatos atom/XML y JSON. Una vez que la solución aplicada esté publicada en el servidor web, los sistemas externos pueden acceder a ella a través de la interfaz REST utilizando solicitudes HTTP. No se requiere programación en el lado de 1C para trabajar con la aplicación 1C a través del protocolo OData.

Así, una URL del tipo http:////odata/standard.odata/Catalog_Номенклатура nos devolverá el contenido del catálogo Номенклатура en formato XML — una colección de elementos entry (el encabezado del mensaje se ha omitido por brevedad):

http://server/Config/odata/standard.odata/Catalog_Номенклатура(guid'35d1f6e4-289b-11e6-8ba4-e03f49b16074')
	
	
	2016-06-06T16:42:17
	
	<summary />
	
	
		
			35d1f6e4-289b-11e6-8ba4-e03f49b16074
			AAAAAgAAAAA=
			false
			000000001
			Condicionador Mitsubishi
			Potencia 2,5 kW, modos de operación: calor/frío
		
	


	http://server/Config/odata/standard.odata/Catalog_Номенклатура(guid'35d1f6e5-289b-11e6-8ba4-e03f49b16074')
	
...
</code></pre><p> Al agregar a la URL la cadena «?$format=application/json», obtendremos el contenido del catálogo Номенклатура en formato JSON (una URL del tipo <u>http:////odata/standard.odata/Catalog_Номенклатура?$format=application/json</u> ):</p><pre><code>{
"odata.metadata": "http://server/Config/odata/standard.odata/$metadata#Catalog_Номенклатура",
"value": [{
"Ref_Key": "35d1f6e4-289b-11e6-8ba4-e03f49b16074",
"DataVersion": "AAAAAgAAAAA=",
"DeletionMark": false,
"Code": "000000001",
"Description": "Condicionador Mitsubishi",
"Descripción": "Potencia 2,5 kW, modos de operación: calor/frío"
},{
"Ref_Key": "35d1f6e5-289b-11e6-8ba4-e03f49b16074",
"DataVersion": "AAAAAwAAAAA=",
"DeletionMark": false,
"Code": "000000002",
"Description": "Condicionador Daikin",
"Descripción": "Potencia 3 kW, modos de operación: calor/frío"
}, …
</code></pre><p></p><h4>Fuentes de datos externas</h4><p> <img class=lazy decoding=async alt="Métodos de integración con 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20436%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/1663b53846f3a6a8a03f386f1f6cd311.jpeg style="display:block;margin: 0 auto;" width=600 height=436><br> En algunos casos, el intercambio de datos a través de <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000795.htm>fuentes de datos externas</a></noindex> puede ser la solución óptima. Las fuentes de datos externas son un objeto de configuración de 1C que permite interactuar con cualquier base de datos compatible con ODBC, tanto para lectura como para escritura. Las fuentes de datos externas están disponibles tanto en Windows como en Linux.</p><h4>Mecanismo de intercambio de datos</h4><p> <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000269.htm>Mecanismo de intercambio de datos</a></noindex> destinado tanto a la creación de sistemas distribuidos geográficamente basados en 1C:Enterprise como a la organización del intercambio de datos con otros sistemas de información no basados en 1C:Enterprise.</p><p>Este mecanismo se utiliza activamente en las implementaciones de 1C, y el rango de tareas que se resuelven con su ayuda es bastante amplio. Esto incluye el intercambio de datos entre aplicaciones 1C instaladas en las sucursales de la organización, el intercambio entre la aplicación 1C y el sitio web de la tienda en línea, y el intercambio de datos entre la aplicación de servidor 1C y el cliente móvil (creado con la plataforma móvil 1C:Enterprise), y mucho más.</p><p>Uno de los conceptos clave en el mecanismo de intercambio de datos es el plan de intercambio. El plan de intercambio es un tipo especial de objeto de la plataforma 1C que define, entre otras cosas, la composición de los datos que participarán en el intercambio (qué directorios, documentos, registros, etc.). El plan de intercambio también contiene información sobre los participantes del intercambio (los llamados nodos de intercambio).<br> El segundo componente del mecanismo de intercambio de datos es el mecanismo de registro de cambios. Este mecanismo supervisa automáticamente los cambios en los datos dentro del sistema que deben ser transmitidos a los consumidores finales en el marco del plan de intercambio. A través de este mecanismo, la plataforma rastrea los cambios ocurridos desde la última sincronización y permite minimizar la cantidad de datos transmitidos durante cada sesión de sincronización.</p><p>El intercambio de datos se realiza mediante mensajes XML de una estructura definida. El mensaje contiene datos que han cambiado desde la última sincronización con el nodo, así como cierta información de servicio. La estructura de los mensajes soporta la numeración de mensajes y permite recibir confirmaciones del nodo receptor sobre la recepción de los mensajes. Esta confirmación se incluye en cada mensaje que llega del nodo receptor, en forma del número del último mensaje recibido. La numeración de mensajes permite a la plataforma entender qué datos ya han sido enviados con éxito al nodo receptor y evitar la retransmisión, enviando solo los datos que han cambiado desde la recepción del último mensaje que contiene la confirmación de los datos recibidos por el nodo receptor. Con este esquema de trabajo, se garantiza la entrega incluso en canales de transmisión poco confiables y en caso de pérdida de mensajes.</p><h4>Componentes externos</h4><p> En algunos casos, al resolver tareas de integración, es necesario enfrentar requisitos específicos, como protocolos de interacción, formatos de datos con los que la plataforma 1C:Enterprise no está preparada para trabajar. Para este tipo de tareas, la plataforma prevé <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000545.htm>la tecnología de componentes externos</a></noindex>, que permite crear módulos de conexión dinámica que amplían la funcionalidad de 1C:Enterprise.</p><p>Un ejemplo típico de una tarea con tales requisitos puede ser la integración de una solución de aplicación de 1C con equipos comerciales, desde balanzas hasta cajas registradoras y escáneres de códigos de barras. Los componentes externos pueden ser conectados tanto en el lado del servidor de la 1C:Enterprise como en la parte del cliente (incluyendo, entre otros, el cliente web, así como <noindex><a rel=nofollow href=https://wonderland.v8.1c.ru/blog/vneshnie-komponenty-v-mobilnom-prilozhenii/ >la siguiente versión de la plataforma móvil</a></noindex> 1C:Enterprise). La tecnología de componentes externos proporciona una interfaz de programación (C++) de interacción suficientemente simple y comprensible entre el componente y la plataforma 1C:Enterprise, que debe ser implementada por el desarrollador.</p><p>Las posibilidades que se abren al utilizar componentes externos son bastante amplias. Se puede implementar la interacción a través de un protocolo específico de intercambio de datos con dispositivos y sistemas externos, integrar algoritmos específicos de procesamiento de datos y formatos de datos, etc.</p><h4>Mecanismos de integración obsoletos</h4><p> En la plataforma hay mecanismos de integración que no se recomienda utilizar en nuevas soluciones; se han dejado por razones de compatibilidad hacia atrás y en caso de que otra parte no pueda trabajar con protocolos más modernos. Uno de ellos es trabajar con archivos del formato DBF (soportado en el lenguaje integrado mediante el objeto XBase).</p><p>Otro mecanismo de integración obsoleto es el uso de la tecnología COM (disponible solo en la plataforma Windows). La plataforma 1C:Enterprise ofrece dos formas de integración para Windows que utilizan la tecnología COM: el servidor de automatización y la conexión externa. Son muy similares, pero una de las diferencias fundamentales es que en el caso del servidor de automatización se inicia una aplicación cliente completa de 1C:Enterprise 8, mientras que en el caso de la conexión externa se inicia un relativamente pequeño servidor COM intra-proceso. Es decir, al trabajar a través del servidor de automatización, se puede utilizar la funcionalidad de la aplicación cliente, realizando acciones que son análogas a las acciones interactivas del usuario. Al usar una conexión externa, solo se pueden utilizar funciones de lógica empresarial, y estas se pueden ejecutar tanto en el lado cliente de la conexión, donde se crea el servidor COM intra-proceso, como invocar la lógica empresarial en el lado del servidor 1C:Enterprise.</p><p>La tecnología COM también se puede usar para acceder a sistemas externos desde el código de la aplicación en la plataforma 1C:Enterprise. En este caso, la aplicación 1C actúa como cliente COM. Pero es importante recordar que estos mecanismos funcionarán solo si el servidor 1C opera en un entorno Windows.</p><h3>Mecanismos de integración implementados en configuraciones estándar</h3><p></p><h4>Formato EnterpriseData</h4><p> <img class=lazy decoding=async alt="Métodos de integración con 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20311%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/8930091e53309b9b808a719b747a6226.jpeg style="display:block;margin: 0 auto;" width=600 height=311><br> En varias configuraciones de 1C (lista a continuación), se ha implementado un mecanismo listo para el intercambio de datos con aplicaciones externas, basado en el mecanismo de intercambio de datos de la plataforma descrito anteriormente, que no requiere modificaciones en el código fuente de las configuraciones (la preparación para el intercambio de datos se realiza en la configuración de las soluciones de aplicaciones):</p><ul> <li>«1C:ERP Gestión de la empresa 2.0» </li> <li>«Automatización Completa 2» </li> <li>«Contabilidad de la empresa», edición 3.0 </li> <li>«Contabilidad de la empresa CORP», edición 3.0 </li> <li>«Minorista», edición 2.0 </li> <li>«Gestión Comercial Básica», edición 11 </li> <li>«Gestión Comercial», edición 11</li> <li>« Nómina y Gestión del Personal CORPORATIVO », edición 3</li></ul><p> El formato utilizado para el intercambio de datos es <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_app/enterprisedata/ >EnterpriseData</a></noindex>, basado en XML. El formato está orientado a los negocios: las estructuras de datos descritas corresponden a entidades comerciales (documentos y elementos de catálogos) presentadas en los programas 1C, por ejemplo: acto de trabajos realizados, recibo de caja, contraparte, nomenclatura, etc.</p><p>El intercambio de datos entre la aplicación 1C y una aplicación externa puede realizarse:</p><ul> <li>a través de un directorio de archivos dedicado </li> <li>a través de un directorio FTP </li> <li>a través de un servicio web, desplegado del lado de la aplicación 1C. El archivo con los datos se transmite como un parámetro de los métodos web</li> <li>a través de correo electrónico</li></ul><p> En caso de un intercambio a través de un servicio web, la aplicación externa iniciará la sesión de intercambio de datos llamando a los métodos web correspondientes de la aplicación 1C. En otros casos, la aplicación 1C será la iniciadora de la sesión de intercambio (colocando el archivo de datos en el directorio correspondiente o enviando el archivo de datos a la dirección de correo configurada).<br> También en el lado de 1C se configura con qué frecuencia se realizará la sincronización (para las opciones de intercambio de archivos a través del directorio y correo electrónico):</p><ul> <li>según un horario (con una frecuencia determinada) </li> <li>manualmente; el usuario deberá iniciar manualmente la sincronización cada vez que lo necesite</li></ul><p></p><h5>Confirmación de mensajes</h5><p> Las aplicaciones 1C llevan un registro de los mensajes de sincronización enviados y recibidos y esperan lo mismo de las aplicaciones externas. Esto permite activar el mecanismo de numeración de mensajes, descrito anteriormente en la sección “Mecanismo de intercambio de datos”.</p><p>Las aplicaciones 1C, durante la sincronización, solo transmiten información sobre los cambios ocurridos en las entidades comerciales desde la última sincronización (para minimizar el volumen de información transmitida). Durante la primera sincronización, la aplicación 1C descargará todas las entidades comerciales (por ejemplo, los elementos del catálogo de productos) en un archivo XML en formato EnterpriseData (ya que todas son "nuevas" para la aplicación externa). La aplicación externa debe procesar la información del archivo XML recibido de 1C y, en la siguiente sesión de sincronización, incluir en el archivo enviado a 1C, en una sección especial de XML, información de que el mensaje de 1C con un número específico ha sido recibido correctamente. El mensaje de confirmación es una señal para la aplicación 1C de que todas las entidades comerciales han sido procesadas exitosamente por la aplicación externa y que no es necesario transmitir más información sobre ellas. Además de la confirmación, el archivo XML de la aplicación externa también puede contener datos para la sincronización desde el lado de la aplicación (por ejemplo, documentos de ventas de productos y servicios).</p><p>Después de recibir el mensaje de confirmación, la aplicación 1C marca todos los cambios transmitidos en el mensaje anterior como sincronizados con éxito. Solo los cambios no sincronizados en las entidades comerciales (creación de nuevas entidades, modificación y eliminación de existentes) serán enviados a la aplicación externa en la siguiente sesión de sincronización.</p><p><img class=lazy decoding=async alt="Métodos de integración con 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20381%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/b0d5509a53909e38886a15c2e03e7131.jpeg style="display:block;margin: 0 auto;" width=600 height=381><br> Al transmitir datos de la aplicación externa a la aplicación 1C, la situación cambia a la inversa. La aplicación externa debe completar la sección de confirmación en el archivo XML de manera adecuada y colocar los datos comerciales para la sincronización desde su lado en formato EnterpriseData.</p><p><img class=lazy decoding=async alt="Métodos de integración con 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20381%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/d34b96efb7591770133b363b369c0019.jpeg style="display:block;margin: 0 auto;" width=600 height=381></p><h5>Intercambio simplificado de datos sin confirmación</h5><p> Para casos de integración simple, donde solo es necesario transmitir información de la aplicación externa a la aplicación 1C y no se requiere la transmisión de datos de vuelta desde la aplicación 1C a la aplicación externa (por ejemplo, la integración de una tienda en línea que transmite información de ventas a "1C:Contabilidad"), hay una opción simplificada de funcionamiento a través de un servicio web (sin confirmación), que no requiere configuraciones en el lado de la aplicación 1C.</p><h4>Soluciones de integración especializadas</h4><p> Existe una solución estándar «1C: Conversión de datos», que utiliza los mecanismos de la plataforma para la conversión e intercambio de datos entre configuraciones estándar de 1C, pero también puede ser utilizada para la integración con aplicaciones externas.</p><h5>Integración con soluciones bancarias</h5><p> El estándar <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/100/index.htm>«Cliente bancario»</a></noindex>, desarrollado por especialistas de 1C hace más de 10 años, se ha convertido en el estándar de la industria en Rusia. El siguiente paso en esta dirección es la tecnología <noindex><a rel=nofollow href=http://directbank.1c.ru/ >DirectBank</a></noindex>, que permite enviar documentos de pago al banco y recibir extractos directamente desde el software del sistema «1C: Empresa» con sólo pulsar un botón en el programa «1C»; no se requiere la instalación y ejecución de programas adicionales en el ordenador del cliente.</p><p>También existe <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/109/ >un estándar para intercambio de datos en proyectos de nómina</a></noindex>.</p><h5>Otros</h5><p> Deben mencionarse <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/131/ >el protocolo de intercambio entre el sistema 1C: Empresa y el sitio</a></noindex>, estándar de intercambio de información comercial <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/90/ >CommerceML</a></noindex> (desarrollado junto con Microsoft, Intel, Price.ru y otras empresas), <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/111/ >estándar de intercambio de datos para operaciones de adquisición</a></noindex>.<br> <br>Fuente: <a content=nofollow rel=nofollow href=https://habr.com/ru/company/1c/blog/308420/ >habr.com</a></p></div></article><div style="width: 100%; text-align: center; margin: 0; padding: 31px 0 0 0;"> <a href=https://prohoster.info/es/vps/ > <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20700%2086%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22.webp data-srcset="        https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22-350.webp 350w,        https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22.webp 1280w" data-sizes="(max-width: 768px) 90vw, 700px" alt="ProHoster VPS — Servidores VPS accesibles y fiables con acceso root completo" title="ProHoster VPS — Servidores VPS accesibles y fiables con acceso root completo" style="display: inline-block; height: auto; max-width: 100%;" width=700 height=86> </a></div></div><nav class="navigation post-navigation" aria-label=Entradas data-no-translation-aria-label><h2 class="screen-reader-text" data-no-translation="" data-trp-gettext="">Navegación de entradas</h2><div class=nav-links><div class=nav-previous><a href=https://prohoster.info/es/blog/administrirovanie/lte-kak-simvol-nezavisimosti rel=prev>LTE como símbolo de independencia</a></div><div class=nav-next><a href=https://prohoster.info/es/blog/administrirovanie/podnimaem-server-1s-s-publikatsiej-bazy-i-veb-servisov-na-linux rel=next>Levantamos el servidor 1C con la publicación de la base de datos y servicios web en Linux</a></div></div></nav></main></div></div></div><footer id=colophon class=site-footer><div class=container><div class="row between-sm"><div class="col-md-3 col-xs-12"><div id=nav_menu-9 class="widget widget_nav_menu"><h3 class="widget-title">Nuestros servicios</h3><div class=menu-menyu-v-futere-v-vidzhete-1-russkij-container><ul id=menu-menyu-v-futere-v-vidzhete-1-russkij-1 class=menu><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-121326"><a href=https://prohoster.info/es/hosting/unlim-khosting>Alojamiento web ilimitado</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-172"><a href=https://prohoster.info/es/zhashchita-ot-ddos>Protección contra ataques DDoS</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-169"><a href=https://prohoster.info/es/hosting/constructor>Constructor de sitios web</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-175"><a href=https://prohoster.info/es/control-panel>Paneles de control</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-173"><a href=https://prohoster.info/es/domain>Registro de dominios</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-108824"><a href=https://prohoster.info/es/ssl-sertifikat>Certificados SSL</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-123573"><a href=https://prohoster.info/es/vpn>VPN</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-170"><a href=https://prohoster.info/es/vps/ssd-vps>VPS, VDS</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-171"><a href=https://prohoster.info/es/vps/abuzoustojchivye-vps>Windows VPS</a></li></ul></div></div></div><div class="col-md-3 col-sm-6 col-xs-12"><div id=nav_menu-10 class="widget widget_nav_menu"><h3 class="widget-title">Información</h3><div class=menu-menyu-v-futere-v-vidzhete-2-russkij-vtoroe-menyu-v-podvale-container><ul id=menu-menyu-v-futere-v-vidzhete-2-russkij-vtoroe-menyu-v-podvale class=menu><li id=menu-item-153465 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153465"><a href=https://prohoster.info/es/kompaniya/partnerstvo>Asociación</a></li> <li id=menu-item-153466 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153466"><a href=https://prohoster.info/es/bonus-partner>Bonos de socios</a></li> <li id=menu-item-153467 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-153467"><a href="https://billing.prohoster.info/knowledgebase?language=english">Base de conocimientos</a></li> <li id=menu-item-153468 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153468"><a href=https://prohoster.info/es/kompaniya>Acerca de la empresa</a></li> <li id=menu-item-153471 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153471"><a href=https://prohoster.info/es/kompaniya/terms-of-service>Términos de servicio</a></li> <li id=menu-item-153469 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153469"><a href=https://prohoster.info/es/kompaniya/privacy-policy>Política de privacidad</a></li> <li id=menu-item-153470 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-153470"><a href=https://prohoster.info/es/kompaniya/terms-of-service/#refund>Política de reembolso</a></li> <li id=menu-item-155022 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-155022"><a href=https://prohoster.info/es/kompaniya/data-centers>Centros de datos</a></li> <li id=menu-item-154840 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-154840"><a href=https://prohoster.info/es/kompaniya/service-level-agreement>SLA</a></li> <li id=menu-item-155009 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-155009"><a href="https://billing.prohoster.info/submitticket.php?step=2&deptid=1&language=english">Reportar abuso</a></li></ul></div></div><div id=custom_html-20 class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><style>.awards-wrapper-2{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:240px;margin:0
auto}.awards-wrapper-2
img{width:105px;height:auto;object-fit:contain}</style><div class=awards-wrapper-2> <a href=https://ru.hostings.info/prohoster.html target=_blank rel=nofollow> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://ru.hostings.info/informers/cache/730-11-blue.png alt="Opiniones de clientes en Hostings.info" title="Opiniones de clientes - se abrirá en una nueva ventana"> </a><a href=https://hostadvice.com/hosting-company/prohoster-reviews/ rel=nofollow target=_blank> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/2022-top25-dedicated-hosting.png alt="Opiniones sobre ProHoster"> </a></div></div></div></div><div class="col-md-3 col-sm-6 col-xs-12"><div id=nav_menu-11 class="widget widget_nav_menu"><h3 class="widget-title">Soporte</h3><div class=menu-menyu-v-futere-v-vidzhete-3-russkij-container><ul id=menu-menyu-v-futere-v-vidzhete-3-russkij class=menu><li id=menu-item-188 class="menu-btn-billing menu-item menu-item-type-custom menu-item-object-custom menu-item-188"><a rel=nofollow href=https://billing.prohoster.info/login>Panel de facturación</a></li> <li id=menu-item-189 class="menu-btn-mail menu-item menu-item-type-custom menu-item-object-custom menu-item-189"><a rel=nofollow href=mailto:support@prohoster.info>support@prohoster.info</a></li> <li id=menu-item-108822 class="menu-btn-location menu-item menu-item-type-custom menu-item-object-custom menu-item-108822"><a rel=nofollow href=#>Países Bajos, Meppel<br>Tulpenstraat, 6</a></li></ul></div></div><div id=custom_html-19 class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><style>.awards-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:340px;margin:0
auto}.awards-wrapper
img{width:105px;height:105px;object-fit:contain}</style><div class=awards-wrapper> <a href=https://hostadvice.com/hosting-company/prohoster-reviews/ rel=nofollow target=_blank> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/great-uptime.png alt="Opiniones sobre ProHoster"> </a><a href=https://hostadvice.com/hosting-company/prohoster-reviews/ target=_blank rel=nofollow> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/2021-top-10-shared-hosting.png alt="Opiniones sobre ProHoster"> </a><a href="https://sourceforge.net/software/product/ProHoster/?pk_campaign=badge&pk_source=vendor" target=_blank rel=nofollow> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/uploads/2025/05/top-performer.webp alt="Opiniones sobre ProHoster"> </a><a href=https://sourceforge.net/software/product/ProHoster/ target=_blank rel="noopener nofollow"> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src="https://b.sf-syn.com/badge_img/3473357/heart-badge-white?variant_id=sf&f=png" alt="Opiniones sobre ProHoster"> </a></div></div></div></div><div class="col-md-3 col-xs-12"><div id=custom_html-4 class="widget_text widget widget_custom_html"><h3 class="widget-title">Aceptamos</h3><div class="textwidget custom-html-widget"><style>.image-row{display:flex;flex-wrap:wrap;justify-content:space-between}.image-row
a{width:22%}.image-row
img{width:100%;height:auto}</style><div class=image-row> <a href="https://sci.interkassa.com/?ik_co_id=543d0639bf4efc2f41ec17a9&ik_pm_no=ID_4233&ik_am=50&ik_desc=EventDescription#/paysystem/bitcoin" rel=nofollow> <img style="width: 55px; height: 35px;" class="alignnone lazy" title="Aceptamos Bitcoin" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/ditcoin1.webp alt=ditcoin1> </a> <a href=https://www.bitcoincash.org/ru/ rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos Bitcoin-Cash" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/bitcoin-cash.webp alt=Bitcoin-Cash> </a> <a href=https://www.ethereum.org rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos Ethereum" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/ethereum.webp alt=Ethereum> </a> <a href=https://pay.google.com rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos GPay" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/gpay.webp alt=GPay> </a></div><div class=image-row> <a href=https://litecoin.org rel=nofollow> <img style="width: 55px; height: 35px;" class="alignnone lazy" title="Aceptamos Litecoin" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/litecoin.webp alt=Litecoin> </a> <a href=https://ripple.com rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos Ripple" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/ripple.webp alt=Ripple> </a> <a href=https://tether.to rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos USD-Tether" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/usd-tether.webp alt=USD-Tether> </a> <a href=https://z.cash rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos Zcash" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/zcash.webp alt=Zcash> </a></div><div class=image-row> <a href=https://www.visa.com rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos Visa" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/visa12.webp alt=visa1> </a> <a href=https://www.mastercard.com/index.html rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos MasterCard" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/master22.webp alt=master2> </a> <a href=https://payeer.com rel=nofollow> <img style="width: 55px; height: 35px;" title="Aceptamos Payeer" src=/wp-content/uploads/2025/05/payeer-logo22.webp alt="Payeer Logo2"> </a> <a href=# rel=nofollow> <img style="width: 55px; height: 35px;" class="alignnone lazy" title=" Aceptamos Crypto" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/cryptocom.webp alt=" Aceptamos Crypto"> </a></div><div class=image-row> <a href=https://apple.com rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos Apple Pay" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/apple-pay.webp alt="Apple Pay"> </a> <a href=https://www.paypal.com rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos PayPal" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/pay12.webp alt=Pay1> </a> <a href=https://perfectmoney.is rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos PerfectMoney" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/perfectmoney.webp alt=privat1> </a> <a href=https://advcash.com/ rel=nofollow> <img class=lazy style="width: 55px; height: 35px;" title="Aceptamos Advcash" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2025/05/advcash.webp alt=advcash> </a></div></div></div><div id=custom_html-25 class="widget_text widget widget_custom_html"><h3 class="widget-title">Únete a nosotros</h3><div class="textwidget custom-html-widget"><div class=social-links> <a href=https://www.youtube.com/@prohoster_info target=_blank rel=nofollow aria-label=YouTube> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/youtube-icon.webp alt=YouTube title="Estamos en YouTube"> </a> <a href=https://www.facebook.com/prohoster/ target=_blank rel=nofollow aria-label=Facebook> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/facebook-icon.webp alt=Facebook title="Estamos en Facebook"> </a> <a href=https://t.me/prohoster_news target=_blank rel=nofollow aria-label> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/telegram-icon.webp alt=Telegram title="Estamos en Telegram"> </a> <a href=https://www.tiktok.com/@prohoster.info target=_blank rel=nofollow aria-label=tiktok> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/tiktok1-icon.webp alt=tiktok title="Estamos en tiktok"> </a> <a href=https://bsky.app/profile/prohoster.bsky.social target=_blank rel=nofollow aria-label=Bluesky> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/bsky-icon.webp alt=Bluesky title="Estamos en Bluesky"> </a> <a href=https://band.us/@prohoster target=_blank rel=nofollow aria-label=Band> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/band-icon.webp alt=Band title="Estamos en Band"> </a> <a href=https://www.patreon.com/c/ProHoster target=_blank rel=nofollow aria-label=Patreon> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/patreon-icon.webp alt=Patreon title="Estamos en Patreon"> </a> <a href=https://mastodon.social/@ProHoster target=_blank rel=nofollow aria-label="Mastodon (mas.to)"> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/mas-icon.webp alt="Mastodon mas.to" title="Estamos en Mastodon (mas.to)"> </a> <a href=https://gitlab.com/ProHoster target=_blank rel=nofollow aria-label=GitLab> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/gitlab-icon.webp alt=GitLab title="Estamos en GitLab"> </a> <a href=https://www.twitch.tv/prohoster_info target=_blank rel=nofollow aria-label=Twitch> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/twitch-icon.webp alt=Twitch title="Estamos en Twitch"> </a> <a href=https://www.behance.net/prohoster_info target=_blank rel=nofollow aria-label=Behance> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/behance-icon.webp alt=Behance title="Estamos en Behance"> </a> <a href=https://substack.com/@prohosterinfo target=_blank rel=nofollow aria-label=Substack> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/substack2-icon.webp alt=Substack title="Estamos en Substack"> </a> <a href=https://ko-fi.com/prohoster_info target=_blank rel=nofollow aria-label=Kofi> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/kofi2-icon.webp alt=Kofi title="Estamos en Kofi"> </a> <a href=https://codepen.io/ProHoster target=_blank rel=nofollow aria-label=Codepen> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/codepen1-icon.webp alt=Codepen title="Estamos en Codepen"> </a></div><style>.social-links{display:grid;grid-template-columns:repeat(7, 1fr);gap:15px 10px;justify-items:center;max-width:500px;margin:0
auto}.social-links
img{width:28px;height:28px;object-fit:contain;transition:transform 0.2s ease}.social-links img:hover{transform:scale(1.15)}</style></div></div><div id=block-2 class="widget widget_block widget_text"><p class=wp-block-paragraph></p></div></div></div></div><div class=site-info><div class=container><div class=row><div class="col-md-12 text-center-xs"><div class="textwidget custom-html-widget"><img class=" lazy" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2088%2031%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/ripe-ncc-m.png alt=ripe-ncc-m width=88 height=31></div>	© 2014 - 2026<span class=sep> | </span>Todos los derechos reservados.</div></div></div></div></footer></div><template id=tp-language data-tp-language=es_ES></template><script type=speculationrules>{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/es/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/universal55x5old/*","/es/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script> <style>.ph2-tt-wrap{position:relative;display:inline-block;cursor:help}.ph2-tt-wrap .ph2-tt-box{display:none !important;position:absolute !important;bottom:125%;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:8px
10px;border-radius:4px;font-size:12px;line-height:1.4;width:240px;z-index:999;text-align:left;white-space:normal;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ph2-tt-wrap:hover .ph2-tt-box,
.ph2-tt-wrap.ph2-active .ph2-tt-box{display:block !important}.has-percent::after{content:"%"}</style> <script>document.addEventListener('click',function(e){document.querySelectorAll('.ph2-tt-wrap.ph2-active').forEach(function(el){if(!el.contains(e.target))el.classList.remove('ph2-active');});var wrap=e.target.closest('.ph2-tt-wrap');if(wrap){e.preventDefault();wrap.classList.toggle('ph2-active');}});</script> <script>function loadVideo(el){const videoId=el.dataset.id;const iframe=document.createElement("iframe");iframe.src=`https://www.youtube.com/embed/${videoId}?autoplay=1`;iframe.width="750";iframe.height="422";iframe.frameBorder="0";iframe.allow="autoplay; encrypted-media";iframe.allowFullscreen=true;el.innerHTML="";el.appendChild(iframe);}</script> <style>.youtube-placeholder{position:relative;width:100%;height:0;padding-bottom:56.25%;background-color:#000;cursor:pointer;overflow:hidden}.youtube-placeholder img,
.youtube-placeholder
iframe{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.youtube-placeholder .play-button{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:68px;height:48px;background:rgba(0, 0, 0, 0.6);border-radius:12px}.youtube-placeholder .play-button::before{content:'';position:absolute;left:26px;top:12px;width:0;height:0;border-left:16px solid white;border-top:10px solid transparent;border-bottom:10px solid transparent}</style><div class=mwai-chatbot-container data-params='{"aiName":"ProHoster Chat","userName":"User: ","guestName":"Guest:","aiAvatar":true,"aiAvatarUrl":"chat-robot-1.svg","textSend":"Send","textClear":"Clear","imageUpload":false,"fileUpload":false,"multiUpload":false,"maxUploads":1,"fileUploads":0,"mode":"chat","textInputPlaceholder":"Type your message...","textEmptyHint":"","textInputMaxLength":1500,"textCompliance":"","startSentence":"Hi! How can I help you?","localMemory":true,"themeId":"chatgpt","window":true,"icon":"","iconText":"ProHoster Agent","iconTextDelay":1,"iconTextDuration":0,"iconTextOnce":"session","iconAlt":"AI Engine Chatbot","iconPosition":"bottom-right","centerOpen":false,"width":"","openDelay":"","iconBubble":true,"windowAnimation":"zoom","fullscreen":false,"copyButton":true,"pdfButton":false,"headerSubtitle":"Discuss with ProHoster Agent","popupTitle":"ProHoster Agent","containerType":"standard","headerType":"standard","messagesType":"standard","inputType":"standard","footerType":"standard"}' data-system='{"botId":"default","customId":null,"userData":null,"sessionId":null,"restNonce":null,"contextId":36968,"pluginUrl":"https:\/\/prohoster.info\/wp-content\/plugins\/ai-engine","restUrl":"https:\/\/prohoster.info\/es\/wp-json","stream":true,"debugMode":false,"eventLogs":false,"speech_recognition":false,"speech_synthesis":false,"typewriter":false,"crossSite":false,"texts":{"Ask me anything!":"Ask me anything!","Jump to the latest message":"Jump to the latest message","Try again":"Try again","Conversation cleared.":"Conversation cleared.","Undo":"Undo","Done!":"Done!","New Chat":"New Chat","No messages yet":"No messages yet","Rename":"Rename","Delete":"Delete","Your text was cut at %d characters.":"Your text was cut at %d characters.","Hold to Talk":"Hold to Talk","Release to Send":"Release to Send","Press Space to talk":"Press Space to talk","Start session to upload images":"Start session to upload images","Usage limit exceeded":"Usage limit exceeded","Connection failed":"Connection failed","Connection failed. Please check your network and try again.":"Connection failed. Please check your network and try again.","Connection lost. Reconnecting...":"Connection lost. Reconnecting...","Connection lost while uploading image. Please try again.":"Connection lost while uploading image. Please try again.","Connection timeout: The server took too long to respond.":"Connection timeout: The server took too long to respond.","Could not start realtime session.":"Could not start realtime session.","An error occurred while starting the realtime session.":"An error occurred while starting the realtime session.","An error occurred while processing your request. Please try again.":"An error occurred while processing your request. Please try again.","An error occurred while committing the stats.":"An error occurred while committing the stats.","An error occurred while committing the discussion.":"An error occurred while committing the discussion.","An error occurred while executing the function.":"An error occurred while executing the function.","Authentication failed: Your session has expired. Please refresh the page.":"Authentication failed: Your session has expired. Please refresh the page.","Error uploading image. Please try again.":"Error uploading image. Please try again.","Failed to access microphone: ":"Failed to access microphone: ","Failed to access microphone. Please ensure microphone permissions are granted and try again.":"Failed to access microphone. Please ensure microphone permissions are granted and try again.","Failed to establish connection with OpenAI servers. Please try again.":"Failed to establish connection with OpenAI servers. Please try again.","Failed to read image file.":"Failed to read image file.","Failed to send image. Please try again.":"Failed to send image. Please try again.","Failed to upload image.":"Failed to upload image.","Image file size must be less than 20MB.":"Image file size must be less than 20MB.","Internal server error: An unexpected error occurred. Please try again.":"Internal server error: An unexpected error occurred. Please try again.","Invalid API key: Please check your OpenAI API key in settings.":"Invalid API key: Please check your OpenAI API key in settings.","Invalid request: The message format was not recognized by the server.":"Invalid request: The message format was not recognized by the server.","MediaDevices API not available. Please ensure you are using HTTPS and a modern browser.":"MediaDevices API not available. Please ensure you are using HTTPS and a modern browser.","Model overloaded: The AI model is currently experiencing high demand.":"Model overloaded: The AI model is currently experiencing high demand.","Network error: Failed to establish connection to the AI service.":"Network error: Failed to establish connection to the AI service.","Please select an image file.":"Please select an image file.","Please start a session before uploading images.":"Please start a session before uploading images.","Quota exceeded: You have reached your usage limit for this period.":"Quota exceeded: You have reached your usage limit for this period.","Rate limit exceeded: Too many requests. Please try again later.":"Rate limit exceeded: Too many requests. Please try again later.","Service unavailable: The AI service is temporarily down for maintenance.":"Service unavailable: The AI service is temporarily down for maintenance."},"actions":[],"blocks":[],"shortcuts":[]}' data-theme={"type":"internal","name":"ChatGPT","themeId":"chatgpt","settings":[],"style":"","cssUrl":"https:\/\/prohoster.info\/wp-content\/plugins\/ai-engine\/themes\/chatgpt.css"}></div><script id=trp-dynamic-translator-js-extra>var trp_data={"trp_custom_ajax_url":"https://prohoster.info/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php","trp_wp_ajax_url":"https://prohoster.info/wp-admin/admin-ajax.php","trp_language_to_query":"es_ES","trp_original_language":"ru_RU","trp_current_language":"es_ES","trp_skip_selectors":["[data-no-translation]","[data-no-dynamic-translation]","[data-trp-translate-id-innertext]","script","style","head","trp-span","translate-press","[data-trp-translate-id]","[data-trpgettextoriginal]","[data-trp-post-slug]"],"trp_base_selectors":["data-trp-translate-id","data-trpgettextoriginal","data-trp-post-slug"],"trp_attributes_selectors":{"text":{"accessor":"outertext","attribute":false},"block":{"accessor":"innertext","attribute":false},"image_src":{"selector":"img[src]","accessor":"src","attribute":true},"submit":{"selector":"input[type='submit'],input[type='button'], input[type='reset']","accessor":"value","attribute":true},"placeholder":{"selector":"input[placeholder],textarea[placeholder]","accessor":"placeholder","attribute":true},"title":{"selector":"[title]","accessor":"title","attribute":true},"a_href":{"selector":"a[href]","accessor":"href","attribute":true},"button":{"accessor":"outertext","attribute":false},"option":{"accessor":"innertext","attribute":false},"aria_label":{"selector":"[aria-label]","accessor":"aria-label","attribute":true},"video_src":{"selector":"video[src]","accessor":"src","attribute":true},"video_poster":{"selector":"video[poster]","accessor":"poster","attribute":true},"video_source_src":{"selector":"video source[src]","accessor":"src","attribute":true},"audio_src":{"selector":"audio[src]","accessor":"src","attribute":true},"audio_source_src":{"selector":"audio source[src]","accessor":"src","attribute":true},"picture_image_src":{"selector":"picture image[src]","accessor":"src","attribute":true},"picture_source_srcset":{"selector":"picture source[srcset]","accessor":"srcset","attribute":true},"image_alt":{"selector":"img[alt]","accessor":"alt","attribute":true},"meta_desc":{"selector":"meta[name=\"description\"],meta[property=\"og:title\"],meta[property=\"og:description\"],meta[property=\"og:site_name\"],meta[property=\"og:image:alt\"],meta[name=\"twitter:title\"],meta[name=\"twitter:description\"],meta[name=\"twitter:image:alt\"],meta[name=\"DC.Title\"],meta[name=\"DC.Description\"],meta[property=\"article:section\"],meta[property=\"article:tag\"]","accessor":"content","attribute":true},"page_title":{"selector":"title","accessor":"innertext","attribute":false},"meta_desc_img":{"selector":"meta[property=\"og:image\"],meta[property=\"og:image:secure_url\"],meta[name=\"twitter:image\"]","accessor":"content","attribute":true}},"trp_attributes_accessors":["outertext","innertext","src","value","placeholder","title","href","aria-label","poster","srcset","alt","content"],"gettranslationsnonceregular":"0c02acffe5","showdynamiccontentbeforetranslation":"","skip_strings_from_dynamic_translation":[],"skip_strings_from_dynamic_translation_for_substrings":{"href":["amazon-adsystem","googleads","g.doubleclick"]},"duplicate_detections_allowed":"100","trp_translate_numerals_opt":"no","trp_no_auto_translation_selectors":["[data-no-auto-translation]"]};</script> <script id=trp-dynamic-translator-js src="https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/js/trp-translate-dom-changes.js?ver=3.3.6"></script> <script id=react-js src="https://prohoster.info/wp-includes/js/dist/vendor/react.min.js?ver=18.3.1.1"></script> <script id=react-dom-js src="https://prohoster.info/wp-includes/js/dist/vendor/react-dom.min.js?ver=18.3.1.1"></script> <script id=wp-escape-html-js src="https://prohoster.info/wp-includes/js/dist/escape-html.min.js?ver=87ebe53e97bba59805a5"></script> <script id=wp-element-js src="https://prohoster.info/wp-includes/js/dist/element.min.js?ver=4a4370b2b349066fd440"></script> <script id=mwai_chatbot-js defer src="https://prohoster.info/wp-content/plugins/ai-engine/app/chatbot.js?ver=1790364704"></script> <script id=mwai_highlight-js defer src="https://prohoster.info/wp-content/plugins/ai-engine/vendor/highlightjs/highlight.min.js?ver=11.7"></script> <script id=gt_widget_script_79327512-js-before>window.gtranslateSettings=window.gtranslateSettings||{};window.gtranslateSettings['79327512']={"default_language":"ru","languages":["af","am","ar","be","bn","bs","zh-CN","zh-TW","hr","cs","da","nl","fi","fr","ka","el","iw","hu","is","id","ja","kk","ko","ky","lv","lt","mn","my","no","fa","pt","ro","ru","sk","sl","sw","sv","th","tr","uk","uz","vi"],"url_structure":"sub_directory","flag_style":"2d","flag_size":24,"wrapper_selector":"#gt-wrapper-79327512","alt_flags":[],"custom_css":".gtranslate_wrapper .gt_option {position: absolute;float: right;}","horizontal_position":"inline","flags_location":"\/wp-content\/plugins\/gtranslate\/flags\/"};</script><script data-lazy=w3tc data-src="https://prohoster.info/wp-content/plugins/gtranslate/js/popup.js?ver=5.0.1" data-no-optimize=1 data-no-minify=1 data-gt-orig-url=/es/blog/administrirovanie/sposoby-integratsii-s-1s data-gt-orig-domain=prohoster.info data-gt-widget-id=79327512 defer></script><script>document.getElementById('burger').addEventListener('click',function(){document.getElementById('mainNav').classList.toggle('open');});document.querySelectorAll('.submenu-toggle').forEach(function(btn){btn.addEventListener('click',function(e){e.preventDefault();const parent=btn.closest('.has-submenu');const submenu=parent.querySelector('.submenu');const isOpen=parent.classList.toggle('open');if(isOpen){submenu.style.display='block';btn.textContent='◀';}else{submenu.style.display='none';btn.textContent='▼';}});});</script> <script>document.addEventListener("DOMContentLoaded",function(){const hamburgerBtn=document.querySelector(".gamburger-btn");const primaryMenu=document.querySelector("ul#primary-menu");if(hamburgerBtn&&primaryMenu){hamburgerBtn.addEventListener("click",function(event){event.preventDefault();this.classList.toggle("gamburger-btn_active");primaryMenu.classList.toggle("active_primary");});}
const mobileSidebar=document.getElementById("mobile_sidebar");const secondaryAside=document.querySelector("aside#secondary");if(mobileSidebar&&secondaryAside){mobileSidebar.addEventListener("click",function(){this.classList.toggle("open_mobile_sidebar");secondaryAside.classList.toggle("open_secondary");});}});</script> <script>document.addEventListener("DOMContentLoaded",function(){const masthead=document.getElementById("masthead");function toggleHeaderFixed(){const isDesktop=window.innerWidth>991;const scrollTop=window.scrollY;if(masthead){if(isDesktop){if(scrollTop>150){masthead.classList.add("header-fixed");}else{masthead.classList.remove("header-fixed");}}else{masthead.classList.remove("header-fixed");}}}
window.addEventListener("scroll",toggleHeaderFixed);window.addEventListener("resize",toggleHeaderFixed);toggleHeaderFixed();});</script> <div id=cookie-data-source style="display:none !important;"> <span class=src-text>Usamos cookies <a target=_blank rel=nofollow href=https://prohoster.info/es/kompaniya/privacy-policy/#cookie>cookies</a>, para garantizar la mejor experiencia en nuestro sitio. Al continuar utilizando el sitio, aceptas nuestra política de privacidad.</span> <span class=src-btn>Aceptar</span></div> <script>(function(){const cookieName='user_cookies_accepted';if(localStorage.getItem(cookieName))return;setTimeout(function(){const dataSource=document.getElementById('cookie-data-source');if(!dataSource)return;const textContent=dataSource.querySelector('.src-text').innerHTML;const btnContent=dataSource.querySelector('.src-btn').innerText;const styles=`

            `;const styleSheet=document.createElement("style");styleSheet.innerText=styles;document.head.appendChild(styleSheet);const finalHtml=`
                <div id=cookie-banner>
                    <div class=cookie-container>
                        <div class=cookie-text>${textContent}</div>
                        <button id=accept-cookies class=cookie-btn>${btnContent}</button>
                    </div>
                </div>
            `;document.body.insertAdjacentHTML('beforeend',finalHtml);const banner=document.getElementById('cookie-banner');const btn=document.getElementById('accept-cookies');setTimeout(()=>{banner.classList.add('show');},100);btn.addEventListener('click',function(){localStorage.setItem(cookieName,'true');banner.classList.remove('show');setTimeout(()=>{banner.remove();},500);});},2000);})();</script> <div id=gt-text-source style="position:absolute; left:-9999px; top:-9999px; opacity:0;"> <span id=gt-org-desc>Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS</span> <span id=gt-page-name>🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster</span></div> <script>(function(){function injectSchemas(){if(document.getElementById('added-org-schema'))return;var orgDesc=document.getElementById('gt-org-desc').innerText;var pageName=document.getElementById('gt-page-name').innerText;var schemas=[{"@context":"https://schema.org","@type":"Organization","id":"added-org-schema","name":"ProHoster","url":"https://prohoster.info/","logo":"https://prohoster.info/wp-content/uploads/2019/08/logo_prohoster.png","email":"support@prohoster.info","description":orgDesc,"address":{"@type":"PostalAddress","streetAddress":"Tulpenstraat, 6","addressLocality":"Meppel","postalCode":"7943 DN","addressCountry":"NL"},"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.85","reviewCount":"1297","bestRating":"5","worstRating":"1"},"sameAs":["https://hostadvice.com/hosting-company/prohoster-reviews/","https://facebook.com/prohoster","https://twitter.com/prohoster","https://www.instagram.com/prohoster.info/","https://www.tiktok.com/@prohoster.info","https://www.youtube.com/@prohoster_info","https://www.linkedin.com/company/prohoster"]},{"@context":"https://schema.org","@type":"WebPage","name":pageName,"url":window.location.href}];schemas.forEach(function(s){var script=document.createElement('script');script.type='application/ld+json';if(s.id)script.id=s.id;script.text=JSON.stringify(s);document.head.appendChild(script);});}
var checkTimer=setInterval(function(){var currentLang=document.documentElement.lang||document.querySelector('html').getAttribute('lang');var text=document.getElementById('gt-org-desc').innerText;if(!/[а-яА-Я]/.test(text)||currentLang!=='ru'){injectSchemas();clearInterval(checkTimer);}},500);setTimeout(function(){injectSchemas();clearInterval(checkTimer);},4000);})();</script> <script>function w3tc_ll_observe(ll){if(!ll||!ll.update)return;var t;new MutationObserver(function(){clearTimeout(t);t=setTimeout(function(){ll.update();},200);}).observe(document.documentElement,{childList:true,subtree:true});}window.addEventListener("LazyLoad::Initialized",function(e){setTimeout(function(){window.w3tc_lazyload=e.detail.instance;w3tc_ll_observe(window.w3tc_lazyload);},1);});window.w3tc_lazyload=1,window.lazyLoadOptions={elements_selector:".lazy",callback_loaded:function(t){var e;try{e=new CustomEvent("w3tc_lazyload_loaded",{detail:{e:t}})}catch(a){(e=document.createEvent("CustomEvent")).initCustomEvent("w3tc_lazyload_loaded",!1,!1,{e:t})}window.dispatchEvent(e)}}</script><script async src=https://prohoster.info/wp-content/plugins/w3-total-cache/pub/js/lazyload.min.js></script><script>(function(w,k,o){var t=setTimeout(f,5000);k.forEach(function(e){w.addEventListener(e,f,o);});function f(){document.querySelectorAll("script[data-lazy='w3tc']").forEach(function(i){i.src=i.dataset.src;});clearTimeout(t);k.forEach(function(e){w.removeEventListener(e,f,o);});}})(window,["keydown","mouseover","touchmove","touchstart","wheel"],{passive:!0,});</script></body></html>