Contactos

1c empresa 7.7 formulario impreso. Copiar un informe externo al directorio de la base de datos

La cuestión de la necesidad de imprimir en 1C un número grande Se han levantado documentos más de una vez, y en la red se pueden encontrar un número considerable de tratamientos dedicados a solucionar este problema. No hace mucho, esta pregunta surgió ante mí con la siguiente formulación: "Necesito un procesamiento que le permita imprimir muchas facturas, forma impresa- “TORG-12 (formulario 2011)” (tenemos un formulario impreso externo - nota del autor) ”.

Sin más preámbulos, tomo como base esa forma de impresión tan externa, cuelgo todo tipo de bonitos en el cuadro de diálogo para seleccionar facturas, corrijo el código y, listo, ¡todo está listo! Además - más: “Y también necesito imprimir estas facturas en grandes cantidades, pero en el formulario de impresión“ TORG-12 (Prom) ”(también tenemos un formulario de impresión externo - nota del autor). Aquí ya era necesario hacer algo más universal en caso de que, después de un tiempo, se volvieran a necesitar nuevos documentos o nuevos formularios de impresión.

Encontré la siguiente solución: ¡clases! La conclusión: envolvemos cada imprimible externo en una clase y lo llamamos desde el procesamiento de la impresión masiva de documentos. Las modificaciones a la placa de impresión externa para la clase son muy pequeñas y toman menos tiempo que su descripción en este artículo. Y es necesario finalizar lo siguiente:

  • - Declaramos la variable "Docum" y el procedimiento "Print ()" como exportación;
  • - eliminar definitivamente el procedimiento "OnOpening ()";
  • - copiamos la tabla original del procesamiento al archivo ".mxl" (ya que la clase no la verá dentro del procesamiento, por eso es la clase) y, en consecuencia, reemplazamos la expresión como "Table.SourceTable (" Table ");" en una expresión del tipo "Table. SourceTable (glCatalogPechForm +" Torg12.mxl ");";
  • - para obtener un paño para el pie con un montón de documentos, y no un montón de pañuelos, un documento a la vez, elimine la declaración como "Table = CreateObject (" Table ");" y "Tabla. SourceTable (glCatalogPechForm +" Torg12.mxl ");" del procedimiento "Imprimir ()" e insértelo en el módulo de procesamiento (agréguelo al final del módulo). En consecuencia, declaramos la variable "Tabla" como una variable de módulo;
  • - También eliminamos del procedimiento “Print ()” la expresión del tipo “Table.Show ()”, en su lugar agregamos el procedimiento de exportación “Show ()” con una sola línea: “Table.Show ();”. Este método se llamará después del bucle con “Print ();
  • - para nuevo documento fue impreso en nueva pagina, al final del procedimiento "Print ()", agregue una línea del tipo "Table.NewPage ()";
  • - Verificamos en el módulo la presencia de cadenas del tipo "Table.RepeatWhenPrintingStrings ();". De lo contrario, ¡habrá una sorpresa!
  • - bueno, por supuesto, prever la carga del componente externo 1crr.dll (si aún no lo tiene) y describir las clases en defcls.prm.

Como resultado, tenemos:

  1. El procesamiento es versátil: se puede implementar en cualquier configuración.
  2. Usando el ejemplo dado en este procesamiento, puede imprimir cualquier documento en cualquier forma impresa interna o externa. Cuando se lanza una nueva plancha de impresión, simplemente se agrega al procesamiento.
  3. El código de procesamiento se ha vuelto conciso y comprensible hasta el límite (y contiene alrededor de cien líneas). Para agregar un nuevo documento, solo necesita agregar unas pocas líneas de código al final del módulo usando copiar y pegar. Para agregar un nuevo imprimible a un documento existente, solo necesita agregar una línea de código.
  4. Para los no iniciados en POO, este es un gran ejemplo de qué son las clases y cómo ponerlas en práctica.

Si el procedimiento de impresión está en el módulo del formulario de documento, entonces la lógica del trabajo es la misma: el procedimiento "Imprimir ()" se copia y se envuelve en una clase. Es cierto que aquí habrá más mejoras: deberá agregar un enlace al documento (es decir, lo que se transmite por el contexto a un imprimible externo).

Desventajas: ya he escrito sobre líneas de código como "Table.RepeatWhenPrintingLines ();", con la ayuda de la cual se muestra el título de la sección tabular del documento en la página siguiente. Dado que la gran mayoría de los documentos caben en una página, comenté estas líneas y eliminé los encabezados y pies de página de los formularios impresos. Si alguien necesita mostrar estas líneas, será necesario finalizar el procesamiento. Pero esta es una falla en la implementación concreta, no en la idea en sí.

Como regla general, el usuario del programa 1C: Enterprise 7.7 puede actualizar de forma independiente su configuración de trabajo. Las siguientes son recomendaciones para actualizar una configuración típica sin modificar. Si se ha modificado su configuración, se han realizado mejoras en documentos, informes o formularios impresos, no se recomienda que actualice la configuración usted mismo. Le recomendamos que llame a un técnico cualificado para realizar los trabajos de renovación.

Cómo conectar de forma independiente informes externos y formularios externos imprimibles a la configuración en 1C: Enterprise 7.7

Copiar un informe externo al directorio de la base de datos.

El archivo de informe externo tiene la extensión "ert". Este es un informe externo directo. Por lo general, se adjunta un archivo de descripción con la extensión "efd" al archivo de informe externo. Este archivo es necesario para que el programa "encuentre" inmediatamente el informe y no necesite conectarse manualmente. Por ejemplo, el archivo de informe externo se llama "ApplicationAccountLog.ert", luego el archivo de descripción se llamará "ApplicationAccountLog.efd". Estos dos archivos (o uno si no hay ningún archivo con la extensión efd) deben copiarse al directorio de la base de trabajo. Para hacer esto, primero necesita encontrar el directorio de la base de trabajo. Después de eso, necesita encontrar el directorio "ExtForms" en el directorio base de trabajo.
Si está copiando un imprimible externo, entonces necesita encontrar el directorio "PrnForms" en el directorio "ExtForms". Copie ambos archivos en el directorio encontrado (ExtForms para informes externos y PrnForms para formularios externos imprimibles).

Conexión de un informe externo al programa mediante un procesamiento especial.

Para conectarse a la base de datos de informes externos, debe abrir el informe " Características adicionales"yendo al menú" Servicio "-" Funciones adicionales ".

Si ha copiado correctamente el informe externo y el archivo con la extensión efd, su informe externo aparecerá en la lista de informes externos.

Si el archivo de configuración efd no se copia, debe hacer lo siguiente:
Presione el botón "Cambiar", seleccione "Agregar a la lista" en el menú.

En la lista desplegable, seleccione el archivo de informe externo requerido (que se copió en el directorio ExtForms). Si el archivo requerido no está en la lista, esto puede deberse a dos razones: 1) El archivo se copió en la carpeta incorrecta, es decir, debe verificar cuidadosamente nuevamente que la copia sea correcta de acuerdo con el capítulo "Copiar un informe externo al directorio base de información. "2) El archivo se copió correctamente y ya está en la lista de informes externos. En este caso, debe revisar cuidadosamente la lista de informes externos y encontrar el informe recién agregado.
Después de seleccionar el archivo, se abrirá una ventana en la que debe especificar el nombre del informe externo. Ingrese un nombre arbitrario. Haga clic en el botón "Aceptar".

Después de eso, su archivo externo aparecerá en la lista de archivos externos.

Conexión de un formulario de impresión externo (adicional) al programa.

Para conectar un formulario de impresión externo, seleccione en el menú "Servicio" - "Registro de formularios de impresión externos".

A continuación, seleccione para qué documento, o para qué elemento o lista del libro de referencia, necesita conectar un imprimible externo. Por ejemplo, conectemos un imprimible externo para el documento "Envío de mercancías, productos". Para hacer esto, coloque el interruptor en el elemento "Documento" en el grupo "Formularios de impresión externos para". Luego seleccione del menú "Envío de mercancías, productos".

Los formularios de impresión externos conectados deben aparecer en la tabla. Si la tabla contiene el formulario que necesita, entonces se conectó automáticamente.
Si el formulario requerido no está en la tabla, debe hacer lo siguiente: Haga clic en el botón "Cambiar ..." y seleccione "Agregar a la lista" en el menú desplegable.

En la lista que se abre, seleccione el formulario que copió en el directorio PrnForms.

Si el formulario no está en la lista, significa que copió incorrectamente el formulario al catálogo. Una vez más lea con atención el capítulo "Copiar un informe externo al catálogo de la infobase".


Para comprobar la funcionalidad del nuevo imprimible externo, debe abrir un documento, lista o elemento del libro de referencia al que conectó el formulario y hacer clic en el botón con un pequeño triángulo junto al botón "Imprimir".

En la lista desplegable, seleccione un nuevo formulario de impresión.

En documentos para los que se proporciona la impresión de formularios imprimibles, a la izquierda del botón Sello hay un botón de lista.

Después de hacer clic en este botón, se le presenta al usuario una lista de formularios imprimibles para su selección. El primer formulario de la lista es estándar, el resto de formularios se registran como externos.

Tratamiento Registro de formularios externos imprimibles está diseñado para conectar nuevos formularios de impresión externos. Los formularios conectados se ofrecen en la lista de formularios imprimibles del documento.

El cuadro de diálogo de procesamiento contiene una tabla con una lista de formularios externos imprimibles. Para cada tipo de documento, lista o elemento de libro de referencia, se puede asignar cualquier número de formularios externos imprimibles.

En un grupo Planchas de impresión externas para Se establece el documento o libro de referencia para el que está conectado el imprimible. El grupo incluye tres interruptores:

  • Documento- el imprimible aparecerá en la lista de impresión del cuadro de diálogo del documento seleccionado a continuación;
  • Lista de directorio- el formulario impreso aparecerá en la lista de impresión del libro de referencia seleccionado a continuación;
  • Elemento de directorio- el imprimible aparecerá en la lista de impresión del cuadro de diálogo del elemento seleccionado debajo de la referencia.

Todos los formularios externos imprimibles se almacenan en un subdirectorio PrnForms catalogar EXTFORMAS... Cuando se inicia el procesamiento, el programa lee los formularios externos almacenados en este directorio. Cada fila de la tabla contiene el nombre de texto del archivo externo, el nombre del archivo y el nombre del botón que se asignará en el documento (referencia) para llamar al imprimible.

Debajo de la lista hay botones para trabajar con archivos externos.

Botón Abierto abre el archivo externo seleccionado. Esto abre el procesamiento Sello, en el que desea especificar un documento específico (o referencia) que desea imprimir utilizando un formulario externo.

Pulsando el botón Actualizar vuelve a llenar la lista de formularios externos imprimibles. El botón debe usarse después de escribir nuevos formularios externos imprimibles en el subdirectorio PrnForms.

Botón Cambio sirve para trabajar con una lista de archivos externos. Cuando se presiona el botón Cambio se abre un menú de cuatro elementos junto a él:

  • Cambie el nombre;
  • Botón de cambio;
  • Agregar a la lista;
  • Eliminar de la lista.

Al seleccionar un artículo Cambiar nombre el nombre de texto del archivo externo se mostrará para su edición en un cuadro de diálogo independiente.

Después de editar, el nuevo nombre del archivo externo aparecerá en la lista en lugar del anterior.

Al seleccionar un artículo Botón de cambio el nombre de texto del botón se emitirá para su edición en el mismo cuadro de diálogo. Después de editar, el nuevo nombre del botón también aparecerá en la lista.

Párrafo Agregar a la lista le permite agregar un nuevo formulario externo a la lista. Al seleccionar este elemento, se abrirá una lista de archivos de formularios externos ubicados en el subdirectorio PrnForms catalogar EXTFORMAS... El nombre del archivo y la información del nombre del botón se almacenan en Archivo de texto con extensión efd... Estos nombres se incluyen automáticamente en la lista. Puede cambiarlos si es necesario.

Párrafo Quitar de la lista después información adicional elimina una línea que describe un archivo externo de la lista. En este caso, el archivo en sí no se elimina, por lo que luego se puede agregar nuevamente a la lista.



¿Te gustó el artículo? Compártelo