Menú
Está libre
registrarse
hogar  /  Multimedia / Reguladoras y tareas de fondo 1c 8.3. Tarea regulatoria universal

Tareas reglamentarias y antecedentes 1c 8.3. Tarea regulatoria universal

Cuando se trabaja en 1C, hay muchas operaciones de rutina que deben iniciarse o formarse en la programación para realizar esta o esa acción, por ejemplo: realizar documentos o carga de datos en 1C del sitio.

Recientemente publiqué un artículo: es hora de automatizarlo:

Regulaciones y tareas de antecedentes.

El mecanismo de tareas está diseñado para realizar cualquier aplicación aplicada o de programación en un horario o asíncrono.

El mecanismo de tarea resuelve las siguientes tareas:

  • La capacidad de definir procedimientos regulatorios en la fase de configuración del sistema;
  • Ejecución de acciones especificadas en un horario;
  • Realizando una llamada para un procedimiento determinado o una función asíncrona, es decir, sin esperar su finalización;
  • Seguimiento del progreso de una determinada tarea y obteniendo su estado de finalización (valores que indican el éxito o la implementación no exitosa);
  • Recibir una lista de tareas actuales;
  • Capacidad de esperar la finalización de una o más tareas;
  • Gestión de empleos (capacidad para cancelar, bloquear la ejecución, etc.).

El mecanismo de tarea consiste en los siguientes componentes:

  • Metadatos de las tareas regulatorias;
  • Tareas reglamentarias;
  • Tarea en segundo plano;
  • Programador de empleo.

Las tareas de fondo y están diseñadas para realizar tareas aplicadas de forma asíncrona. Las tareas de fondo son implementadas por el idioma incorporado.

Las tareas de las reglas y están diseñadas para realizar tareas programadas aplicadas. Las tareas regulatorias se almacenan en la base de información y se crean sobre la base de metadatos definidos en la configuración. Los metadatos de la tarea regulatoria contienen dicha información como nombre, método, uso, etc.

La tarea regulatoria tiene un horario que determina qué momentos de tiempo deben llevarse a cabo por el método asociado con la tarea regulatoria. El calendario generalmente se establece en la base de información, pero también se puede especificar en la etapa de configuración (por ejemplo, para tareas regulatorias predefinidas).

El programador de tareas se utiliza para planificar la ejecución de las tareas regulatorias. Para cada tarea regulatoria, el planificador comprueba periódicamente si la fecha y la hora actuales del calendario de la tarea regulatoria son verdaderas. Si coincide, el programador asigna tal tarea para ejecutar. Para hacer esto, de acuerdo con esta tarea regulatoria, el planificador crea una tarea de antecedentes que realiza un procesamiento real.

Con la descripción, creo, lo suficiente, procederé a implementar:

Creando una tarea regulatoria

Nombre del método - la ruta al procedimiento que se realizará en la tarea de fondo en un horario específico. El procedimiento debe estar en el módulo general. Se recomienda que no utilice módulos comunes típicos, pero cree su propio. No olvides eso tarea en segundo plano ¡Ejecutado en el servidor!

Usando - Un signo de uso de una tarea regulatoria.

Predefinido- Indica si la tarea regulatoria está predefinida.

Si desea trabajar como una tarea regulatoria inmediatamente después de la sala en la base de datos, especifique un signo Predefinido. De lo contrario, deberá usar el procesamiento de la consola de tareas o llamar a la tarea para comenzar programáticamente.

Número de repeticiones en caso de finalización de emergencia. - Cuántas veces tiene un reinicio del trabajo de fondo, si se realizó con un error.

Intervalo de repetición cuando un fallo de accidente - Qué frecuencia se configurará para reiniciar la tarea de fondo si se realizó con un error.

Configuración del horario

calendario Desempeño de habilidades:

Cada hora, solo un día.Periodstoistnee \u003d 0, periodstravteraneedydee \u003d 3600
Cada día una vez al día.Periodstoistnee \u003d 1, periodstravteraneednya \u003d 0
Un día, una vezPeriodonstrans: 0.
Cada dos días una vez al día.PeríodosOtros \u003d 2.
Cada hora de 01.00 a 07.00 todos los días.Periodstoistnee \u003d 1periodhonthe Showroom \u003d 3600 tirado \u003d 01.00

Conferencia de tiempo \u003d 07.00

Todos los sábados y domingos a las 09.00.Periodstoistnes \u003d 1dnnenedheli \u003d 6, 7 tiró \u003d 09.00
Cada día una semana, semana de la semana.Periodonstranos: 1 período \u003d 2
A las 01.00 una vezTiempo \u003d 01.00
El último número de cada mes a las 9:00.Periodstoistnee \u003d 1 deniye \u003d -1 tiró \u003d 09.00
Quinto número de cada mes a las 9:00Periodstoistnee \u003d 1 deniye \u003d 5 tirado \u003d 09.00
El segundo entorno de cada mes a las 9:00.Periodstoistnee \u003d 1denteliyvyza \u003d 2dnnnyed \u003d 3

TOP \u003d 09.00

Características de la ejecución de los archivos de tareas de fondo y las versiones del cliente-servidor

Los mecanismos para realizar tareas de fondo en archivos y variantes del cliente-servidor difieren.

En la versión de archivo Es necesario crear un proceso de cliente seleccionado que realice el rendimiento de las tareas de fondo. Para hacer esto, en el proceso del cliente, la función de la función de contexto de contexto de configuración global debe estar ocupada. Solo un proceso de cliente en la base de información debe realizar el procesamiento de tareas de fondo (y, en consecuencia, causa esta característica). Si el proceso del cliente no se crea para procesar las tareas de fondo, luego, cuando el acceso de software, el administrador de tareas se emitirá al mecanismo de trabajo. El proceso del cliente que realiza el procesamiento de tareas de fondo no se recomienda para otras funciones.

Después de que se inicie el proceso del cliente que realice el procesamiento de tareas de fondo, los procesos del cliente restante obtienen la oportunidad acceso de software al mecanismo de las tareas de fondo, es decir,. Puede ejecutar y administrar tareas de fondo.

En la versión cliente-server Para realizar tareas de fondo, se usa un programador de tareas, que está físicamente en el administrador de clústeres. El programador para todas las tareas de fondo asignadas para realizar las tareas de fondo recibe el flujo de trabajo menos cargado y lo usa para realizar la tarea de fondo apropiada. El flujo de trabajo se encarga y notifica al programador sobre los resultados de la ejecución.

La versión del cliente-servidor tiene la capacidad de bloquear la ejecución de las tareas regulatorias. El bloqueo de la ejecución de las tareas regulatorias se produce en los siguientes casos:

  • La base de información tiene un claro bloqueo de las tareas regulatorias. La cerradura se puede instalar a través de la consola del clúster;
  • La base de datos de información está configurada para bloquear la conexión. La cerradura se puede instalar a través de la consola del clúster;
  • Desde el idioma incorporado, se llama el método de configuración monopular () con el parámetro de la verdad;
  • En algunos otros casos (por ejemplo, al actualizar la configuración de la base de datos).

Reglas de inicio y visualización para tareas regulatorias. Puedes descargar aquí.

" En él, veremos nuevas funciones que no se referen a la interfaz del sistema, sino expandir significativamente la funcionalidad proporcionada de la plataforma "1c: Enterprise 8".

Aplicabilidad

El artículo analiza la plataforma "1c: Enterprise" de la versión 8.3.4.437. Toda la funcionalidad descrita en el artículo se actualiza a la Oficina Editorial 8.3.11.

Otras innovaciones en "1c: Enterprise 8.3"

Continuaremos familiarizados con las innovaciones de la plataforma 1C: Enterprise 8.3.

Tareas de fondo y reglamentaria en la base de información de archivo.

En muchas configuraciones típicas de la plataforma. 8.2 Hubo una constante en la que se especificó el usuario bajo el cual se realizaron tareas en el archivo.

Cuando se inicia el sistema, bajo este usuario, se ha producido el manejador de expectativas, lo que para una determinada periodicidad causó el método de lenguaje incorporado. Packetsackets ().

Tal enfoque creó dificultades y inconvenientes adicionales para usar tareas regulatorias en la base de datos de archivos.

Podría ser especialmente crítico cuando se trabaje con tales configuraciones como "Automatización compleja" o "Gestión de la empresa de producción"En el que las tareas regulatorias desempeñan un papel bastante importante.

Si es FILEIB entonces
=
Constantes. Por lo general, Full-Planethe coversvariant. Enfoque();
Si un glnagenado("Glotting User") =
Clip de clienteLuego
// En el intervalo de segundos, llame al procedimiento para trabajar con tareas regulatorias
ApoyoLentyLentyFle Filevession();
Interrelación=
Constantes. IntervaltlasprosarlamentadnayAtaniyvifyLevarisa. Verter();
Si un Interrelación\u003d Incierto
O Interrelación\u003d 0 entonces
Interrelación= 60 ;
Terminó;
Connectiografía("SoportedlededAdantedLameFilevation",
Interrelación);
Terminó;
Terminó;

En la plataforma 8.3 El trabajo de fondo y las tareas regulatorias en la base de datos de información de archivos se implementa sin utilizar el método de contexto global Packetsackets ().

Los antecedentes y las tareas regulatorias se realizan directamente en una de las aplicaciones del cliente (cliente delgado y grueso) o la extensión del servidor web.

La tarea de fondo administrada por cualquier sesión se realiza mediante la misma aplicación cliente que la inició.

Las tareas de fondo se realizan secuencialmente, es decir,. En una aplicación cliente en un momento dado, solo se puede realizar una tarea antecedentes (incluida la regulación).

Las tareas regulatorias se realizan solo por una aplicación cliente. Para administrar el inicio de las tareas regulatorias, la clave de la línea de comandos está destinada. SeaxecutesCheduledJobs..

Las tareas regulatorias se realizan primero para iniciar la aplicación del cliente que no prohíbe la ejecución de las tareas regulatorias (para la prohibición de la sesión se debe iniciar con el parámetro de línea de comandos SeaxecutesCheduledJobs -off.).

Cuando se completa esta sesión, la ejecución se realiza a cualquiera de las sesiones restantes que se ejecutan.

Si la cadena de la aplicación del cliente indica explícitamente la necesidad de iniciar las tareas regulatorias (en línea de comando Especificado SeaxecutesCheduledJobs -Force), Las tareas regulatorias comienzan a ser realizadas, independientemente de la disponibilidad de otras sesiones.

Procesamiento Las tareas regulatorias se producen una vez cada 60 segundos.

Tenga en cuenta que las tareas regulatorias solución aplicada (En el archivo) comenzó a ejecutarse no antes de 1 minuto después de que se inicie la aplicación del cliente. Comenzando con la edición 8.3.8, esta vez se duplicó y, por lo tanto, las tareas regulatorias comienzan a realizar al máximo 2 minutos después del inicio del cliente (en el archivo).

Esta solución se debe a una disminución en el retraso cuando se inicia la aplicación. Además, en la versión 8.3.7, la capacidad de determinar rápidamente que la sesión actual es una sesión de tareas de antecedentes. Esto se implementa a expensas del nuevo método de contexto global para obtener la base de información (), así como un nuevo método en la sesión base de información. Opendfinación ().

El siguiente es el código que ilustra lo descrito anteriormente:

Para ampliar, haga clic en la imagen.

Cálculo de las sumas de suma

En la plataforma, los mecanismos parecían calcular las sumas de control.

Recuerde que la suma de comprobación (hash) es un cierto valor calculado por el conjunto de datos utilizando un algoritmo específico y se usa para verificar la integridad de los datos cuando se transmiten o almacenan.

HisChai se puede usar para verificar la identidad de los datos (por ejemplo, es necesario asegurarse de que no esté dañado al transferir el archivo; verifique si hubo cambios en el archivo, y si es así, luego carganlo a la base de datos otra vez).

Para hacer esto, se implementó un objeto en la plataforma. ChechirovadoDisponible en el servidor en un cliente grueso, conexiones externas, así como en un servidor de aplicaciones móviles.

Este objeto tiene dos métodos: Agregar () y Agregar archivo()Quién actualiza la suma de hash con los datos transmitidos en los parámetros.

Plataforma 8.3.4.437 Admite el cálculo de las siguientes funciones de hash: CRC32., MD5, Sha1, SHA256.. Pero funciona Sha1y SHA256.no es compatible con una plataforma móvil.

Considere un ejemplo simple. Se supone que en el servidor en el directorio del programa hay un archivo " ragent.exe.". Es necesario calcular MD5-Sumergage para este archivo.

Para hacer esto, crea procesamiento externo, en la forma de los cuales se colocará. Calcular. El controlador contiene el siguiente código:

& Svalette
Calcular el procedimiento (comando)
Resultado \u003d. Calcular servidor();
Informe (cadena (resultado));
Extrudresses
Y en el servidor
Función Calcular servidor()
Hash \u003d nuevo Chechirovado(.Md5 hashfunction);
Hash.daddlindile(Programa de catálogo() + "Ragent.exe");
Devolver heshe.hesumum;
Funcionamiento final

En la plataforma editorial 8.3.10+ en el método. Agregar () Objeto Chechirovado Se hizo posible utilizar la corriente de datos binarios, que simplificó significativamente su uso en la solución de varias tareas de aplicación para actualizar las sumas de hash.

Trabajar con versiones seguras de protocolos. SMTP / POP3.

En la plataforma 8.3 Hay una oportunidad para usar versiones protegidas de protocolos. SMTP / POP3. (Se encuentran términos SMTPS / POP3S. o Sslsmtp / sslpop3.).

Para el objeto Internetpootpofil Nuevas propiedades implementadas:

  • Usssslstp;
  • Ussslpop3;
  • EntreveranzaUticionesMTP;
  • EntendentificaciónPop3.

Propiedades Autenticationsmtp.y Autenticationpop3.objeto Internetpootpofilasí como enumeraciones PodsmTPAutentificationy Popop3anauthentificaciónuso No se recomienda: son compatibles con la compatibilidad.

Utilizando un protocolo seguro SMTPS.hace posible enviar correo desde 1c.Usando buzón Google.

Considere un ejemplo. En el formulario, tenemos un campo para ingresar al asunto de la letra y la dirección del destinatario, y para ingresar al texto de la letra: el campo del documento formateado.

Para ampliar, haga clic en la imagen.

Presionando el botón Enviarse ejecutará el siguiente código:

& Svalette
Procedimiento Enviar (comando) mail \u003d nuevo pub en línea; Perfil \u003d Nuevo Internetpootpofil;
Perfil. PressResersSMTP.\u003d "Smtp.googlemail.com";
Perfil. UsersMTP.= “[Correo electrónico protegido]” ;
Perfil. Pallstp\u003d "Contraseña";
Perfil. USESSLSPTP\u003d Verdad;
Perfil. PORTSMTP \u003d 465; Intento
Correo. Conferencia(Perfil);
Una excepción
Descripción del reporte ());
Reembolso;
Celebraciones; Información postal= “” ;
Adjuntos \u003d nueva estructura;
Text.chelchhtml(Información postal, Archivos adjuntos ); Postalización\u003d Nuevo Pubertad de internet;
Postalización. Practicantes. Añadir(A quien);
Postalización\u003d Tema;
Postalización. Blancos. Añadir(Información postal,
Tytextapochetovop.html.) Correo Electronico ( Postalización); Correo. Seguir();
Extrudresses

Tenga en cuenta que en nuestro ejemplo, si el servidor SMTP no pudo enviar mensaje electrónico destinatario (-am), luego método Correo. Enviar (comunicación postal) generó una excepción. Esto causó ciertos inconvenientes de los desarrolladores, porque La razón de la generación de excepción no fue obvia.

En el Consejo Editorial 8.3.9, este comportamiento ha cambiado, y ahora el método de envío () devuelve el cumplimiento, cuya clave es el destinatario y el diagnóstico de valor de servidor de correo. Esto le permite determinar con precisión los motivos del envío de correo electrónico fallido a cada uno de los destinatarios. En el modo de compatibilidad con la versión 8.3.8, el comportamiento no ha cambiado.

Impresión de dos caras

En la plataforma 8.2 La plataforma en sí no administró el sello de doble cara, fue posible administrar esta función solo usando el controlador de la impresora.

En la plataforma 8.3 La capacidad de controlar el sello bilateral para un documento de mesa, un esquema gráfico (desde el idioma incorporado y interactivamente) y documento de texto (Solo interactivamente).

En el idioma incorporado, aparecieron los listados del sistema:

  • Suavizante typid(No, Dvorope, Doraved);
  • (Auto, Mirror Potencia, Espejo laas, Comprender).

Y en objetos Maderay Gráficoaparecieron propiedades Impresión de dos carasy Distribución alternanstranitsaCon lo que puede cambiar la ubicación de las páginas impresas.

En la Oficina Editorial de la Plataforma 8.3.9, se agregó un nuevo significado a la lista del sistema de Tidylon Usa el nastyprinter. Elección este valor Permite usar la configuración de la impresora al imprimir documentos del sistema. En el modo de compatibilidad con la versión 8.3.8, el comportamiento no ha cambiado y se ignora la configuración de la impresora correspondiente.

El diálogo de publicación de la base de información en el servidor web es más funcional. Ahora publicar el Configurador le permite configurar todas las configuraciones de archivos. default.vrd..

Para la publicación de diálogo, se implementa un cliente web y servicios web a través del Configurador:

  • la capacidad de administrar la disponibilidad de servicios web de forma predeterminada (atributo pointenableCommon. Elemento ws.);
  • la capacidad de controlar la ejecución de tareas de fondo en el archivo (atributo seaxecutesCheduledJobs. Elemento ws.).

Si la bandera "Publicar servicios web de forma predeterminada" En la pestaña "Básico" Instalado, al actualizar la publicación, los servicios web seleccionados se publicarán automáticamente.

De lo contrario, los servicios web se marcarán como no posibles. Esta bandera coincide con el atributo. pointenableCommon.elemento ws.en archivo default.vrd.Diseñado para configurar los servicios web y web.

Atributo pointenableCommon.el elemento WS es responsable de la posibilidad de utilizar servicios web en esta base de información, que se publican sin el uso explícito de los permisos de uso (atributo permitirelemento punto).

Si el atributo es importante. verdadero.Entonces, todos los servicios web para los cuales el valor del atributo no se especifica claramente. permitirelemento puntose permitirá usar.

De lo contrario, se prohibirá el uso de dichos servicios web.

Configuración "Tareas de fondo en modo de archivo" corresponde al atributo seaxecutesCheduledJobs.elemento ws en el archivo default.vrd..

Atributo seaxecutesCheduledJobs.administra la capacidad de ejecutar tareas regulatorias a la expansión del servidor web para el archivo base de información.

El atributo puede tomar los siguientes valores:

  • apagado- En este caso, la extensión del servidor web no realizará tareas reglamentarias. La realización de tareas regulatorias será la aplicación del cliente (si corresponde), que se conecta directamente a la base de datos de información, sin usar un servidor web.
  • fuerza- En este caso, la extensión del servidor web realizará tareas regulatorias.
    Si no se especifica el valor de este atributo, las tareas regulatorias realizarán la aplicación con la que se realizará la primera conexión con la base de información.

La ventana de publicación en el servicio web en la versión actual de la plataforma se ha vuelto aún más conveniente y ergonómico. Ahora, los parámetros que describen la autenticación Openid se realizan en una pestaña separada.

Numeración de objetos base de información

En la plataforma 8.3 mecanismo reciclado numeración automática Objetos base de información. El monitoreo de la singularidad del número o código (incluido el número o el código obtenido como resultado de la generación automática) siempre se realiza durante la entrada del objeto.

El texto de la singularidad de la singularidad del número o código se agrega a la indicación de qué número o código no es único.

El uso del número o código liberado ha cambiado. El nuevo número o código se asigna sin usar los números o códigos lanzados, si ya hay números o códigos emitidos con un prefijo grande (en orden) del número o código.

Sistema de diseño de datos de lenguaje de idioma agregado

En el idioma de las expresiones del sistema de diseño de datos, se implementan nuevas funciones agregadas:

  • Todo el mundo();
  • Ningún();
  • Degeneración alternativa estándar ();
  • Criaturas de línea estándar ();
  • Exposición de dispersión ();
  • Sensor de dispersión ();
  • Receptáculo de covarianza ();
  • Covariarationsebors ();
  • Correlación();
  • Regresionallon ();
  • Regreso ();
  • El regañismo ();
  • RegresiónR2 ();
  • Regreso formado ();
  • Regresando el promedio ();
  • Regresando a AveragesXX ();
  • Regresando el promedio ();
  • Regresando a los promediosxy ().

Como se puede ver en los nombres, estas son funciones estadísticas, significa que los desarrolladores tienen la oportunidad de crear informes complejos sin recurrir al desarrollo de procedimientos para calcular los datos estadísticos.

Para ampliar, haga clic en la imagen.

Como se puede ver en la figura, no hay nuevas características en la lista desplegable, pero si los ingresa manualmente, el mensaje de error no será, y se formará el informe:

Tampoco es de interés. nueva caracteristica ClasificationAbc (). El resultado de la función de la función será el número de clase, a partir de 1 (1 corresponde a la clase A, 2 - Clase B, 3 - Clase C, etc.).

Demostraremos el trabajo de esta función. Crear un nuevo informe externo "Clasificación de bienes" Basado en la solicitud:

ESCOGER
Costdranovanovari.thovar,
Costbarovanovari.colism
DE
Documento. Fuente. TastersCOMO Costbatovaratovari

Determinar el nuevo campo calculado Clase:

Para ampliar, haga clic en la imagen.

Configuraremos los recursos de la siguiente manera:

Para ampliar, haga clic en la imagen.

En el modo de usuario, el informe se ve así:

En conclusión, observamos que desde el consejo editorial en la plataforma 1C 8.3 8.3, el mecanismo de SCD se mejora y se refina constantemente, y no son posibles los cambios en nuestros datos de datos de "recién llegado". Sí, parece innecesario, porque, trabajando en versión real Plataformas, siempre puede aprovechar varios sistemas de referencia para ayudar con el análisis de un aspecto particular de la operación de este mecanismo.

Además, no se olvide de nuestro curso separado, el desarrollo profesional de los informes en 1C 8.3 en el sistema de diseño de datos, que asume todas las sutilezas y tonos al átomo cuando se trabaja con este mecanismo. Mira la demostración tú mismo y.

Entonces, resumemos los resultados. Hasta este punto, nos familiaricamos con las nuevas características de la interfaz "Taxi" y formularios gestionados, así como con algunas capacidades previamente proporcionadas de la plataforma. Ahora es el momento de ver qué oportunidades cómodas El desarrollador en el Configurador se ha puesto disponible.

A menudo, al registrarse, existe la necesidad de realizar periódicamente ciertas acciones sin la intervención del usuario. Tareas reglamentarias y antecedentes en 1C: aquellos mecanismos que se proporcionan para este propósito en la octava versión del programa y permiten:

  • Establecer la preereparación oportuna de los documentos;
  • Calcular los restos y los resultados;
  • Asegurar la frecuencia de la lista de correo;
  • Compruebe y elimine los datos irrelevantes.

Tarea de fondo y regulatoria: qué es y dónde está configurado.

La tarea regulatoria es el mecanismo colocado en 1C, que le permite configurar y, de acuerdo con la frecuencia programada y la frecuencia, realice una secuencia específica de acciones.

La tarea de fondo es una acción generada por la operación reglamentaria y no requiere la participación directa del usuario.

Crear una tarea regulatoria ocurre en el modo Configurador:

  • En la ventana del árbol de configuración, encontramos la sucursal correspondiente (Fig. 1);
  • Haga clic en el botón Agregar;
  • En la ventana que se abre, debe especificar un nombre que le permita identificar un objeto en la configuración;

Figura 2

  • Opuesto a la inscripción "HORARIO" (Fig. 2) Hay una inscripción "ABIERTE", haciendo clic en la que se abre la ventana de la configuración de la hora y la periodicidad (Fig. 3);

Fig. 3.

  • También debe completar el "nombre del método" (el nombre del procedimiento causado por el módulo general y el algoritmo descriptivo del comportamiento del programa se ingresará aquí;
  • Los campos "Nombre" y "clave" le permiten agrupar objetos;
  • La bandera de "uso" indica la actividad de la operación reglamentaria;
  • Debe instalarse "predefinido" si el controlador debe comenzar inmediatamente después de que se agregue a la base de datos, de lo contrario, el lanzamiento se puede hacer desde el procesamiento correspondiente (aproximadamente ello);
  • Los parámetros "Número de repeticiones" y "repeticiones de intervalo" describen el comportamiento del programa en caso de una situación excepcional al realizar una tarea de antecedentes.

Entonces, utilizando el mecanismo de las operaciones regulatorias, puede establecer el calendario y las principales acciones de las tareas antecedentes. Ahora vamos a considerar sus características.

Características de las tareas de fondo

La característica principal de este mecanismo es que el proceso de fondo se realiza de forma asíncrona.

Qué significa. El hecho es que con un modelo sincrónico de trabajo, en caso de ejecución, cualquier algoritmo está bloqueado. interfaz de usuario. En nuestro caso, el usuario puede continuar ingresando y editar los datos, incluso si se está ejecutando el procedimiento. El modelo de programación asíncrono implica la separación de flujos de computación.

Por lo tanto, las tareas de fondo en 1C pueden generar sus procesos, distribuyendo los cálculos en varios servidores que ingresan a un clúster.

Características del trabajo en modo cliente-servidor.

  • La planificación de ejecución y control se realiza por el programador desde el clúster del servidor;
  • En caso de una solicitud de ejecución, el programador está buscando flujos de trabajo de un clúster con una carga mínima y distribuye tareas;
  • Cada proceso puede realizar varias computación paralelas;
  • Una vez recibida la tarea, el proceso está conectado a la base y realiza el algoritmo;
  • El proceso informa al planificador sobre los resultados.

Tareas de fondo en modo de archivo

Antes de la versión de la plataforma 8.3.3.641. Trabajar con tareas de fondo en la versión de archivo representó algunas dificultades:

  1. Era necesario lanzar una sesión separada, que funcionaría en el reloj, reemplazando al planificador;
  2. Esta sesión fue ejecutar periódicamente el método de ejecución ().

Después de actualizar, cada inicio de grueso y clientes delgadosEn el caso de que en la configuración de inicio (Fig. 4) en el campo "ADICIONAL", se especifica la tecla PermitirExecutesCheduledJobsJobs, inicia un flujo de conexión adicional a la base de datos, lo que no afecta al usuario a trabajar, sino que solo realiza operaciones de fondo.

Fig.4

Debe tenerse en cuenta que incluso en la versión de archivo del trabajo, los procesos de antecedentes no permiten el trabajo interactivo con el usuario (mensajes oficiales, advertencias, problemas no se mostrarán). Es decir, es necesario codificarlos como si se ejecuten en el lado del servidor.

Cómo deshabilitar las tareas regulatorias

Las tareas no utilizadas se pueden desactivar, simplemente eliminando la casilla de verificación en "Uso" en las propiedades del objeto.

En el caso, cuando el administrador debe prohibir el uso de las operaciones regulatorias y de antecedentes para toda la base en su conjunto (por ejemplo, no se almacena por varias bases de datos, de las cuales solo una básica, y el resto se utilizan solo para el desarrollo) Es necesario utilizar la utilidad de administración de la base de datos. También puede instalar el "Instalar el bloqueo de las regulaciones" en la base de datos creada en el servidor.

Además, en sus discos hay un procesamiento especial de la "Consola de trabajo", que le permite editar el horario procesos de fondo Y cambiar su actividad.

Las tareas regulatorias en 1C están diseñadas para realizar ciertos procedimientos en un horario, con cierta frecuencia.

Las tareas regulatorias se almacenan en la base de información, tienen un horario de puesta en marcha. La puesta en marcha en sí misma se realiza completamente automáticamente si la base de información es el cliente-servidor. Si la base es un archivo, se deben realizar los siguientes pasos:

  • asignar a un usuario especial para realizar tareas regulatorias;
  • la base debe abrirse bajo este usuario, en la que se debe realizar la función periódicamente. Realización de reconocimiento ().

Creando una tarea regulatoria

Tareas reglamentarias: objeto de metadatos de configuración 1C. Ubicado en el grupo general. Considere los parámetros y las propiedades de las tareas regulatorias.

Nombre del método- El camino hacia el procedimiento de exportación en el módulo general que se realizará en un calendario determinado. El procedimiento debe ser ejecutado en el servidor. En estas tareas regulatorias con algo similar al objeto. Suscríbete a un evento.

Clave - Le permite crear varias tareas regulatorias del mismo tipo. Por ejemplo, realizar la sincronización de datos entre múltiples bases de información se puede implementar utilizando un objeto de metadatos. RegulaciónAl mismo tiempo, varias (por el número de bases de intercambio) serán creadas por las tareas reglamentarias. Diferentes estas tareas regulatorias serán diferentes. Clave. Al mismo tiempo, solo se puede realizar una tarea con la misma clave.

Usando - La bandera que muestra si la tarea regulatoria está habilitada.

Predefinido- Aquí puede dibujar una analogía con elementos predefinidos del libro de referencia. Elementos predefinidos Creado en el Configurador y se aplica a los usuarios en operación. Elementos de usuario convencionales se crea a sí mismo. Con las tareas regulatorias de la misma manera: si está predeterminada, entonces existe y se puede ejecutar en un horario inmediatamente después de crear en el configurador. Si la bandera Predefinidono instalado, el usuario debe crear una o más tareas regulatorias de este tipo (por ejemplo, a través de Consola de tareas).

Número de repeticiones en caso de finalización de emergencia. - Determina cuántas veces se está reiniciando la tarea de antecedentes si se ha completado con un error.

Intervalo de repetición cuando un fallo de accidente - Determina qué frecuencia reinicie la tarea de fondo, si se ha completado con un error.

El software trabaja con tareas regulatorias.

En estos ejemplos, consideraremos trabajar con tareas regulatorias convencionales, no predeterminadas.

Creación de software de una tarea regulatoria.

// crear una tarea
"MeliiMentación") ;

// instalar la clave de la tarea regulatoria (no requerida)
La tarea. Key \u003d "Key-out";

// Encienda la tarea regulatoria
La tarea. Uso \u003d verdad;

// Escribir una tarea regulatoria
La tarea. Anote ();

Software obteniendo una tarea regulatoria para cambiar los parámetros.

En este ejemplo, asumimos que solo hay una tarea regulatoria de este tipo. Si las tareas son varias, entonces sabe, no es difícil ingresar los cambios correspondientes al código.


"NAMEGELAMENTACIÓN"] ) ) ;


Si las tareas. Cantidad ()\u003e 0 entonces
Tarea \u003d tareas [0];


De lo contrario
Tarea \u003d aplicaciones regulatorias. Createrementname ( "NAMEGELAMENTACIÓN") ;

Terminó;

// La tarea regulatoria está en una tarea variable. Puedes cambiar sus parámetros.

Llame al horario de cambio de diálogo para la tarea regulatoria

Hay un tipo especial de diálogo para trabajar con el calendario de la tarea regulatoria. Aún asumimos que solo tenemos una tarea regulatoria de este tipo.

// obtener una matriz con las tareas regulatorias del tipo deseado
Tareas \u003d aplicaciones regulatorias. Tarifas operativas (nueva estructura ("metadatos", metadatos. Aplicaciones regulatorias [ "NAMEGELAMENTACIÓN"] ) ) ;

// Si la tarea existe, entonces por la condición es una
Si las tareas. Cantidad ()\u003e 0 entonces
Tarea \u003d tareas [0];

// Si las tareas no lo hacen, crealo
De lo contrario
Tarea \u003d aplicaciones regulatorias. Createrementname ( "NAMEGELAMENTACIÓN") ;

Terminó;

Horario \u003d Tarea. Calendario;

// Crear un diálogo para cambiar el horario de la tarea regulatoria
Dialogress \u003d nuevo dialographersparement (horario);

// Mostrar el diálogo del usuario y los cambios de calendario de procesos
Si dialogress. OpenModally () entonces
La tarea. Horario \u003d dialogress. Calendario;
La tarea. Anote ();
Terminó;

A menudo, los usuarios se quejan de que "1C 8.3 se ralentiza": las formas de documentos están abiertas lentamente, los documentos se mantienen durante mucho tiempo, se lanzó el programa, informa y así sucesivamente.

Además, tales "fallos" pueden ocurrir en diferentes programas:

Las causas pueden ser diferentes. Esto no se restaura para realizar documentos, una computadora o un servidor débil, el servidor 1c está configurado incorrectamente.

En este artículo, quiero considerar una de las razones más fáciles y más comunes para el lento trabajo del programa. Esta instrucción Será relevante para los usuarios de bases de datos de archivos por 1-2 usuarios, donde no hay competencia por los recursos.

Si está interesado en una optimización más seria de las versiones de cliente-servidor del sistema, visite la sección del sitio.

Donde en 1c 8.3 tareas confiables

No tuve tiempo de cargar un programa como en 1C muchas tareas de fondo. Puede verlos ingresando al menú "Administración", en adelante - "Soporte y servicio":

Obtenga 267 tutoriales de video para 1C gratis:

Aquí parece una ventana con las tareas realizadas:

Y entonces lista llena Todas las tareas regulatorias que se lanzan:

Entre estas tareas, como "", descargando varios clasificadores, verifique la relevancia de la versión del programa, etc. Por ejemplo, tengo casi todas estas tareas. No realizo la contabilidad de moneda extranjera, el control de la versión en sí, las cargas de los clasificadores según sea necesario.

En consecuencia, en mi (y en la mayoría de los casos en su) interés para deshabilitar las tareas innecesarias.

Deshabilitar las tareas regulatorias y de antecedentes en 1C 8.3