Plataforma 1C:Enterprise >> ¿Qué hay de nuevo? >> Aspectos Destacados de Funcionalidad

Este artículo es un anuncio de una nueva funcionalidad.
No recomendamos que confíe en este artículo para aprender cómo utilizar la funcionalidad.
La nueva funcionalidad se describirá en detalle en la documentación de la versión correspondiente.
Para obtener una lista completa de cambios en la nueva versión, consulte el archivo v8Update.htm.
Planificado para la versión 8.3.25

Debido a muchas solicitudes, implementaremos el método de contexto global CallSleep en el lenguaje 1C:Enterprise en la plataforma 1C:Enterprise versión 8.3.25. Con este método, puede detener una sesión durante un tiempo especificado.

Es posible que se pregunte por qué el método se llama CallSleep y no simplemente Sleep. La razón es que muchas soluciones de socios ya tienen el método Sleep que implementa una funcionalidad similar. Elegimos el nombre CallSleep para evitar cambiar el código en las soluciones existentes, pruebas y otros.

Sintaxis: CallSleep(<Intervalo>)

Aquí, el parámetro Intervalo es un intervalo en milisegundos.

El método CallSleep solo está disponible en el servidor. Puede llamarlo desde trabajos en segundo plano, servicios web, servicios HTTP, bots y otros.

Tenga en cuenta que el método CallSleep no está disponible en la llamada cliente/servidor. Cuando llama a un método del servidor donde se llama a CallSleep desde el cliente, se produce la siguiente excepción: “No se puede llamar al método CallSleep en la llamada cliente/servidor”. Lo implementamos a propósito, ya que el método CallSleep bloquea la ejecución del código. Si lo llama desde el código del cliente, también bloquea la interfaz de usuario. Al mismo tiempo, queremos que nuestra interfaz de usuario sea lo más receptiva posible. Puede implementar la funcionalidad de espera en el código del cliente utilizando otros métodos, por ejemplo, trabajos en segundo plano.

El método CallSleep simplificará significativamente ciertos escenarios, por ejemplo, la integración con sistemas externos desde el código del servidor. Puede utilizar el método CallSleep entre llamadas a un sistema externo mientras espera a que el sistema externo esté listo para la interacción, ya que está ejecutando un proceso largo, por ejemplo, preparando un área de datos.

Estamos seguros de que muchos desarrolladores que utilizan la plataforma 1C:Enterprise podrán aplicar con éxito la nueva funcionalidad en sus escenarios. Sin embargo, recomendamos que piense cuidadosamente cada vez que desee utilizar el método CallSleep. No recomendamos que utilice un bucle infinito incluso con la llamada CallSleep. En otras palabras, asegúrese de que el número de llamadas CallSleep no sea muy alto.