Todo sobre el tuning de coches

Obtenga una forma controlada de procesamiento externo 1c

Para trabajar con procesamiento externo (y un formulario de impresión externo también es un procesamiento externo), hay un objeto Procesamiento externo.

Consideremos dos casos posibles:

El procesamiento externo se almacena en el disco por separado de la base de datos.

Para abrir mediante programación el procesamiento externo en 1C, necesita conocer la dirección de su archivo. Sabiéndolo, puede abrir un formulario de procesamiento u obtener un objeto de procesamiento para realizar acciones adicionales con él (por ejemplo, llamar a funciones de exportación desde un módulo de objeto).

Abrir un formulario de procesamiento externo

Para abrir mediante programación un formulario de procesamiento externo en 1C, use la función Obtener formulario() objeto Procesamiento externo. La función tiene varios parámetros. Considere una simple apertura del formulario de procesamiento principal:


Formulario = Procesos Externos. Obtener formulario (dirección de archivo);
Forma. Abierto();

Para abrir un formulario de procesamiento externo menor, debe especificar su nombre.

//La variable FileAddress contiene la ruta completa al archivo de procesamiento externo
Formulario = Procesos Externos. Obtener formulario (dirección de archivo, "Forma menor") ;
Forma. Abierto();

Abrir procesamiento externo como objeto

Para recibir procesamiento externo como un objeto, se utiliza una función. Crear() objeto Procesamiento externo.

//La variable FileAddress contiene la ruta completa al archivo de procesamiento externo
ProcessingObject = Proceso externo. Crear (dirección de archivo);

De forma predeterminada, todo el procesamiento se abre en modo seguro. Para desactivarlo, utilice las siguientes opciones:

//La variable FileAddress contiene la ruta completa al archivo de procesamiento externo

Procesamiento externo o formulario de impresión guardado en la base de datos.

En muchas configuraciones, es posible guardar formularios impresos externos y procesarlos directamente en la base de datos. Para ello se utiliza el libro de referencia. Procesamiento externo. El procesamiento externo en sí se almacena como datos binarios o en atributos. AlmacenamientoProcesamientoExterno, o en la sección tabular Afiliación en los accesorios AlmacenamientoProcesamientoExterno.

Para abrir el procesamiento externo necesita:

  1. Consíguelo del almacenamiento.
  2. Guarde el archivo procesado en el disco.
  3. Abra un formulario u obtenga un objeto de procesamiento.
  4. Si se trata de un formulario impreso externo, entonces podemos completar los detalles estándar. Referencia de objeto y llamar a la función de exportación Sello.

//La variable RefLink contiene un enlace al elemento del directorio ExternalProcessings
DvData = EnlaceRef. Almacenamiento de procesamiento externo. Conseguir() ;
DirecciónDeArchivo = GetTemporaryFileName();
DvData. Escribir (Dirección de archivo);
ProcessingObject = Proceso externo. Crear (Dirección de archivo, Falso);

En este artículo, consideraremos instrucciones paso a paso para crear procesamiento externo en 1C 8.3 en modo de aplicación administrada, respectivamente, usaremos formularios administrados. Y lo más importante, aprenderemos cómo conectarlo al mecanismo de "procesamiento externo" de configuraciones 1C construido en una biblioteca de subsistemas estándar versión 2.0 y posteriores.

La tarea será la siguiente: crear el procesamiento externo más simple que realizará una acción grupal en el directorio "Artículo", es decir, establecer el porcentaje de tasa de IVA seleccionado para el grupo de artículos especificado.

Para hacer esto, realizaremos inmediatamente los ajustes necesarios en el programa (estamos considerando la configuración 1C 8.3: "Enterprise Accounting 3.0" en formularios administrados).

Marcar esta casilla nos da la oportunidad de utilizar procesamiento externo.

Creando un nuevo procesamiento externo en 1C 8.3 usando un ejemplo

Ahora vayamos al configurador. En el menú "Archivo", seleccione "Nuevo...". Se abrirá una ventana para seleccionar el tipo de archivo a crear. Seleccione “Procesamiento externo”:

Se abrirá una nueva ventana de procesamiento externo. Démosle un nombre de inmediato. Se ofrecerá al guardar el procesamiento en disco:

Agreguemos un nuevo formulario de procesamiento controlado. Indicamos que esta es una forma de tramitación y es la principal:

Tendremos dos detalles en el formulario:

  • Grupo de nomenclatura: enlace al directorio “Nomenclatura”;
  • SelectVATRate – enlace a la transferencia de la Tasa de IVA.

Creamos los detalles en la columna “Propiedades” de la ventana superior derecha. Arrástrelos con el mouse a la ventana superior izquierda. Los nuevos detalles deberían aparecer inmediatamente en el siguiente formulario.

El orden de los detalles se puede cambiar usando las flechas “Arriba” – “Abajo”:

Obtenga 267 lecciones en video sobre 1C gratis:

Ya sólo queda agregar el botón “Instalar”. En los formularios administrados, no puede simplemente agregar un botón al formulario. Incluso si lo agrega a la estructura de los elementos del formulario, no será visible en el formulario mismo. El botón debe estar asociado al comando que ejecutará. Vaya a la pestaña "Comandos" y agregue el comando "Establecer tasa de IVA". En las propiedades del comando, cree una acción. Seleccione el controlador de comandos "En el cliente". También se puede agregar un comando al formulario simplemente arrastrándolo a la sección con elementos del formulario.

Se creará un procedimiento con el mismo nombre en el módulo de formulario. En él llamaremos al procedimiento en el servidor:

&EnCliente

Procedimiento Establecer tasa de IVA (comando)

EstablecerVATRateOnServer();

Fin del Procedimiento

En el procedimiento en el servidor escribiremos una pequeña solicitud y acciones relacionadas con la fijación del tipo de IVA:

&En el servidor

Procedimiento SetVATRateOnServer()

Solicitud = Nueva Solicitud;
Solicitud.Texto =
"ELEGIR
| Nomenclatura.Enlace
|DESDE
| Directorio.Nomenclatura AS Nomenclatura
|DONDE
| Nomenclatura.Enlace EN JERARQUÍA (&Grupo de Nomenclatura)
| Y NO Nomenclatura.MarkDeletion
| Y NO Nomenclatura, esto es un Grupo”;

Request.SetParameter("Grupo de artículos", Grupo de artículos);
ResRequest = Solicitud.Execute();
SelectRecordDet = ResRequest.Select();

Mientras que el bucle SelectRecordDet.Next()

Intentar
SprNomObject.Write();
Excepción
Report("Error al escribir objeto """ + SprNomObject + """!
|» + DescripciónError());
intento final;

Fin del ciclo;

Fin del Procedimiento

Volvemos a la pestaña “Formulario”, agregamos un botón al formulario y lo asociamos con el comando:

Como tal, nuestro procesamiento está listo para su uso. Para llamarlo, en el modo "1C Enterprise", debe ir al menú "Archivo" - "Abrir" y seleccionar el archivo creado.

Sin embargo, trabajar en este modo es conveniente para el procesamiento de depuración, pero no es del todo adecuado para el usuario. Los usuarios están acostumbrados a tenerlo todo “al alcance de la mano”, es decir, en la propia base de datos.

Para esto está la sección “Informes y procesamientos adicionales”.

Pero para poder agregar nuestro procesamiento allí, primero debemos darle una descripción y decirle al programa sus propiedades.

Descripción de la función “Información sobre Tratamiento Externo”

Daré un ejemplo del contenido de esta función. Debe ser exportable y, en consecuencia, estar ubicado en el módulo de procesamiento:

Función InformationOnExternalProcessing() Exportar

DataForReg = Nueva Estructura();
DataForReg.Insert("Nombre", "Configuración del tipo de IVA");
DataForReg.Insert("Modo Seguro", Verdadero);
DataForReg.Insert("Versión", "ver.: 1.001");
DataForReg.Insert("Información", "Trámite de fijación de tasa de IVA en el directorio de Nomenclatura");
DataForReg.Insert("Ver", "Procesamiento adicional");

TablaComando = NewValueTable;
TabZnCommands.Columns.Add("Identificador");
TabZnCommands.Columns.Add("Uso");
TabZnCommands.Columns.Add("Ver");

NuevaFila = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "Abrir procesamiento";
DataForReg.Insert("Comandos", TabZnCommands);

Devolver datos para registro;

Función final

Para comprender mejor qué campos de la estructura de datos de registro deben usarse, veamos los detalles del directorio "Informes y procesamiento adicionales":

Como puedes ver, todo es bastante sencillo. Sólo un atributo no coincide: “Opción de inicio” – “Usar”. Si miramos el código de uno de los módulos comunes, veremos cómo surgen un montón de estos campos:

Para determinar qué campos de una estructura son necesarios, primero no puede describirlos, simplemente cree uno vacío y luego use el depurador. Si rastrea los módulos al registrar el procesamiento, inmediatamente queda claro qué campos son obligatorios y cuáles no.

Conexión de procesamiento externo en 1C 8.3