1s 8 creación de un formulario de impresión externo. Publicaciones

Instrucciones

Abra la versión 8 del programa 1C:Enterprise. Preste atención al elemento del menú "Servicio" - "Procesamiento externo e impresión de formularios". Con su ayuda, puede almacenar informes externos, procesamiento, formularios impresos, así como procesamiento para completar elementos tabulares. También puedes conectar un formulario externo en lugar de cambiar uno existente, lo que implicaría interferir en la configuración del programa.

Inicie el programa 1C:Enterprise en modo configurador, luego cree un procesamiento externo, para ello ejecute el comando "Archivo" - "Nuevo". En la ventana que aparece, seleccione "Procesamiento externo". Aparecerá en pantalla un nuevo formulario de procesamiento externo. Dale el nombre "Externo". Luego agregue un nuevo atributo llamado “Referencia de objeto”, especifique el tipo: “Documento. Enlace. Ventas de bienes y servicios." Para crear un imprimible para un tipo diferente de documento, utilice el tipo de enlace apropiado.

Agregue un nuevo diseño haciendo clic en el botón correspondiente en la nueva ventana del formulario. Nómbrelo "Diseño", cree un área llamada "Encabezado", asígnele el parámetro "Texto del encabezado". Luego haga clic en el botón “Acciones”, seleccione el comando “Abrir módulo de objeto”. Luego inserte el texto del módulo; puede utilizar el ejemplo publicado en el sitio web http://www.uasoft.com.ua/content/articles/315/.

Inicie el programa 1C:Enterprise, vaya al menú Herramientas, seleccione Formularios de impresión externa. Agregue una nueva entrada a la lista de formularios. Para ello, seleccione el archivo de procesamiento creado y en la sección tabular indique que el formulario pertenece al documento “Venta de bienes”. Compruebe que la nueva plancha de impresión funcione correctamente. Para hacer esto, abra el documento creado, calquelo, luego en la parte inferior de la pantalla haga clic en el botón “Imprimir”, seleccione la opción “Formulario de impresión externa”.

Fuentes:

  • cómo cambiar un formulario impreso en 1c

Para crear y editar formularios de objetos, el programa 1C:Enterprise proporciona un editor de formularios especial (o Diseñador de formularios). Los formularios de objetos de solución de aplicación están diseñados para representar visualmente los datos mientras se trabaja con el programa. El editor de formularios contiene varias pestañas que brindan la posibilidad de editar todos los elementos del formulario.

Necesitará

  • computadora, programa 1C

Instrucciones

Usando el editor de formularios, puede agregar uno o más elementos "Grupo - Páginas" al formulario; para hacer esto, haga clic en el signo más verde en la esquina superior izquierda del editor mientras está en la pestaña "Elementos".
En el modo 1C:Enterprise, todos los elementos del grupo existente se mostrarán cada uno en una pestaña separada. Para colocarlo encima o debajo del de trabajo, en la ventana "Propiedades" de un grupo en particular, en el elemento "Pantalla", seleccione el comando apropiado.

También puede agregar elementos al formulario arrastrando los detalles requeridos al árbol de elementos. Para que sea más fácil navegar por los controles del formulario al editar o ingresar datos, establezca el orden que más le convenga, organizando los elementos en el árbol y subordinándolos a otros elementos, y configurando las propiedades de los elementos del grupo para satisfacer sus necesidades.
Para editar los detalles del formulario: cambiarlos, crear nuevos o eliminarlos, utilice el panel en el área del árbol de detalles en la pestaña correspondiente.

Para editar la interfaz de comando, vaya a la pestaña correspondiente. Verá un árbol de comandos, cuyas ramas principales son el "Panel de navegación" y el "Panel de comandos". Algunos comandos se agregan automáticamente al árbol de la interfaz de comandos, pero también puede agregarlos usted mismo arrastrando los comandos que necesita desde la lista de comandos globales (generales) o desde la lista de comandos del formulario.

Los comandos del formulario se editan en la lista correspondiente. Puede agregarlos, eliminarlos de la lista, establecer propiedades para cada comando usando la paleta de propiedades, a la que puede llamar haciendo clic en el ícono de lápiz en la línea de comando de la lista.
Para editar los parámetros del formulario, vaya a la pestaña "Parámetros", donde también puede agregarlos, eliminarlos y establecer las propiedades deseadas.

Vídeo sobre el tema.

El plan de cuentas, utilizado en contabilidad para mostrar las actividades económicas de una empresa, admite una jerarquía de varios niveles: cuenta - subcuentas. Para que el usuario pueda ver los datos contenidos en el plan de cuentas y corregirlos, el sistema 1C le permite cambiar la forma de la cuenta. Además, la forma impresa de la factura se puede cambiar en cualquier otro documento en 1C.

Necesitará

  • - computadora personal con 1C.

Instrucciones

Se proporciona contabilidad analítica para cada cuenta o subcuenta. Por lo tanto, al crear y editar posteriormente un plan de cuentas en 1C, se puede proporcionar la cantidad requerida de subcuentas, es decir, objetos de contabilidad analítica. Además, los ajustes a las cuentas y subcuentas pueden ser realizados por un usuario que trabaja con un sistema de contabilidad automatizado o por un desarrollador de software.

Cómo agregar (registrar) un formulario (o procesamiento) impreso externo en 1C Contabilidad 8.3 (revisión 3.0)

2019-05-15T13:40:54+00:00

A menudo, un contador necesita un formulario impreso adicional para uno de los documentos estándar 1C: Contabilidad 8.3 (revisión 3.0). O se necesita procesamiento adicional, por ejemplo, para completar automáticamente un documento o ingresar uno nuevo basado en él. Por lo general, alguien ya ha desarrollado una característica de este tipo y se puede encontrar o solicitar a un programador. Y ahora recibida la revisión, solo queda agregarla al departamento de contabilidad. ¿Cómo hacerlo? Más sobre esto a continuación, paso a paso.

1. Abra 1C Accounting 3.0 y seleccione la sección "Administración" -> "Imprimir formularios, informes y procesamiento" en el panel izquierdo:

2. Aquí, busque y seleccione "Informes y procesamiento adicionales", después de marcar la casilla de verificación "Informes y procesamiento adicionales" a la izquierda:

3. Haga clic en el botón "Agregar desde archivo...".

4. Y seleccione el archivo con formulario de impresión o procesamiento externo (extensión epf).

5. En la nueva ventana, haga clic en el botón "Guardar y cerrar".

6. Abra el documento deseado y asegúrese de que aparezca otra opción de formulario imprimible en el botón Imprimir o un elemento en el menú "Crear basado en" o un nuevo botón en la barra de herramientas del formulario. ¡Listo!

Atentamente, Vladímir Milkin(profesor y desarrollador).

La vida continúa, la legislación cambia, el desarrollador publica actualizaciones de configuración y nuevamente tenemos una opción: instalar la actualización nosotros mismos o llamar nuevamente al programador para “instalar una nueva versión”...

Conozcamos el mecanismo para cambiar los formularios de impresión sin cambiar la configuración.


En la práctica de cada contador que usa 1C, alguna vez ha existido la necesidad de modificar la configuración por sí mismo: algunos ajustaron la precisión del precio o monto en la factura, algunos insertaron un logotipo y ajustaron la apariencia de la factura. Todo estaría bien, pero muchos de estos cambios se acumulan con el tiempo y cuando llega el momento de actualizar la versión, surge un dilema: perder todos los cambios realizados o llamar a un programador para transferir todos los cambios a la nueva versión (de curso por un costo adicional). ¿Cómo ser? Para simplificar de alguna manera la actualización de configuraciones, los desarrolladores crearon un nuevo mecanismo: "Procesamiento externo, formularios impresos, procesamiento para completar partes tabulares". Hoy veremos sólo una parte de este mecanismo: la impresión de formularios.


Cualquier tema se aprende mejor con el ejemplo. Plantémonos la siguiente tarea: agregar a la configuración la posibilidad de imprimir una factura (documento “Ventas de bienes y servicios”) con el logotipo de nuestra empresa. Además, es necesario que en el encabezado del documento las inscripciones "proveedor" Y "comprador" fueron resaltados en negrita y finalmente es necesario que en la parte inferior del documento haya un lugar para la firma del servicio de seguridad que autorizó el envío.


Introduzcamos dos condiciones adicionales:

  • El nuevo formulario impreso debe reemplazar al formulario anterior. "Factura"
  • La configuración no se puede cambiar, ya que queremos utilizar la actualización automática de la configuración en el futuro.

Bueno, ¿cuál es la tarea? ¿Parece demasiado complicado? Bueno, cuanto más complejo es, más interesante es y más ganas tienes de resolverlo. Entonces ponte a trabajar.


Lanzamos nuestra base de datos en modo Configurador. Abra la configuración seleccionando el comando en el menú principal "Configuración > Abrir Configuración". No cambiaremos la configuración en sí bajo ninguna circunstancia. Lo usaremos como prototipo. Haremos el trabajo principal aquí, pero editaremos el procesamiento externo. Creamos procesamiento externo con un comando en el menú principal. "Archivo > Nuevo". Seleccionar el tipo de documento "Procesamiento externo". Para el primer procesamiento, establezcamos un nombre. "Factura de marca"


¡Importante! El nombre del procesamiento no debe contener espacios, al igual que los nombres de las variables.


Ahora hagamos un poco "plagio". Copiemos el diseño. "Factura" del documento "Venta de Bienes y Servicios". Para ello lo encontraremos en la sucursal. "Documentación"árbol de configuración. Expande este hilo haciendo clic en el ícono «+» y encontrar el diseño que necesitamos "Factura"(está en el hilo "Diseños"). Para copiar este objeto, debe seleccionar este diseño en el árbol y ejecutar el comando "Editar > Copiar"(la misma acción ocurre con la combinación CTRL+C). Ahora vayamos al procesamiento que creamos, seleccione una etiqueta en el árbol "Diseños" y en el menú principal seleccione el elemento - "Editar > Pegar" (CTRL+V). El resultado debería parecerse a la Figura 1.


Ahora haga doble clic para abrir el diseño.

¿Qué es un "diseño"?

Digamos algunas palabras sobre el propósito del diseño.

Disposición- almacenamiento "bloques de construcción", áreas a partir de las cuales, como ladrillos, se construye un documento tabular, al que estamos acostumbrados a llamar formulario impreso. Las áreas se definen mediante secciones horizontales y verticales o sus intersecciones. Nuestro diseño tiene solo secciones horizontales: “Encabezado”, “Proveedor”, “Comprador”, “Encabezado de tabla”, “Fila” (ver Fig. 2). Un área es un conjunto de celdas. Al igual que en MS Excel, las celdas se pueden fusionar, se pueden cambiar los colores del texto y el fondo, las fuentes, etc. Todas las configuraciones de la celda se pueden ver y cambiar en la ventana de propiedades de la celda. Puede abrir la ventana de configuración haciendo clic derecho en la celda y seleccionando el elemento del menú contextual "Propiedades"(el mismo resultado se logra con el atajo de teclado Alt+Entrar).


Una celda puede contener uno de tres tipos de valores:

  1. texto– un valor de este tipo se imprimirá de la misma forma;
  2. parámetro– una celda de este tipo contiene el nombre de una variable cuyo valor se imprimirá.
  3. muestra– Las celdas de este tipo son una combinación de la primera y la segunda opción. La celda puede contener texto y variables. Para que un programa distinga el texto de una variable, las variables deben estar entre corchetes: "Hoy es [fecha]".

¡Importante! El editor de tablas muestra los valores de las celdas del segundo y tercer tipo entre paréntesis triangulares. En la Figura 2 hay una celda con texto. "Comprador"- parece texto y está a la derecha de la celda "Presentación del comprador"- parámetro.

¿Por qué cuento todo esto? Ahora sabe en qué celdas puede cambiar fácilmente el contenido y en cuáles no es deseable cambiar nada, ya que deberá realizar cambios en el algoritmo de impresión.

Volvamos ahora a nuestra tarea. Creamos el procesamiento, copiamos el diseño y estamos listos para modificarlo a nuestra medida. Primero, echémosle un vistazo más de cerca.

¿Qué se incluye en el diseño imprimible?

La estructura de diseño de todos los documentos es muy similar. Habiendo examinado cuidadosamente un documento, podemos entender otros. Primera sección "Título". Cuando se muestre esta sección, se generará un encabezado de documento, que consta del tipo, fecha y número de documento. Le siguen secciones "Proveedor" y "Comprador", en el que el programa mostrará información sobre el proveedor y comprador, respectivamente. La siguiente es una sección más interesante. "Información adicional", que los desarrolladores utilizan para mostrar otra información en el documento, por ejemplo, información sobre el contrato con su número y fecha. La peculiaridad de esta sección es que se puede mostrar muchas veces y cada vez puede contener información diferente. Qué imprimir exactamente y cuándo se describe en el algoritmo de impresión.

Esto completa el encabezado del documento. El encabezado suele ir seguido de una sección tabular. Curiosamente, el diseño describe dos opciones para mostrar la parte tabular: "Encabezado de tabla", "Cadena" y "Lugares de tabla de encabezado" Y "Lugar de cadena". Dependiendo de si tu columna está llena o no "más" en el documento se utilizará la primera o segunda opción para mostrar la parte tabular del documento. El lector curioso probablemente ya se habrá preguntado: ¿por qué en la sección de salida del encabezado? "Precio" Y "Suma"¿Se colocan entre paréntesis triangulares como si fueran variables? Así es, estas son variables en las que, dependiendo de la configuración del documento, se mostrará la inscripción. "Precio", "Precio con IVA" o "Precio sin IVA" y lo mismo ocurre con la cantidad.

Bueno, a continuación en el diseño hay secciones con la ayuda de las cuales se muestran los resultados del documento y la firma.

Editando el diseño

Sería bueno colocar el logo encima de la información sobre el proveedor y el comprador. Sugiero editar el área de diseño. "Título". Es necesario reducir el tamaño de la celda que contiene el contenido. "Texto del título". Esta celda consta de varias celdas fusionadas. Cambiamos el tamaño de la siguiente manera:

  1. Copiemos cuidadosamente el contenido de la celda fusionada. "Texto del título"(para hacer esto, debe seleccionar la celda y usar el comando “Editar > Copiar” o método abreviado de teclado CTRL+C)
  2. Habiendo seleccionado esta celda, seleccione el elemento en el menú principal "Tabla - Fusionar", lo que provocará el efecto contrario: la celda fusionada se dividirá en muchas celdas originales
  3. Ahora seleccionemos un número menor de celdas (en lugar de la celda 2 de la columna, comenzaremos a fusionar desde la columna 6 y terminaremos en la columna 32) y hagamos clic en el botón nuevamente. "Unir"
  4. Equipo "Editar > Pegar" (CTRL+V) insertar el contenido de la celda fusionada anterior en la nueva celda fusionada
  5. Simplemente borramos las celdas liberadas en las columnas 2 a 5 (seleccionalas y presiona la tecla Eliminar)

Ahora puedes insertar una imagen con un logo en el espacio libre. Para hacer esto, seleccione el elemento en el menú. “Tabla > Imágenes > Imagen...”. Busque el archivo con nuestro logo en el disco y haga clic en “ DE ACUERDO" Ahora muevamos la imagen al espacio libre. El resultado debería verse como en la Figura 3.


Ahora resaltemos los valores en las celdas en negrita. "Proveedor" Y "Comprador"(Figura 4). Para hacer esto, busque el parámetro en las propiedades de la celda. "Fuente" y establezca el estilo en negrita.



Y por último queda añadir la firma del servicio de seguridad. Publicaremos esta información en la sección "Firmas". Para obtener espacio para firmas es necesario ampliar la sección. Seleccione la línea 37, haga clic derecho sobre ella y seleccione "Expandir", y así sucesivamente dos veces. En una de las líneas agregadas colocaremos un lugar para la firma del servicio de seguridad. Como resultado, todo debería verse como en la Figura 5.



¡Importante! En una configuración típica se utilizan dos idiomas: ruso y ucraniano. El diseño almacena la representación del texto en ambos idiomas (el diseño de las celdas es general). Para ingresar la versión ucraniana de la inscripción que agregamos, debe ir a las propiedades de la celda y al campo "Texto" presiona el botón "buscar". Se abrirá una ventana para ingresar representaciones de texto en diferentes idiomas (Fig. 6).

Cómo garantizar la impresión

Entonces el diseño está listo. Ahora es el momento de trabajar en el algoritmo para imprimirlo.

Para que podamos integrar fácilmente este diseño en la configuración y usarlo, el procesamiento que creamos debe cumplir las siguientes condiciones:

  1. Necesitas crear accesorios en el procesamiento. "Enlace de objeto" con tipo "Cualquier enlace"
  2. Necesita crear un procedimiento en el módulo de procesamiento. "Imprimir() Exportar" sin parámetros y asegúrese de especificar la palabra clave " Exportar"

El primer punto es necesario para que el algoritmo de impresión sepa dónde obtener los datos para imprimir, y el segundo es el algoritmo de impresión en sí. Cumplamos estas condiciones.

En el panel de la ventana, seleccione la ventana para editar nuestro procesamiento (en la Figura 7). Se abrirá una ventana con un árbol de objetos para nuestro procesamiento. Seleccionando una sucursal "Requisitos" y presione el botón "Agregar",. Se abrirá la ventana de propiedades del atributo. Ingresemos el nombre - "Enlace de objeto" e indicar el tipo "Cualquier enlace". Ahora podemos pasar al texto del módulo de impresión. No lo escribiremos desde cero, sino que lo copiaremos del documento. "Venta de Bienes y Servicios".



Para hacer esto, busque en el árbol de configuración entre los documentos. "Venta de Bienes y Servicios", haga clic derecho sobre él y seleccione "Abrir módulo de objeto"(ver Figura 8).



Esto abrirá el módulo de documentos. Necesitamos la primera función. "Imprimir documento". Su texto debe ser seleccionado y copiado. Es muy conveniente resaltar el texto de una función cuando está colapsada, pero también debes resaltar la línea debajo, de lo contrario corres el riesgo de copiar solo el título.

Vea en la Figura 9, hemos resaltado el título y la línea debajo de él. Después de eso, cópialo al portapapeles. Menú principal "Editar > Copiar" (o CTRL+C).



Hemos memorizado el texto en el portapapeles, ahora pasemos nuevamente a nuestro procesamiento. "Factura de marca". Haga clic en el botón "Acciones > Abrir módulo de objetos"(Figura 10).



Pega el texto copiado: "Editar > Pegar" (o CTRL+V).

Ahora es necesario editar ligeramente el texto copiado, ya que fue escrito para imprimir a partir del documento mismo y lo recopilamos a partir de un procesamiento externo. Para hacer esto necesitas:

  1. Cambiar el nombre de la función a "Imprimir"
  2. Reemplazar "Este objeto" en "Enlace de objeto"
  3. Reemplazar "Este objeto" en "Enlace de objeto"
  4. Reemplazar "Cuenta bancaria de la organización" en "Enlace a la cuenta bancaria del objeto.Organización"
  5. Reemplazar "Productos. Resumen" en "Enlace a objeto.Productos.Total"

Para estas acciones puede utilizar el elemento del menú principal. "Editar > Reemplazar".

Después de esto, debes verificar la sintaxis. Existe una combinación mágica para esto: CTRL+F7. Como resultado, debería aparecer el siguiente mensaje: "¡No se encontraron errores de sintaxis!"

Pues con esto hemos completado todo el trabajo sucio. Ahora podemos guardar los resultados de nuestro trabajo en un archivo, por ejemplo "Factura de marca.epf". Para hacer esto, debe activar la ventana para este procesamiento y guardarla usando el menú principal del programa. "Archivo > Guardar como...". Nombre del archivo de procesamiento – "Factura de marca.epf"(se ofrecerá por defecto). Puede guardarlo temporalmente en su escritorio para poder encontrarlo más rápido más tarde.

¡Importante! Como vio, no hicimos ningún cambio dentro de nuestra configuración. Para todas las acciones descritas anteriormente, ni siquiera es necesario eliminarlo del soporte (es decir, habilitar la capacidad de cambiar).

Conexión de procesamiento externo a la configuración

Ahora podemos conectar el procesamiento a nuestra factura. Para hacer esto, inicie en modo. Ir al menú "Servicio", donde hay tres puntos relacionados con el mecanismo “Procesamiento externo, impresión de formularios, procesamiento para completar partes tabulares”. En nuestro caso, solo necesitamos el artículo. "Formularios de impresión externa"(ver figura 11).



Esto abrirá el directorio. "Procesamiento externo", con selección por tipo "formularios impresos". Almacenará una lista de todos los formularios impresos externos, indicando para qué documentos son y en qué casos deben mostrarse.



¡Importante! El procesamiento en sí se almacenará en la base de datos junto con otros datos, es decir, después de guardar el procesamiento dentro de la base de datos, no necesitaremos un archivo externo.

Necesitamos crear un nuevo elemento en el directorio. Hacer clic Insertar. Ahora veamos el contenido del elemento. En el nombre incluimos una breve descripción significativa de la esencia de este formulario, por ejemplo, "Factura de empresa". Como cualquier otro directorio, también tiene un código. Dejémoslo por defecto. El atributo de tipo se completa de forma predeterminada y no se puede editar. "Forma impresa". Y el último elemento del encabezado es un comentario. Aquí, como siempre, hay más detalles sobre el propósito del formulario de impresión. Además del encabezado, los elementos de este directorio tienen dos marcadores. El segundo contiene información sobre la restricción de los derechos de acceso a este procesamiento. Este tema está fuera del alcance de este artículo (hablaremos sobre esta y otras configuraciones de derechos de acceso sin modificar la configuración en uno de los próximos números).

Echemos un vistazo más de cerca a la primera pestaña.

La pestaña contiene cuatro columnas. Representación de objetos– el tipo de documento para el que nos gustaría utilizar nuestro formulario de impresión,

Selección– una condición bajo la cual este formulario impreso debería estar disponible. Por ejemplo, rediseñamos la forma impresa de la factura y la tradujimos al inglés. Y queremos clientes de la carpeta. "Europeo" en lugar de un formulario impreso estándar "Factura de venta" Se imprimió un nuevo formulario en inglés. Para hacer esto, puedes usar la columna. "Selección". Un ejemplo de dicha selección se muestra en la Figura 13.



Pero en nuestra tarea no se necesitan selecciones.

Archivo de formulario imprimible– indica el archivo del cual tomar el procedimiento de diseño e impresión. En esta celda debes seleccionar el archivo que guardamos en el escritorio.

Placa de impresión reemplazable– si queremos que el formulario impreso que creamos reemplace uno de los estándar para este documento, entonces debemos indicar cuál necesita ser reemplazado. Si no hay nada que seleccionar, aparecerá un formulario impreso adicional.

En nuestro caso, necesitamos "Factura de marca" se imprimió en lugar de la factura habitual. Para ello seleccione en este campo "Factura de venta".

Ahora guardemos este elemento. Y abre cualquier factura.

Debería verse como se muestra en la Figura 14.



Bueno, con esto concluye la tarea que nos propusimos al principio del artículo. Creemos que pudimos ilustrar las posibilidades que abre para el usuario el uso del mecanismo de procesamiento externo.

Para consolidar sus habilidades, puede intentar agregar de forma independiente a la configuración un formulario impreso adicional "Al almacén" para el documento "Recepción de bienes y servicios", que repetiría la factura habitual, pero sin precios ni montos, y también contienen campos para ingresar la cantidad aceptada.

Buenas tardes.

Hoy quiero contarles cómo crear formularios impresos externos para la configuración “Gestión de Salarios y Personal 3.0”. Como usted sabe, ZUP 3.0 utiliza una biblioteca de subsistemas estándar, lo que significa que la estructura de procesamiento se ve completamente diferente. Cuando por primera vez tuve que hacer un formulario impreso para BSP en formularios administrados (entonces era UT 11), lo primero que hice fue ir al disco ITS para encontrar allí documentación detallada sobre qué procedimientos de exportación, qué parámetros deberían ser procesado y cómo funciona todo. Aquí me decepcionó un poco, porque... Allí se dice todo sobre cómo deben verse los procedimientos en el módulo de documentos, y en el formulario impreso externo se reorganizan los parámetros del procedimiento de "impresión", por lo que tuve que buscar información en otras fuentes y jugar con el subsistema desde adentro. .

Bueno, comencemos. Lo que obtenemos al final se puede utilizar como plantilla.

Paso uno- obvio. Creemos un nuevo procesamiento. Asignemosle un nombre arbitrario: "Imprimir muestra".

Segundo paso. Creemos un diseño. Como tenemos un ejemplo de prueba, crearé el diseño más simple, sin un solo parámetro.

Paso tres- El más interesante. Abra el módulo de objeto y comience a programar. Según el BSP, al registrar un procesamiento externo, éste (el procesamiento) debe indicar qué puede hacer, a qué objetos está adjunto y cómo se llama. Cuando se le pregunta qué procesamiento puede realizar, debería devolver una lista de comandos; esta es una tabla de valores. En nuestro caso, el procesamiento puede generar un formulario impreso, por lo que solo habrá un comando. Para generar una tabla de valores definiremos un par de procedimientos que serán siempre los mismos en todos los formularios impresos externos:

//procedimiento que prepara la estructura de la tabla de comandos

Función GetTableCommand()

// Crea una tabla de comandos vacía y columnas en ella
Comandos = Nueva tabla de valores;

// Cómo se verá la descripción del formulario impreso para el usuario
Commands.Columns.Add("Ver", NewTypeDescription("Fila"));

// El nombre de nuestro diseño, para que podamos distinguir el comando llamado en el procesamiento de impresión.
Commands.Columns.Add("Identificador", Nueva descripción de tipo ("Cadena"));

// Esto establece cómo se debe llamar el comando de procesamiento
// Posibles opciones:
// - OpeningForm - en este caso, la columna del identificador debe indicar el nombre del formulario que abrirá el sistema
// - CallClientMethod - llama al procedimiento de exportación del cliente desde el módulo de formulario de procesamiento
// - Llamar a ServerMethod - llamar a un procedimiento de exportación del servidor desde el módulo de objeto de procesamiento
Commands.Columns.Add("Uso", Nueva descripción de tipo ("Fila"));

// El siguiente parámetro especifica si se debe mostrar una notificación cuando comienza y finaliza un trabajo de procesamiento. No tiene sentido al abrir el formulario.
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// Para un formulario impreso, debe contener la cadena PrintMXL
Commands.Columns.Add("Modificador", New TypeDescription("Fila"));

Equipo de regreso;

Función final

//Crea una nueva fila en la tabla de comandos

Función AddCommand(CommandTable, Ver, Identificador, Uso, ShowAlert = False, Modificador = "")
NuevoComando = CommandTable.Add();
Nuevo equipo. Ver = Ver;
Nuevo equipo. Identificador= Identificador;
Nuevo equipo. Uso = Uso;
Nuevo equipo. MostrarAlerta= MostrarAlerta;
Nuevo equipo. Modificador= Modificador;
Función final

Función InformationOnExternalProcessing() Exportar
Parámetros de Registro = Nueva Estructura;
ArrayDestinations = Nueva matriz;
Matriz de Asignaciones.Add("Documento.Contratación");
Parámetros de registro.Insert("Ver", "Imprimirformulario"); //quizás - Llenar un objeto, Informe adicional, Crear objetos relacionados...
Parámetros de registro.Insert("Destino", Matriz de destino);
Parámetros de registro.Insert("Nombre", "Hola mundo"); //nombre bajo el cual se registrará el procesamiento en el directorio de procesamiento externo
Parámetros de registro.Insert("Versión", "1.0");
Parámetros de registro.Insert("SafeMode", TRUE);
Registration Parameters.Insert("Information", "SAMPLE");//así es como se verá la descripción del formulario imprimible para el usuario
Tabla de comandos = GetCommandTable();
AddCommand(CommandTable, "Hola Mundo", "Diseño", "CallServerMethod", Verdadero, "Impresión MXL");
Parámetros de registro.Insert("Comandos", CommandTable);
Parámetros de registro de devolución;
Función final

En realidad, tendrás que modificarlo cada vez que crees un nuevo formulario de impresión externo. Del fragmento de código queda claro que lo vincularemos al documento "Contratación", en consecuencia, usted escribirá el suyo propio. Nuestro formulario impreso se llamará "Hola mundo", nuevamente lo cambiaremos por el nuestro. Aquí sería conveniente escribir en la plantilla un cartel obvio para que llame la atención, para no olvidarnos de corregirlo después, en mi opinión “Hola mundo” viene muy bien. La versión es para ti, escribe lo que quieras, se mostrará como un elemento en el directorio de procesamiento externo. La palabra "MUESTRA" también es visible sólo en forma de directorio de formularios impresos. A continuación, agregamos un comando, aquí el segundo parámetro es el nombre del botón, esto es lo que el usuario verá en el documento en el elemento del menú "imprimir".

Este conjunto de tres procedimientos es suficiente para que el procesamiento sea agregado al directorio de procesamiento externo, todo este código confuso es servicio y no tiene nada que ver con el algoritmo de impresión. De hecho, los autores de BSP nos obligaron a programar de una manera tan difícil que si antes comenzaba inmediatamente a escribir la función "Imprimir", ahora, cuando escribe el procesamiento desde cero, y no según una muestra, perderá el tiempo en el servicio. Anteriormente, los parámetros de registro eran opcionales y se indicaban en el diseño del procesamiento, ahora todo parece mucho más serio. La primera impresión cuando vi esto fue genial, tantas posibilidades, todo está unificado... pero en la práctica siempre creo un solo comando en un procesamiento y lo vinculo a un documento. Aquellos. de hecho, necesito dos líneas para registrarme: nombre del objeto, nombre del botón. Y aquí todo es tan... bueno, bueno, no me corresponde a mí juzgar.

Paso cuatro- no menos interesante.

¿Función IMPRIMIR?

Pero no, ahora no es una función, sino un procedimiento.

¿Cómo puedo recuperar el diseño?

Envíelo a la función del módulo del subsistema de impresión global.

Bueno

Aquí está el texto de este procedimiento:

Procedimiento Imprimir (matriz de objetos, colección de PrintForms, PrintObjects, parámetros de salida) Exportar
Si PrintManagement.NeedPrintLayout (CollectionPrintForms, "Diseño") Entonces
Gestión de impresión. Salida de documento tabular en colección (Colección de formularios de impresión,
"Diseño", "Diseño",
GenerateTabDocumentSample(Matriz de objetos, Imprimir objetos));
terminara si;
Fin del Procedimiento

Ahora para una aclaración. La primera línea del procedimiento contiene una condición ligeramente confusa. El caso es que cuando llamamos al procedimiento de impresión, el sistema nos pasa una tabla de valores, que indica lo que necesitamos imprimir. Básicamente, la función ManagePrint.NeedPrintLayout(...) comprueba la presencia en la tabla de valores de una fila en la que en la columna "Nombre" hay una fila con el nombre del diseño. En la práctica, en la mayoría de los casos la cosa es inútil, porque... nuestro procesamiento podrá generar solo un formulario impreso. Aquellos. Esta condición se puede omitir y no afectará el rendimiento.

A continuación, Gestión de impresión Salida TabularDocumentIntoCollection(...): esto es lo que agrega el diseño tabular donde se necesita, para que luego se pueda mostrar en la pantalla. Si necesita mostrar su documento de hoja de cálculo en su propia ventana (no en una ventana estándar), no llame a este procedimiento, simplemente escriba su código aquí.

También me gustaría agregar que el procedimiento de Impresión se realiza en el cliente y, si es necesario, puede abrir un formulario gratuito aquí para solicitar al usuario la información adicional necesaria para imprimir.

A continuación, GenerateTabDocumentSample(...) es una función que tenemos que escribir en el módulo de procesamiento y que devuelve un documento tabular. En 100 de cada 100 casos estará basado en servidor, porque... Necesitamos obtener el valor de los detalles de los objetos enumerados en el parámetro "Matriz de objetos".

Paso cinco- crear un diseño.

Hurra, finalmente llegaremos al algoritmo de diseño, recuperación de datos, etc.

Pero en nuestra muestra actuaremos de manera prosaica y ni siquiera comentaré aquí)))

Función GenerateTabDocumentSample (matriz de objetos, objetos de impresión)
tabDoc = Nuevo documento tabular;
diseño = GetLayout("Diseño");

AreaHeader = Layout.GetArea("Encabezado");
tabDoc.Output(areaHeader);

Volver TabDoc;
Función final

Eso es todo, gracias por su atención.

Los formularios impresos externos para una aplicación normal (para la configuración Contabilidad Empresarial 2.0, Gestión de Salarios y Recursos Humanos 2.5, Gestión Comercial 10.3, etc.) se crean de forma bastante sencilla en comparación con los formularios impresos externos para una aplicación gestionada.

¿Por qué crear formularios de impresión externos?

La ventaja de un formulario impreso externo frente a uno convencional es que permite evitar cambiar la configuración de la base de información. Esto significa que el proceso de actualizaciones de configuración posteriores no será complicado. Además, los formularios impresos externos, junto con el procesamiento externo, son la única opción para ampliar la funcionalidad de las versiones básicas de las configuraciones 1C, que no se pueden cambiar en absoluto.

Y una última cosa: los formularios impresos externos son más fáciles de replicar, porque son un archivo separado que se puede conectar rápidamente a la base de información.

Cómo crear un formulario de impresión externo

Veamos el proceso de creación de un formulario impreso 1C externo paso a paso:

  1. Creamos procesamiento externo. Para hacer esto, seleccione el elemento del menú en el configurador. Archivo - Nuevo... Y en el cuadro de diálogo que se abre... Procesamiento externo.
  2. Cree un atributo de procesamiento externo con el nombre Referencia de objeto. El tipo de atributo es un vínculo a un directorio o documento para el cual se está creando un formulario impreso externo. El mismo formulario se puede utilizar para varios tipos de objetos, en este caso el tipo de datos del atributo Referencia de objeto debe ser compuesto.
  3. En el módulo de objetos creamos una función de exportación con el nombre Sello, que debería devolver un documento de hoja de cálculo impreso ya preparado.

A menudo sucede que es necesario ajustar ligeramente el diseño de un formulario impreso existente y hacerlo externo. Por ejemplo, agregue el sello de la organización y la firma del gerente al diseño.

Crear un formulario de impresión externo basado en uno estándar con cambios menores

Consideremos este procedimiento usando el ejemplo de creación de una forma impresa externa de un documento de transferencia universal para un documento. Ventas de bienes y servicios. 1C: Contabilidad. Se diferenciará del formulario impreso estándar por la presencia del sello de la organización.

  1. Crear procesamiento externo con accesorios. referencia de objeto, tipo de datos - DocumentLink Ventas de Bienes y Servicios.
  2. Buscamos el diseño del formulario impreso UPD estándar (se encuentra en los diseños generales) y lo copiamos (arrastramos) a la ventana de procesamiento externo. Los diseños de otros formularios impresos pueden ubicarse en los propios documentos o libros de referencia.
  3. Realizamos los cambios necesarios en el diseño copiado del formulario impreso.
  4. Encontramos la función encargada de generar el formulario impreso. Esta función debería devolver el documento de hoja de cálculo generado. Copie su contenido a la función de exportación. Sello() en el módulo de objeto de procesamiento externo.
    En nuestro caso esta es la función. PrintUniversalTransferDocument() Exportar desde el módulo de objeto de documento Ventas de bienes y servicios.
    Si los cambios de diseño fueron significativos (áreas y/o parámetros cambiaron), entonces se deben realizar los ajustes apropiados a la función de impresión.
  5. Estamos intentando guardar el procesamiento externo. Sin embargo, es probable que reciba mensajes de error que indiquen que faltan algunos de los procedimientos y funciones llamados por la función de impresión. Estas funciones y procedimientos deben encontrarse en el documento fuente y también copiarse en el módulo de objeto de procesamiento externo. O ajuste el enlace si se exporta la función o procedimiento original.
  6. (no es necesario). Para probar una forma de impresión externa, es conveniente hacer una forma sobre la cual colocar los accesorios. Referencia de objeto. Botón Ejecutar debe llamar a un procedimiento Sello() desde el módulo de objeto. Para hacer esto, al evento de clic del botón se le da un procedimiento: