¿Cómo obtener datos de la parte tabular de los documentos? 1c acceso a la parte tabular del documento.

Existen partes tabulares para muchos objetos en 1C:

  • Directorios
  • Documentación
  • Informes y tramitación
  • Planes de cuentas
  • Planos de tipo característico.
  • Planes de tipo de cálculo
  • Procesos y tareas de negocio.

Las partes tabulares le permiten almacenar una cantidad ilimitada de información estructurada que pertenece a un objeto.

Veamos algunas técnicas para trabajar con piezas tabulares.

Cómo omitir la parte tabular

Para recorrer la parte de la tabla, puede usar un bucle. Para cada

Para cada fila de la parte tabular del ciclo

Informe (atributo String. TabularPart);

FinCiclo;

En cada iteración de la variable Línea se transmite la siguiente fila de la sección tabular. Los valores de los detalles de la fila se pueden obtener mediante la expresión Línea.NombreAtributo.

Cómo obtener y omitir filas seleccionadas de la parte tabular

Para mostrar información de la parte tabular del objeto, use un elemento de formulario Campo de tabla. Para habilitar la capacidad de seleccionar varias filas en un campo de tabla, debe establecer el valor Múltiple en su propiedad Modo de selección.

Para obtener una lista de líneas seleccionadas, utilice el siguiente código:

Se utiliza un bucle para recorrer las líneas seleccionadas. Para cada:

Filas seleccionadas = Elementos de formulario. Nombre del campo de tabla. Filas seleccionadas;

Para cada fila del bucle de filas seleccionadas

//contenido del bucle

FinCiclo;

Cómo seleccionar mediante programación filas de una parte tabular (campo de tabla) y anular su selección

Para anular la selección de filas de un campo de tabla mediante programación:

Elementos de formulario. Nombre del campo de tabla. Filas seleccionadas. Claro() ;

Para seleccionar mediante programación todas las filas de un campo de tabla:

Para cada fila actual del bucle TabularPart
Elementos de formulario. Nombre del campo de tabla. Líneas seleccionadas. Agregar (fila actual);
FinCiclo;

Cómo borrar la parte de la mesa

Parte tabular. Claro() ;

Cómo obtener la fila actual de una sección de tabla

La línea actual es el periodo en el que el usuario tiene este momento se encuentra el cursor. Para obtenerlo, debe acceder al elemento de control en el formulario asociado a la parte tabular.

Para formularios regulares, el código se verá así:

Elementos de formulario. Nombre del campo de tabla. Datos actuales;

Para formularios administrados:

Elementos. Nombre del campo de tabla. Datos actuales;

Cómo agregar una nueva fila a una sección de tabla

Agregar una nueva línea al final de la sección de la tabla:

Nueva fila = Parte de tabla. Agregar() ;

Agregar una nueva línea en cualquier lugar de la sección de la tabla (las líneas siguientes se desplazarán):

Nueva fila = Parte de tabla. Insertar(Índice)
//Índice: número de la línea agregada. La numeración de líneas comienza desde cero.

Nueva línea. Props1 = "Valor";

Cómo completar mediante programación los detalles de una fila de la tabla

Si necesita completar mediante programación los detalles de una fila de sección de tabla agregada por el usuario, debe usar el controlador de eventos de sección de tabla Al comenzar a editar.

El procedimiento creado por el controlador tiene tres parámetros:

  • Elemento- contiene un elemento de control Campo tabular.
  • Nueva línea- booleano. Contiene valor Verdadero, si se agrega una nueva fila de la tabla, y Mentir, si el usuario comenzó a editar una línea ya existente.
  • Copiar- booleano. Contiene valor Verdadero, si el usuario copia la línea, y Mentir en otros casos.

Veamos un ejemplo. Digamos que necesitamos completar los detalles de la sección tabular. Cuenta cuenta, en caso de que se agregue una nueva línea. Al editar una línea existente, no es necesario cambiar la cuenta contable.

Procedimiento TabularPartAtStartEditing(Elemento, NuevaFila, Copiar)

//Si el usuario edita una línea existente, entonces no hacemos nada
Si NO es NewRow entonces
Devolver;
Terminara si ;

//Si la línea es nueva, configura la cuenta contable
TechString = Artículo. Datos actuales; //Obtener la fila actual de la parte tabular
Cadena técnica. Contabilidad = Planes de cuentas. Autoportante. Cuenta requerida;
Fin del Procedimiento

Para contabilizar el dinero y los bienes, en los negocios se utilizan ampliamente varias tablas. Casi todos los documentos son una tabla.

Una tabla enumera las mercancías que se enviarán desde el almacén. Otro cuadro muestra las obligaciones de pago por estos bienes.

Por lo tanto, en 1C, el trabajo con mesas ocupa un lugar destacado.

Las tablas de 1C también se denominan "partes tabulares". Directorios, documentos y otros los tienen.

La consulta, cuando se ejecuta, devuelve una tabla a la que se puede acceder de dos formas diferentes.

La primera selección, más rápida, es posible obtener filas a partir de ella solo en orden. El segundo es cargar el resultado de la consulta en una tabla de valores y luego acceder aleatoriamente a ella.

//Opción 1 – acceso secuencial a los resultados de la consulta

//obtiene la mesa
Seleccionar = Consulta.Ejecutar().Select();
// repasamos todas las líneas del resultado de la consulta en orden
Mientras que el bucle Select.Next()
Informe(Selección.Nombre);
Fin del ciclo;

//Opción 2: cargar en una tabla de valores
Solicitud = Nueva Solicitud ("SELECCIONE Nombre DEL Directorio.Nomenclatura");
//obtiene la mesa
Tabla = Consulta.Ejecutar().Descargar().
//además también podemos iterar a través de todas las líneas
Para cada fila del ciclo de la tabla
Informe(Cadena.Nombre);
Fin del ciclo;
//o acceder arbitrariamente a cadenas
Fila = Table.Find("Pala", "Nombre");

Una característica importante es que en la tabla que se obtiene del resultado de la consulta, todas las columnas estarán estrictamente escritas. Esto significa que al solicitar el campo Nombre del directorio de Nomenclatura, recibirá una columna del tipo Cadena con una longitud permitida de no más de N caracteres.

Tabla en el formulario (cliente pesado)

El usuario trabaja con la tabla cuando se coloca en el formulario.

Discutimos los principios básicos de trabajar con formularios en la lección sobre y en la lección sobre

Entonces, coloquemos la tabla en el formulario. Para hacer esto, puede arrastrar la tabla desde el panel Controles. De manera similar, puede seleccionar Formulario/Insertar control en el menú.

Los datos se pueden almacenar en la configuración; luego debe seleccionar uno existente (agregado previamente) parte tabular el objeto de configuración cuyo formulario está editando.

Haga clic en el botón "..." en la propiedad Datos. Para ver la lista de partes tabulares, debe expandir la rama Objeto.

Cuando selecciona la parte tabular, el propio 1C agregará columnas a la tabla en el formulario. Las filas ingresadas por el usuario en dicha tabla se guardarán automáticamente junto con el libro/documento de referencia.

En la misma propiedad de Datos, puede ingresar un nombre arbitrario y seleccionar el tipo de Tabla de valores.

Esto significa que se ha seleccionado una tabla de valores arbitraria. No agregará columnas automáticamente ni se guardará automáticamente, pero puedes hacer lo que quieras con él.

Al hacer clic derecho en la tabla puede agregar una columna. En las propiedades de una columna, puede especificar su nombre (como referencia en el código 1C), el encabezado de la columna en el formulario, la conexión con el atributo de la parte tabular (este último, si no se selecciona una tabla arbitraria, sino una parte tabular).

En las propiedades de la tabla del formulario, puede especificar si el usuario puede agregar o eliminar filas. Una forma más avanzada es la casilla de verificación Ver sólo. Estas propiedades son cómodas de utilizar para organizar tablas destinadas a mostrar información, pero no a editarla.

Para administrar la tabla, debe mostrar un panel de comando en el formulario. Seleccione el elemento del menú Formulario/Insertar control/Barra de comandos.

En las propiedades de la barra de comandos, seleccione la casilla de verificación Autocompletar para que los botones del panel aparezcan automáticamente.

Tabla en formulario (cliente ligero/administrado)

En en una forma manejable Estos pasos se ven un poco diferentes. Si necesita colocar una parte tabular en el formulario, expanda la rama Objeto y arrastre una de las partes tabulares hacia la izquierda. ¡Eso es todo!

Si necesita colocar una tabla de valores, agregue un nuevo atributo de formulario y en sus propiedades especifique el tipo – tabla de valores.

Para agregar columnas, use el menú contextual en este atributo de formulario, seleccione Agregar columna de atributo.

Luego arrastre también la tabla hacia la izquierda.

Para que una tabla tenga una barra de comandos, en las propiedades de la tabla, seleccione los valores en la sección Uso – Posición de la barra de comandos.

Subir una tabla a Excel

Cualquier tabla 1C ubicada en el formulario se puede imprimir o cargar en Excel.

Para hacer esto, haga clic derecho en espacio libre en la tabla y seleccione Lista.

En un cliente (ligero) administrado, se pueden realizar acciones similares usando el elemento del menú Todas las acciones/Lista de visualización.

Inicio Para desarrolladores principiantes Aprendiendo a programar

¿Cómo obtener datos de la parte tabular de los documentos?

Por ejemplo, considere una situación en la que necesita obtener todos los elementos especificados en la sección tabular. Bienes documentos Ventas de bienes y servicios.

Para hacer esto, puede utilizar una solicitud con el siguiente texto:

SELECCIONE VARIOS Ventas de Bienes y Servicios Bienes Nomenclatura AS Nomenclatura FROM Documento Ventas de Bienes y Servicios Bienes AS Ventas de Bienes y Servicios Bienes

Como fuente indicamos la parte tabular de los documentos - tabla Documento Ventas de Bienes y Servicios Bienes. Declaramos que el campo de salida es el campo Nomenclatura, que forma parte de la tabla fuente. Además, dado que el mismo artículo del producto, naturalmente, podría estar presente más de una vez en los documentos, utilizamos VARIOS para obtener solo las distintas filas en la tabla de resultados de la consulta.

Por ejemplo, creemos un procesamiento. Lista de productos, donde se selecciona el documento Ventas de bienes y servicios, y al hacer clic en el botón correspondiente, se muestra en la ventana del mensaje una lista de elementos no repetidos de la nomenclatura contenida en la parte tabular de este documento.

Para limitar la selección de elementos solo a elementos de la parte tabular de un documento específico, utilizamos el parámetro Enlace en la condición en la solicitud ( DÓNDE...):

SELECCIONE VARIOS Ventas de Bienes y Servicios Bienes Nomenclatura AS Nomenclatura DESDE Documento Ventas de Bienes y Servicios Bienes CÓMO Ventas de Bienes y Servicios Bienes DÓNDE Ventas de Bienes y Servicios Bienes Enlace = &Enlace




Arriba