Menú
Está libre
registro
hogar  /  Instalacion y configuracion/ Trabajos de rutina y en segundo plano (1Cv8). Proceso de trabajo en segundo plano Terminado anormalmente Flujo de trabajo en segundo plano 8.3

Trabajos de rutina y en segundo plano (1Cv8). Proceso de trabajo en segundo plano Terminado anormalmente Flujo de trabajo en segundo plano 8.3

En este artículo describiré mi, hasta ahora pequeña, experiencia en la organización del intercambio de datos a través del formato universal EnterpriseData.

En mi caso, el intercambio se configura entre las configuraciones "Trade Management 11.2" (en adelante UT) y "Enterprise Accounting 3.0.43" (en adelante BP). El intercambio es unidireccional, de UT a BP. Antes de la actualización de Trade Management 11.1 a la versión 11.2, el intercambio de datos se configuraba mediante la configuración de Conversión de datos 2.0. Sin embargo, después de cambiar a "11.2" en "Gestión comercial", aparecieron errores en el trabajo de los usuarios. Se llevó a cabo el procedimiento de actualización de las reglas de cambio, pero este no dio resultado. El depurador mostró que el problema era la comunicación. Se decidió eliminar la configuración de comunicación en ambas configuraciones y volver a configurarla.

Tanto la "Gestión comercial" como la "Contabilidad empresarial" funcionan para nosotros en una versión cliente-servidor. Comencé a configurar la sincronización con UT. Lo ejecuté de tal manera que los datos se descargaron de UT a un archivo. Es decir, sincronización a través de un directorio de red. En la unidad de fuente de alimentación, configuro el intercambio de tal manera que no se descarguen datos de la unidad de fuente de alimentación.

Ocurrió un error al llamar al método de contexto (Verificar): Error al verificar los datos XDTO:
La estructura del objeto "/ Cuenta bancaria / Banco de la contraparte" no corresponde al tipo: (http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.1)
Comprobando la propiedad "BIC":
Forma: Elemento
nombre: (http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.1) BIC
tipo de:
Falta la propiedad requerida
Objeto: Contrato con contraparte No. ...

Para analizar el error, hice clic en el icono "Composición de los datos a enviar" y en la lista de contratistas registrados para el envío, encontré un acuerdo bajo el cual aparecía un error. Abrió un contrato, recordó la cuenta bancaria de la contraparte especificada en el contrato. Luego fui a las cuentas bancarias registradas para el envío. Resultó que la cuenta requerida no estaba en la lista de registrados. Volví a publicar la cuenta bancaria y el contrato problemáticos. Después de eso, registré manualmente la cuenta bancaria requerida.

Intenté sincronizar datos de UT nuevamente. Esta vez, los datos se descargaron correctamente. Se generó un archivo XML en la carpeta de red que contiene datos para transferir desde UT a BP.

El siguiente paso es cargar datos de un archivo en el Departamento de Contabilidad Empresarial. En la configuración de "Contabilidad empresarial", presioné el botón "Sincronizar", se abrió un formulario de procesamiento con el mensaje "Análisis de datos en curso". Un poco más tarde, el mensaje cambió a "Descargando datos". Al mismo tiempo, el indicador y el contador mostraron que se estaban descargando más de 80 mil objetos de la unidad de alimentación. Esto me confundió, porque indiqué en la configuración que no se debe descargar nada de la unidad de fuente de alimentación. El procesamiento tomó mucho tiempo y terminó con un error:

Evento: intercambio de datos
(SharedModule.LongedOperations.Module (371)): el flujo de trabajo del trabajo en segundo plano finalizó de forma anormal
CallException (ErrorText);

Para localizar el error, intenté cambiar la configuración de sincronización y las opciones de operación de la base de BP. Como resultado, cuando cambié la base de datos a la versión de archivo, el sistema funcionó adecuadamente: se abrió un formulario para comparar dos bases de datos. Una vez mapeados los objetos, la sincronización inicial se realizó correctamente. Luego cambié la base de datos a la versión cliente-servidor.

Durante la posterior "ejecución" de la sincronización, fue necesario realizar algunos cambios en las reglas para convertir objetos. Ahora es el momento de utilizar la configuración de Conversión de datos 3.0. La ayuda de configuración en línea describe cómo trabajar. Los artículos en el sitio web de ITS también ayudaron.

Como resultado, cargué los siguientes datos en "Conversión de datos 3.0":

  • Textos del módulo común "DataExchangeManagerViaUniversalFormat" a partir de dos bases
  • Esquema de ambas bases
  • Descripción del formato EnterpriseData (de cualquier base de datos)
  • Reglas de conversión

Después de cargar, abrí las reglas para convertir datos, objetos, propiedades en "Conversión de datos 3.0". Hice las ediciones que necesitaba. Luego utilicé el botón "Descargar módulo administrador de intercambio". El texto del módulo se ha copiado al portapapeles. Solo queda insertarlo en la configuración.

Habiendo experimentado con el establecimiento de las reglas en "Conversión de datos 3.0", llegué a la conclusión de que en el caso de que los cambios realizados sean insignificantes, es más fácil establecer las reglas directamente en las configuraciones de UT y BP, en el módulo general "DataExchange ManagerVia UniversalFormat ". Si las ediciones son serias, como, por ejemplo, agregar un nuevo objeto al intercambio, entonces debe usar la configuración " Conversión de datos 3.0 ".

Realicé la tarea de agregar el documento "Pedido al proveedor" al plan de intercambio usando " Conversión de datos 3.0 ". En la versión estándar de UT - BP, este documento no está en el plan de intercambio.

Recuerde que las reglas de registro de objetos para su descarga aún están configuradas en la configuración "Conversión de datos 2.0".

Estas son las primeras impresiones de la sincronización de datos a través del formato universal EnterpriseData.

PD Si tiene preguntas y sus propias observaciones sobre el intercambio de datos a través del Formato y Configuración Universal " Conversión de datos 3.0 ", escribe en los comentarios. Intercambiaremos experiencias.

  • Sincronización de datos
  • Formato genérico de datos empresariales
  • Conversión de datos 3.0
  • Conversión de datos 2.0
  • Gestión comercial
  • Contabilidad empresarial

Nos permite realizar cualquier cálculo en el sistema sin que el usuario se dé cuenta, es decir, en segundo plano. Además, este mecanismo nos permite paralelizar el proceso de cálculo. Incluso podemos paralelizar el procedimiento que se ejecutará. Para hacer esto, nuestro trabajo en segundo plano necesita ejecutar algunos trabajos en segundo plano más. En este caso, los procesos se paralelizan y, si tenemos un sistema multiprocesador, multinúcleo, nuestro algoritmo funcionará de manera eficiente. Después de iniciar varios procesos, podemos decirle al sistema que es necesario esperar hasta la finalización de estos procesos para luego reducir de alguna manera el resultado.

Por ejemplo, en configuraciones típicas, mientras el usuario está trabajando, se realizan varios tipos de trabajos en segundo plano del servicio. Esto puede ser evidenciado por las entradas en el registro de registro, que registra el hecho de tales acciones. Además, esto no afecta el trabajo del usuario de ninguna manera, simplemente no los nota.

Idealmente, el trabajo en segundo plano se implementa en la versión cliente-servidor, en cuyo caso toda la carga va al servidor. En cuanto a la opción de archivo, el trabajo en segundo plano es posible, pero tiene algunas peculiaridades.

Esto es lo que dará el sistema si no tiene en cuenta estas características y comienza una tarea en segundo plano en la versión del archivo de la base de datos.


El trabajo en segundo plano de 1C tiene algunas limitaciones. Dado que se ejecuta en el lado del servidor, no hay una experiencia de usuario interactiva. Por ejemplo, no puede mostrar un mensaje ni ninguna información. Todos estos datos deben almacenarse dentro de la base de datos y procesarse posteriormente de alguna manera.
Al ponerse en contacto con el asistente de sintaxis, puede obtener información más detallada sobre los trabajos en segundo plano de 1C. Cabe señalar aquí que este es un objeto puramente programático y no se almacena en la base de datos de ninguna manera. Es decir, creamos una instancia de la clase, inicializamos las propiedades y la lanzamos para su ejecución.

¿Qué herramientas tenemos para gestionar trabajos en segundo plano? Esta instalación es un objeto de metadatos. "BackdropManager"... Este objeto tiene un método "Correr", con este método, se inicia el trabajo en segundo plano.

Tiene los siguientes parámetros:
"MethodName"- el nombre del procedimiento o función a ejecutar, y debe ser un procedimiento o función del contexto del servidor;

"Opciones"- una matriz de parámetros, el número de elementos de los cuales debe corresponder al número de parámetros de nuestro procedimiento / función especificado en el parámetro "MethodName";

"Llave"- una cierta clave de unicidad, que es una línea mediante la cual el sistema comprende si es necesario iniciar una tarea en segundo plano o si ya se ha iniciado dicha tarea;

"Nombre"- aquí puede especificar una descripción arbitraria de nuestro método.

El valor de retorno es un objeto. "BackgroundJob" que contiene el nombre actual del método, la clave actual y algunas propiedades y métodos más. Uno de estos métodos es el método "Esperar la finalización"... Su propósito es que podamos decirle al sistema que no haga nada hasta que se complete el trabajo en segundo plano.

Tarea de fondo 1C 8.2, 8.3 - Ejemplo de uso

Démosle un ejemplo de cómo trabajar con trabajos en segundo plano de 1C. Primero, crearemos un algoritmo simple que cargará brevemente el sistema 1C de tal manera que no podamos hacer nada en este momento.

Para esto:

1. Creemos un módulo general "Controladores de trabajos en segundo plano" que se compilará en el lado del servidor;


2. Describamos el procedimiento de exportación en él. "PerformBackgroundCalculation (parámetro)" que toma un parámetro de un tipo de cadena;

Procedimiento ProduceBackgroundCalculation (parámetro) ExportStartTime = CurrentDate (); Mientras CurrentDate () - TimeStart< = 6 Цикл КонецЦикла ; КонецПроцедуры Процедура КнНажатие() ОбработчикиФоновыхЗаданий. ПроизветиФоновоеВычисление("Algún parámetro"); Fin del procedimiento
Listo. Ahora, cuando comienza a procesar y presiona el botón, el sistema se congela durante unos segundos, durante los cuales no se puede hacer nada. Eso es exactamente lo que teníamos que hacer.

Ahora nos aseguraremos de que estos cálculos se realicen en segundo plano, es decir, para que se realice la tarea en segundo plano 1C 8.2, 8.3, pero no nos moleste.

Para esto:

1. En proceso, en caso de presionar el botón, escriba el siguiente código.

Procedimiento KnNazenie () Parámetros = Nueva matriz; Opciones. Agregar( "Algún parámetro"); Trabajo en segundo plano. Ejecutar ( "BackgroundJob Handlers.Produce yBackgroundCompute", Parámetros, New UniqueIdentifier, "Prueba"); Fin del procedimiento

Aquí, como primer parámetro, pasamos el nombre del procedimiento del módulo general y el segundo, una matriz de parámetros. El tercer parámetro es una clave única y el cuarto es una descripción de nuestro procedimiento.

El problema no es nuevo y se discute de vez en cuando en todo tipo de foros de 1C. La solución más simple y popular es reiniciar el servidor 1C. Desafortunadamente, esta opción no siempre es aceptable o muy indeseable. En tal caso, existen soluciones más delicadas.

Aquí uno de estos métodos en forma de una breve instrucción paso a paso:

1. Usando la consola de administración del servidor 1C, buscamos un archivo problemáticouna nueva tarea en la lista de conexiones (por ejemplo, por la hora de inicio de su trabajo, en comparación con la hora de inicio de una tarea programada en la consola de tareas). Definimosel flujo de trabajo que contiene la conexión colgada.

2. Abra las propiedades de este proceso y márquelo como no utilizado (si solo se usa un proceso, primero debe crear un nuevo flujo de trabajo para que todas las conexiones activas se vuelvan a conectar). Recordamos el número PID de este proceso.


3. Estamos esperando que todas las conexiones actuales pasen del proceso desconectado a uno de los usados. En última instancia, solo las conexiones problemáticas deben permanecer en nuestro proceso, que queremos eliminar.

4. En la computadora con el servidor 1C, usando el administrador de tareas, buscamos el proceso rphost.exe correspondiente por el PID del proceso de trabajador discapacitado y lo eliminamos.

5 ... Por si acaso, puede eliminar el flujo de trabajo de 1C que hemos deshabilitado con la publicación de administrador. consola y, si es necesario, cree una nueva.

6... Listo. Puede ingresar a la consola de trabajos y verificar el desempeño del trabajo programado.

Concepto de programación asincrónica

El concepto de programación asincrónica es que el resultado de la ejecución de la función no está disponible inmediatamente, sino después de un tiempo en forma de alguna llamada asincrónica (rompiendo el orden de ejecución habitual).

Aquellos. La idea principal de la programación asincrónica es ejecutar llamadas de método separadas y continuar haciendo otro trabajo en paralelo sin esperar a que finalicen las llamadas.

Algunos métodos, cuya probabilidad de excepciones se minimiza, no necesitan un enfoque asincrónico, pero otros sí lo requieren al comienzo del desarrollo.

Como puede verse en los gráficos, el coeficiente de acciones interactivas útiles del usuario en el modelo de programación síncrono está ausente, ya que el sistema bloquea la interfaz de usuario, mientras que en el modelo asíncrono, el usuario continúa trabajando activamente en el sistema.

Cuando se ejecuta sincrónicamente, la aplicación solo tiene un hilo. Con el modelo de programación asincrónica, puede iniciar muchos subprocesos simultáneos y reaccionar a las nuevas acciones de los usuarios a medida que se ejecutan. Una vez finalizado el n-thread, muestra el resultado en la pantalla.

Tareas en segundo plano en "1C: Enterprise 8"

En 1C: Enterprise 8, los trabajos en segundo plano están diseñados para realizar tareas aplicadas de forma asincrónica. Pueden generar trabajos secundarios en segundo plano, por ejemplo, para paralelizar cálculos complejos en diferentes servidores de trabajo del clúster de una manera cliente-servidor.

Es posible restringir la ejecución de trabajos en segundo plano que tengan los mismos métodos, según un criterio de aplicación específico. La creación y gestión programática de trabajos en segundo plano es posible desde cualquier conexión de usuario a la base de información del sistema. El trabajo en segundo plano se ejecuta en nombre del usuario que lo creó.

El mecanismo de tareas funciona tanto en el modo cliente-servidor como en el modo de operación de archivo, pero las posibilidades de administración y ejecución de tareas en ambas opciones son ligeramente diferentes.

Opción cliente-servidor

En la versión cliente-servidor, la programación de tareas es manejada por el programador de tareas, que está ubicado físicamente en el administrador de clústeres.

El programador comprueba periódicamente si hay solicitudes de trabajos en segundo plano. Si hay tareas que realizar, el programador identifica los procesos de trabajo del clúster menos cargados y asigna secuencialmente a cada uno de ellos su propia tarea a ejecutar. Por lo tanto, el mismo flujo de trabajo puede ejecutar varios trabajos en paralelo. Una vez que el flujo de trabajo recibe la tarea, el flujo de trabajo establece una conexión con la base de datos y ejecuta la tarea dentro de esta conexión. Una vez finalizado el trabajo, el flujo de trabajo notifica al planificador del éxito o el fracaso del trabajo.

Opción de archivo

A partir de la versión 8.3.3.641 de la plataforma, los desarrolladores han simplificado enormemente el trabajo con trabajos en segundo plano en la versión del archivo.

Anteriormente, la ejecución automática de tareas requería iniciar una sesión 1C: Enterprise adicional separada que se usaba como un programador de tareas. Y en esta sesión, fue necesario ejecutar periódicamente el método de lenguaje embebido ExecuteJobProcessing (). Este enfoque era bastante engorroso, inconveniente y limitaba severamente el uso de trabajos en segundo plano y programados en el modo de operación de archivo.

Ahora todo se ha vuelto mucho más fácil. Si se inicia un cliente delgado o pesado, o si el servidor web tiene conexiones de cliente, en cada una de estas aplicaciones se lanza automáticamente otro hilo con una conexión a la base de datos. Estos hilos son responsables de realizar trabajos en segundo plano y programados.

Cada una de las aplicaciones enumeradas tiene sus propios trabajos en segundo plano. Si la aplicación ha iniciado varios trabajos en segundo plano, estos se ejecutan secuencialmente, en el orden en que se reciben.

Una desventaja obvia de los trabajos de fondo 1C: dado que se ejecutan en el lado del servidor, no hay posibilidad de trabajo interactivo con el usuario (por ejemplo, no puede mostrar un mensaje o cualquier otra información; todos estos datos deben almacenarse dentro de la base de datos y procesarse posteriormente de alguna manera) .

Cabe señalar que los trabajos en segundo plano son objetos puramente programáticos y no se pueden guardar en la base de datos. Es decir, solo podemos crear una instancia de la clase, inicializar sus propiedades y lanzarla para su ejecución.

Un ejemplo de ejecución de código asincrónico en 1C: Enterprise 8

“Escribir programas en los que el resultado de una llamada a una función llega en una fecha desconocida es mucho más difícil de lo habitual. Llamadas anidadas, manejo de errores, control sobre lo que está sucediendo, todo se vuelve más complicado ”, solo aquellos que no saben cómo usar correctamente las capacidades de la plataforma dirán esto, ¡pero nosotros no!

¡Demostremos toda la simplicidad y la gracia de la ejecución de código asincrónico en 1C: Enterprise 8!

Paso 1. Creemos una nueva seguridad de la información para el desarrollo de la configuración.

Paso 2. En la configuración, agregue un módulo común "AsynchronousHandlers"

¿Por qué agregamos un módulo común? Aquí todo es simple: para realizar operaciones asincrónicas en "1C: Enterprise 8" se utilizan tareas en segundo plano, que tienen su propio administrador - "BackgroundJobs Manager". Este objeto tiene el método Run, que se utiliza para iniciar el trabajo en segundo plano.

Pasemos al ayudante de sintaxis.

Por tanto, necesitamos un módulo común.

Paso 3. En el módulo general "AysynchronousProcessors" agregaremos el procedimiento de exportación OurLongedOperation ()

Procedimiento OurLongedOperation (Duración) Exportación // Simulación de funcionamiento continuo (Duración seg.). OperationStartDate = CurrentDate (); While CurrentDate () - Fecha de inicio de la operación< Длительность Цикл КонецЦикла; КонецПроцедуры

Paso 4. Agregue el procesamiento "AsynchronousProgrammingConcept" a la configuración (puede crear un procesamiento externo)

Agregue uno de los accesorios al formulario:

Duración (número)

y dos equipos

Realice una operación larga;

ExecuteLongOperationAsynchronously.

Paso 5. De acuerdo con el ayudante de sintaxis, complete el módulo de formulario

& En el procedimiento de cliente ExecuteLongOperation (comando) ExecuteLongOperationAtServer (); EndProcedure & AtServer Procedimiento ExecuteLongServerOperation () AsynchronousHandlers.OurLongOperation (Duración); EndProcedure & OnClient Procedimiento ExecuteLongOperationAsynchronously (Comando) ExecuteLongOperationAsynchronouslyAtServer (); EndProcedure & AtServer Procedimiento ExecuteLongOperationAsynchronouslyOnServer () Parámetros = Nueva matriz; Opciones.Añadir (Duración); BackgroundJobs.Run ("AsynchronousHandlers.OurLongOperation", Parámetros, New UniqueIdentifier, "Un ejemplo de un concepto de programación asincrónica"); Fin del procedimiento

Paso 6.¡Vamos a lanzar y comprobar!

Resultado:

Si hacemos clic en el botón "Realizar una operación larga", la interfaz de usuario se bloquea durante segundos de "Duración";

Si hacemos clic en el botón "Ejecutar una operación larga de forma asincrónica", la interfaz de usuario no se bloquea, pero el código del programa se ejecuta en paralelo.

Podemos verificar que el código del programa se ejecuta de forma asincrónica mirando el registro.

Podemos depurar el código del programa que se ejecuta en "segundo plano" si configuramos la propiedad correspondiente en los parámetros de depuración.

Un ejemplo de ejecución de código asíncrono en 1C: Enterprise 8 usando BSP

Un ejemplo de la implementación de un concepto de programación asincrónica en "1C: Enterprise 8" en el BSP se considerará en el ejemplo de procesamiento de "Actualidad".

La lógica es la siguiente: durante el inicio del programa, se inicializa el área de trabajo de la página de inicio, donde se puede visualizar el formulario de procesamiento "Asuntos de actualidad". Este formulario contiene información sobre la actualidad del usuario y lleva tiempo completarlo. Si los desarrolladores no tuvieran la oportunidad de ejecutar el código de forma asincrónica, entonces la interfaz de usuario estaría bloqueada durante todo el tiempo de completar el formulario de procesamiento.

Analicemos el código de programa del formulario.

El evento de la forma "OnCreateAtServer" llama al procedimiento "RunBackgroundJob" - esto es lo que necesitamos.

Sin distraernos con los matices, analizamos este procedimiento

Y aquí podemos ver que se utilizan el administrador de trabajos en segundo plano y su método Run. Tenga en cuenta que los desarrolladores mantienen una identificación única para el trabajo en segundo plano.

Para ello, los desarrolladores utilizan el método ConnectWaitingHandler (<ИмяПроцедуры>, <Интервал>, <Однократно>).



En un procedimiento conectable Connectable_VerifyJobProcessing () los desarrolladores llaman a una función Trabajo completado (ID de trabajo)


Esta función verifica la ejecución del trabajo en segundo plano por identificador.

Cabe señalar que BSP ha desarrollado módulos comunes para respaldar el funcionamiento de las operaciones del servidor a largo plazo.

Así, el concepto de programación asincrónica en 1C: Enterprise 8 aumenta levemente la complejidad de la resolución de problemas para el desarrollador, pero mejora notablemente la funcionalidad del programa desde el punto de vista del usuario.

Probablemente ni una sola configuración seria en 1C 8.3 o 8.2 pueda prescindir del uso de trabajos programados y en segundo plano. Son muy convenientes, ya que se ejecutarán de acuerdo con un horario claramente definido sin la intervención del usuario o del programador.

Por ejemplo, necesita intercambiar datos con otro programa una vez al día. Con las tareas programadas y en segundo plano, 1C podrá realizar estas acciones por sí solo, por ejemplo, fuera de las horas de trabajo. Este método no afectará la experiencia del usuario de ninguna manera y ayudará a ahorrar tiempo.

Primero, averigüemos qué significan y cuál es su diferencia:

  • Tarea de rutina le permite ejecutar acciones específicas en un horario preconfigurado.
  • Trabajo en segundo plano Es un objeto que contiene las acciones a realizar.

Supongamos que nuestra empresa vende algo y tiene su propio sitio web con precios. Queremos descargarlos una vez al día para mantener su relevancia.

Abra la configuración y agregue un trabajo programado.

Configuración de propiedades

Consideremos los parámetros más importantes que deben completarse en sus propiedades.

  • En campo " Nombre del método»Se selecciona el procedimiento de un determinado módulo general, que se ejecutará directamente. Indicará todas las acciones para subir precios a nuestro sitio. Tenga en cuenta que la ejecución se llevará a cabo en el servidor. Esto es lógico, porque las operaciones de rutina se realizan sin la intervención del usuario.
  • El trabajo programado puede desactivarse o activarse según sea necesario. No tienes que cambiar su horario cada vez. Para hacer esto, establezca o desmarque el " Uso».
  • Otra cosa importante es la configuración de si esta tarea programada será predeterminado, o no. Los trabajos programados predefinidos se inician automáticamente. Si este signo no está configurado, deberá ejecutarlo mediante programación o utilizar el procesamiento de la "Consola de tareas" de ITS.
  • También puede especificar el número de repeticiones y el intervalo entre ellas sobre terminación anormal. La terminación anormal se refiere a aquellas situaciones en las que las tareas no funcionaron debido a un error.

Programación de configuración

El último paso es configurar el cronograma para nuestra carga en el sitio utilizando el hipervínculo correspondiente en la paleta de propiedades.

Verá una configuración de programación típica en 1C 8.3. Aquí no hay nada difícil. Como parte de este ejemplo, configuramos el lanzamiento de nuestra descarga de precios en el sitio todos los días de cinco a siete de la mañana. En el caso de que la tarea programada no tenga tiempo de resolverse antes de las 7:00, se completará al día siguiente.

Bloqueo de trabajos programados

Ejecute la utilidad estándar "Administración de servidores 1C Enterprise" y abra las propiedades de la base de datos donde creó la tarea programada (para las versiones cliente-servidor de 1C).

En la ventana que se abre (después de ingresar el nombre de usuario y la contraseña para acceder al IB), verifique que la bandera en el elemento "El bloqueo de tareas programadas está habilitado" no esté configurada. Si se enfrenta a una situación en la que la tarea no funciona, compruebe primero esta configuración.

De la misma manera, puede deshabilitar completamente las tareas programadas en 1C 8.3. Para deshabilitar trabajos en segundo plano específicos, puede utilizar el procesamiento de "Consola de trabajos en segundo plano" integrado en las últimas versiones.

Tareas en segundo plano y programadas en modo archivo

En este modo, configurar y ejecutar estas tareas es mucho más difícil de organizar. Muy a menudo, se crea una cuenta adicional, cuya sesión siempre estará abierta.

En este caso, los trabajos programados se activan mediante el método "RunJobProcessing ()".

También puede utilizar la siguiente construcción:

Como nombre del procedimiento, debe especificar el nombre del procedimiento cliente a ejecutar. El intervalo muestra cuántos segundos tardará la ejecución. El parámetro "Una vez" es opcional. Refleja si este procedimiento se realizará una o varias veces.

Seguimiento de errores en trabajos en segundo plano

Puede ver el progreso de las tareas en segundo plano, así como la presencia de posibles errores en el registro. En el filtro, establezca el filtro en la aplicación "Trabajo en segundo plano" y, si es necesario, seleccione la importancia de interés, por ejemplo, solo "Errores".

El registro mostrará todas las entradas que coinciden con su selección, con un comentario que indica el motivo del error.