Menú
Está libre
registrarse
el principal  /  Multimedia / Llene la tabla de valores 1C. ¿Qué métodos existen y cómo buscar simultáneamente en varios valores?

Rellenando la tabla de 1c valores. ¿Qué métodos existen y cómo buscar simultáneamente en varios valores?

Aquí está para empezar un pequeño hecho. ejemplos simples Trabajando con una tabla de valores:

1. Crea una tabla de valores.

Tablas \u003d nuevas tablas;


2. Crear valores de tabla de columnas:

Mesas. Colonges. COMPLETAMENTE ("NOMBRE");
Signos de la mesa. COACKCLOCKS. COMPLETAMENTE ("Apellido");


3. Agregue nuevas líneas usando nombres de columnas:


NewStock. Quiero decir \u003d "Vasily";
Newstock.familia \u003d "Pupkin";


4. Cómo buscar un valor en la tabla de valores:
Es necesario encontrar una cadena de tabla que contenga el valor deseado.

Fundación \u003d tablement. Noches. Intery (sofisticación);


5. Encuentre la primera entrada en ciertas columnas de la tabla de valores.

Fundación \u003d tablensas. Intercties (Sophons, "Proveedor, Comprador");


6. Si necesita encontrar toda la entrada en la tabla de valores:
Utilice la estructura de búsqueda.

Estructuración \u003d estructura ("empleado", entrante);
MasswordsNews \u003d Signos de la tabla. Entradas (estructuras);


Cree una estructura de búsqueda, cada elemento cuyo elemento contendrá el nombre de la columna como una clave y el valor deseado en esta columna, como un valor. Transmitimos la estructura estructural utilizando el método de carrera lejana () como parámetro. Como resultado, tenemos las filas de la mesa.
Si agrega la búsqueda del valor deseado en la estructura de búsqueda, por ejemplo, en la columna de partición, como resultado del uso del método de vuelo (), obtenemos todas las filas, donde el empleado y el responsable son iguales. al valor deseado.

7. Cómo resolver la tabla de valores en orden aleatorio

Para cada corriente fuera de la tabla del ciclo.
Informe (corriente);
Endcycle;

Los mismos índices de usos:

OSNEDEX \u003d MAYORES APLICANTES. NÚMERO () - 1;
Para SCH \u003d 0 en el ciclo anteriorDex
Informe (tablensings [SC].
Endcycle;


8. Eliminar la fila existente de la tabla de valores.

Tablas. Eliminar (eliminado);

por índice

Tablas. Eliminar (0);


9. Extracción de la columna existente de la tabla de valores.

Mesas Solonks. Eliminar (la columna eliminar);


por índice

Mesas Solonks. Eliminar (0);

Debe tenerse en cuenta que la eliminación de una cadena (o columna) "desde el medio" de la tabla de valores conducirá a una disminución a los índices de la unidad de las líneas que se han mantenido "después".

10. ¿Cómo llenar la tabla de valores si los nombres de las columnas están contenidas en las variables?

Nuevo trazo \u003d mesas de mesa. Sumly ();
Newstroke [NamecolonName] \u003d Valor;


11. ¿Cómo llenar la columna completa de los valores de la tabla en el valor deseado?
La columna de flagflage en la tabla de valores de tabla debe llenarse con un valor falso

Signos de la tabla. Rellene (mentiras, "bandera desactivada");


Solicite los valores del método de llenado (). El primer parámetro transmitimos un valor de llenado. El segundo parámetro es el nombre de la columna llena.

12. ¿Cómo completa la tabla de los valores del "labjertador" rellena la tabla de datos de los valores de "código fuente"?

Si el perpetrador de la tabla en el momento de la operación aún no existe o no es necesario mantener sus altavoces anteriores, puede crearlo como una copia completa de la fuente

Tablete colector \u003d tabla valiosa .copy ();


Opción Segundo: el colector de tabla de mesa existe, y lamento perder sus columnas y restricciones en los tipos de columnas. Pero debe completar los datos en las columnas cuyos nombres coinciden con los nombres de la tabla de origen.

Transferencia de datos parciales para columnas con nombres de coincidencia:

Para cada cadena ValueTlable del código fuente del ciclo
Llenando (Newstroke, cadena valuetlasts);
Endccycle


Para cada línea de la tabla de origen, se agrega una nueva línea a la tabla del destinatario y los valores se están llenando en aquellas columnas de la nueva tabla, los nombres de los cuales coinciden con los nombres de las columnas en la tabla de origen

Si las tablas no tienen columnas con los mismos nombres, la tabla del destinatario resultará de contener tantas filas con valores vacíos, cuántas filas estuvieron en la fuente de la tabla.
Si algunos altavoces de nombre tienen el tipo de valor de datos de la tabla de origen, no caerá en la matriz del tipo permitido de la columna de la tabla del destinatario, en tales campos, obtenemos valores vacíos.
Considere el tercer caso. En el caso de las mismas columnas de nombre, la columna de la tabla del destinatario debe realizarse en la correspondencia total de la columna de la tabla de origen.

Datos de copia completa para columnas con nombres de coincidencia

Anillo único \u003d nueva matriz ();

Para cada columna del código fuente. Ciclo de corte
Sobatovativonka \u003d TablesPritter. COACKCLOCKS. INIT (columna.

Si la coincidencia'ovykolonka<> Indefinido entonces

// obtener las propiedades de la columna.
NOMBRE \u003d Columna.
Tipo tipo \u003d columna. Tipos;
Title \u003d columna. Manos;
Ancho \u003d columna. Willina;

// Reemplace las columnas en la tabla del receptor.
Índice \u003d tablete colector. Solonki.index (coincidencia);

COLECTOR DE TAZA. COACKCONS. LIBERACIÓN (INDICE);
Colector de mesa. Solonks. Mantenga (índice, nombre, título, título, ancho);

// Agregue el siguiente nombre de las columnas coincididas en una matriz.
Un solo anillo. Sumly (columna.

Terminó;

Endcycle;

// Ciclo de vistas a las filas de la tabla de origen.
Para cada cadena ValueTlable del código fuente del ciclo

// Agregue una nueva cadena a la tabla del destinatario.
Nuevo Stroke \u003d LabyPligner. Sumly ();

// Llene los valores en las células coincididas.
Para cada colector de nombre del mismo ciclo de nombre
Nuevo accidente cerebrovascular [namecolonka] \u003d tabels restringidos [NamecolonName];

Endcycle;

Endcycle;


Tendremos que reemplazar la columna en la tabla de destinatarios para una nueva cuyas propiedades coincidirán completamente con la columna de la tabla de origen.
Por lo tanto, en el caso de la detección en el receptor de la tabla del mismo nombre, recopilamos todas las propiedades en variables para una nueva columna. A continuación, eliminamos lo antiguo y creamos una nueva columna. Luego realice un ciclo de la rotación de la fila de la tabla de origen.
En el ciclo, agregue una nueva línea a la tabla del destinatario y abra el ciclo de los académicos en la matriz de las columnas coincidentes.
Dentro de este ciclo invertido, hacemos que llenamos las celdas de los datos de la tabla de destinatarios de las celdas de la tabla de origen.

13. ¿Cómo agregar columnas a la tabla de "Tabla de tabla" con las limitaciones de tipo?

Cuando agrega un altavoz, simplemente puede especificar su nombre, y el segundo parámetro del método ADD () no se puede tocar. En este caso, el tipo de columna de datos es arbitraria.

Agregar una columna sin especificar el tipo de datos

// Agregar una columna sin limitaciones por tipo.
Mesas apositivas. COMMANTE ("OBJETO");


Puede completar el valor del segundo parámetro. Debe transferirse a la descripción del tipo permitido para la columna Tipo. La descripción en sí puede obtenerse utilizando un diseñador pasando el último tipo como un parámetro (si muchos tipos, a través de la coma) o una matriz de tipos válidos.

Añadiendo una columna con indicación de tipo de datos

// Restricciones en la columna Tipo de datos:
// solo elementos del libro de referencia "contrapartes".
Signos de la tabla. COACTCLOCKS. COMPLANTE ("contraparte", nuevas descripciones ("DirectoryAs. Prottlements");


Si se le permite completar los tipos de los datos de la columna, hay una cadena, puede limitar su bit (longitud), especifique el uso de la variable o la longitud fija. Todo esto se garantiza creando un objeto con la ayuda de un diseñador de clasificatorios. A continuación, este objeto se utilizará como uno de los parámetros de la descripción del diseñador.

Usando calificadores para aclarar el tipo de columnas de datos.

// Preparación e instalación de limitaciones para los datos de tipo de datos.
Textos de calificaciones \u003d Nuevas calificaciones (20, permisibles, permeables);
Admisibles \u003d nuevas descripciones ("cadena", calificaciones);
Mesas. Solonki. COMMANTE ("PRUEBA DE NOTRENADORIA", ENCANTANDO);


Se pueden realizar acciones similares con respecto a los calificadores del número y la fecha.
Tenga en cuenta que: el diseñador puede construirse de los tipos como "desde cero" y su uso como la base ya existente de la descripción de los tipos

Usando los tipos de tipos existentes para indicar los valores de la columna de datos de tipo de datos

// Expansión de las descripciones de tipos utilizadas anteriormente.
Cualificaciones \u003d Nuevas calificaciones (10, 2, token permitidas. No negativo);
Fechas cualificatorias \u003d Nuevo cualificatorio) (Partes. Datos);
Fermades extendidas \u003d nuevas descripciones (permisos, "Número, Fecha", Calificaciones, Calificatorios);

Signos de la tabla. COACTCLOCKS. COMMANTE ("Nota", aditivos expandidos);

La tabla de valores es un objeto universal específico diseñado para almacenar datos en una vista tabular. Mesa de diferencia clave de objetos aplicados - Esto no es unión a las tablas de base de datos física. La tabla de valores existe solo en memoria de acceso aleatorioEn una mano, da oportunidades únicas, y por el otro, impone ciertas limitaciones. Sin embargo, la posibilidad de interacción con la tabla es comparable a la interacción con los objetos realmente existentes en la base de datos.

Históricamente, la tabla de valores en 1C tiene un propósito dual, siendo un análogo virtual de tablas existentes, pero al mismo tiempo, y el elemento de control. Con la transición a la aplicación controlada, la mayor parte de esta funcionalidad está desactualizada, pero también en la actualidad, también puede ser un elemento de la interfaz de usuario, pero con una serie de restricciones significativas.

Estructura de la tabla de valores como objeto.

Las propiedades de la tabla de valores están determinadas por combinaciones de dos colecciones predefinidas: sus columnas y filas.

Tabla de valores de altavoz

Tabla de valores de columna: su propiedad definitoria. Es un conjunto de columnas de tabla determina su estructura. Las columnas coinciden con los campos de las tablas físicas o familiares. interfaz de usuario Columnas parte tabular o registro de documentos. La columna puede tener un nombre interno, el valor del valor y el título que se muestra durante el trabajo interactivo con la tabla.

Dado que las columnas son una colección de objetos, puede agregar, eliminar y editar columnas.

Fila de la tabla de valores.

Desde el punto de vista de la interfaz de software, la cadena es una colección separada integrada en la tabla de valores. Son análogos a los registros de las tablas físicas, es decir, las líneas habituales de la parte de la tabla o el registro de registro. Cada línea tomada por separado es un objeto con un conjunto de propiedades denominadas cuyos nombres corresponden a los nombres de las columnas de la tabla.

Por lo tanto, la interacción con la cadena es muy similar a la interacción con otros objetos. Puede leer y escribir sus propiedades, incluido el uso de la función predefinida de "Llenando lo siguiente ()". Dado que las líneas son la colección principal de la tabla de valores, luego para eliminar todas las filas de la tabla, se aplica el método "Borrar ()".

Crea una tabla de valores.

Hay muchas maneras de preparar la tabla de valores para su uso. Considera algunos de ellos. Cada ejemplo se dará como los listados del código con comentarios.

Creando un diseñador de mesa

La forma principal de crear una tabla tan necesaria por el desarrollador, desafortunadamente, la mayor cantidad de tiempo consume, ya que requiere manualmente todas las propiedades necesarias de la tabla.

Demotable \u003d nuevas tablas; // En primer lugar, inicializa TK // siguiente, definimos los parámetros necesarios para nuevas columnas y agregarlas a la colección // creando un nombre de columna "Nomenclatura" \u003d "Nomenclature"; Tipo tipo \u003d nueva descripción ("directoryads.nanklatura"); Title \u003d "nomenclature (producto)"; Demotablik. Recortes. COMPLETAMENTE (A ellos, Título, Título); // creando una columna "Número" Nombre \u003d "Número"; Tipo Título \u003d Nuevas descripciones ("Número"); Demotable. Recortes. COMMENTO (NOMBRE, TÍTULO); // Como resultado de los datos de las manipulaciones, hemos creado una tabla vacía con columnas mecanografiadas // Si necesita usar una escritura más precisa de los tipos primitivos, debe usar la sintaxis avanzada del diseñador de diseñadores "Desigcrates"

Creando una tabla de copia

Si su mano tiene un estándar con una estructura y / o composición adecuada, puede copiar o descargar la tabla de valores de referencia. Si la referencia es otra tabla, debe aplicar el método "Copiar tabla de soporte". Si está tratando con una parte de la tabla o en un conjunto de entradas de registro, debe usar el método "Tabla de tabla de carga". Si necesita solo una estructura, puede usar el método "Copia de cooperación".

// opción con copiar desde el estándar TK de todas las filas, pero con la preservación de solo las dos columnas específicas de la columnaLone \u003d "Nomenclatura, número"; Demotable \u003d Tabletetalon .copy (, columnal); // opción con copiar desde el estándar TK de filas preseleccionadas, al tiempo que mantiene las dos columnas específicas de STRINALONE \u003d seleccionadas por la máquina a-the-thenemstroyIstalkyalone (); Columnalone \u003d "nomenclatura, número"; Demotable \u003d Tabletetalon .copy (Rowetal, columnal); // opción con copia de las filas de TK-Strelna mediante el filtro especificado, mientras que guarda una columna "Nomenclatura" // Se seleccionarán todas las líneas donde el valor en la columna es igual a 0, solo la columna de la nomenclatura de los remedios lo hará caer en la tabla resultante ("Cantidad" 0); Columnaltalon \u003d "nomenclature"; Demotable \u003d Tabletetalon .copy (Rowetal, columnal); // La opción con copia completa de la tabla y la eliminación posterior de una fila con el valor de campo de la cantidad de cero es cero y la eliminación de toda la columna "Número" de la contraparte \u003d nueva estructura ("Número", 0) ; Columnaltalon \u003d "nomenclature"; Demotable \u003d Tabletetalon .copy (Rowetal, columnal); Estrificados \u003d Demotable. Noche (0, "Cantidad"); Demotable. Eliminar (fuentes); Demotablik. Solonki.Deel ("Cantidad"); // Las opciones similares y sus modificaciones se pueden aplicar a piezas tabulares y conjuntos de registros

Creación de una consulta de tabla

Si hay una tabla de referencia en la base de datos de la base de datos, puede usar la solicitud de creación rápida Tablas con la estructura deseada.

// Ejemplo con la creación de una tabla vacía de acuerdo con la estructura de la muestra del registro de acumulación // No es difícil adivinar que de esta manera puede obtener la solicitud de tabla llena \u003d una nueva consulta ("Seleccione el primer 0 * de el registro. Resultado de suministro \u003d consulta. Rellenar (); Demotable \u003d reclutamiento de resultados. Descargar (); // Ejemplo con la creación de una tabla vacía mediante tipos y nombres explícitamente específicos de la consulta de los campos \u003d una nueva solicitud; Solicitud.Text \u003d "Seleccione el primero 0 | Significado (libro de referencia. Sustitución. Rollo de alimentación) como nomenclatura, expresa (0 como un número (15, 3)) como una cantidad"; Resultado de suministro \u003d consulta. Rellenar (); Demotable \u003d reclutamiento de resultados. Descargar (); // ¡IMPORTANTE! No debe olvidar que en los tipos de valores de altavoz obtenidos de la consulta siempre está presente. Tipo NULL // Por lo tanto, el TK creado por la consulta siempre tiene tipos compuestos de columnas

Conclusión

En este pequeño artículo, revisamos las propiedades básicas y las técnicas prácticas para crear una tabla de valores suficientes para comprender y comenzar la aplicación. El objeto de la tabla de los valores es tan multifacético que descripción detallada Sus capacidades pueden escribir un artículo separado sobre las recepciones y los métodos de trabajo.

Para tener en cuenta el dinero y las mercancías, varias tablas utilizan ampliamente en los negocios. Casi todos los documentos son una tabla.

La tabla enumera los productos al envío desde el almacén. En otra tabla, obligaciones a pagar por estos bienes.

Por lo tanto, 1C Ocupaciones prominentes funcionan con tablas.

Las tablas en 1C también se llaman "partes tabulares". Tienen libros de referencia, documentos y otros.

La solicitud como resultado de su ejecución devuelve una tabla, acceso a lo que es posible obtener de dos maneras diferentes.

El primero es un muestreo más rápido, obteniendo filas de ella solo en orden. El segundo está descargando el resultado de la consulta en la tabla de valores y un acceso arbitrario adicional.

// Opción 1 - Acceso secuencial a los resultados de la consulta

// recibir mesa
Muestreo \u003d consulta. Rellenar (). Seleccione ();
// En orden, vamos por todas las filas del resultado de la consulta.
Mientras muestra. Siguiente () Ciclo
Informe (muestra. Nombre);
Endcycle;

// Opción 2 - Descarga en la tabla de valores
Solicitud \u003d nueva consulta ("Seleccione el nombre del directorio. Namenclature");
// recibir mesa
Tabla \u003d consulta. Rellenar (). Descargar ().
// Entonces también podemos mover todas las líneas.
Para cada fila del ciclo de la mesa.
Informe (cadena. Nombre);
Endcycle;
// o acceso arbitrariamente a las líneas
Línea \u003d tabla. Init ("pala", "nombre");

Una característica importante está en la tabla que se obtiene del resultado de la consulta, todas las columnas se escribirán estrictamente. Esto significa que al solicitar el campo Nombre de la nomenclatura del directorio, recibirá una columna de un tipo de cadena con una longitud admisible de no más que n caracteres.

Tabla en la forma (cliente grueso)

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

Los principios básicos de trabajar con formularios, discutimos en la lección en la lección en

Entonces, coloque una mesa en el formulario. Para hacer esto, puede arrastrar la mesa desde el panel de control. De manera similar, puede seleccionar el control de formulario / insertar en el menú.

Los datos se pueden almacenar en la configuración, entonces debe seleccionar una parte de la tabla de la tabla existente (agregada previamente) del objeto de configuración cuya forma edite.

Presione el botón "..." en la propiedad de datos. Para ver una lista de partes tabulares, debe revelar el objeto de la sucursal.

Al elegir una parte tabular 1C, agrega columnas en la tabla en el formulario. Las filas introducidas por el usuario en una tabla de este tipo se guardarán automáticamente junto con la referencia / documento.

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

Esto significa que se selecciona una tabla de valores arbitrarios. No agregará columnas automáticas, no se guardará automáticamente, pero es posible hacerlo con nada.

Al hacer clic con el botón derecho en la tabla, puede agregar una columna. En las propiedades de la columna, puede especificar su nombre (para referirse al código 1C), el encabezado de la columna en el formulario, la conexión con los detalles de la parte tabular (última, si no es una tabla arbitraria, y la parte de la tabla está seleccionada) .

En las propiedades de la tabla en forma, puede especificar si agregar / eliminar líneas al usuario. Una forma más avanzada: solo una garrapata. Estas propiedades son convenientes de usar para organizar tablas destinadas a mostrar información, pero no editar.

Para administrar la tabla, debe mostrar el panel de comando. Seleccione el formulario de menú / Insertar el panel de control / comando.

En las propiedades del panel de comandos, seleccione una marca AutoFill de que los botones en el panel aparezcan automáticamente.

Tabla sobre la forma (cliente delgado / administrado)

En forma administrada, las acciones especificadas se ven un poco diferente. Si necesita colocar en forma de la parte tabular, abra la rama del objeto y arrastre una de las partes de la tabla a la izquierda. ¡Y todo!

Si necesita colocar la tabla de valores, agregue un nuevo formulario de accesorios y en sus propiedades. Especifique el tipo: la tabla de valores.

Para agregar altavoces, use el menú en el botón derecho del mouse en estos detalles del formulario, la opción Agregar una columna Propumes.

Después de eso, también arrastre la mesa a la izquierda.

Para que la tabla aparezca el panel de comando, en las propiedades de la tabla, seleccione los valores en la sección Usar: la posición del panel de comandos.

Mesa de descarga en Excel

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

Para hacer esto, haga clic con el botón derecho en la tabla y seleccione Lista de visualización.

En el cliente controlado (FINE), se pueden realizar acciones similares utilizando el elemento del menú Todos los Acciones / Lista.

Saludos a todos los lectores infostart'a. Este artículo se dedicará al tema de crear una tabla de valores arbitrarios en el formulario. aplicación gestionada software.

Características de la tarea.

Todos los que programaron en por la solicitud habitualA menudo se enfrentó a la tarea de obtener una tabla de valores arbitrarios en la forma. Bajo una tabla arbitraria de valores se entiende como la tabla, el número y el tipo de columnas de las cuales no se conoce. Es decir, las columnas pueden ser 3, y quizás 6, o tal vez 8. En la solicitud habitual, todo es simple: fue posible colocar el elemento de "Apposition" en el formulario de formación y luego transferir la tabla de valor a la Valores a este artículo a este artículo. Luego un equipo simple:

Formas de elementos. Ticketsed. Cálculos ();

obtenga una tabla de valores listosizados en el formulario. Parecería que puede ser más fácil.

Fue todo en la solicitud habitual. En la aplicación administrada todo ha cambiado. Así que simplemente una mesa arbitraria para no crear. Ahora debe paralizar rígidamente la tabla de valores en el formulario, o crearlo programáticamente (describir, bueno, en esto, de hecho, la esencia de la solicitud autorizada). Esto trataremos de hacer: software Cree una tabla de valores arbitrarios en un formulario administrado.

La solución del problema.

Lo primero que tenemos que hacer es determinar cómo aparece la tabla en el formulario. Lo principal es que no es necesario ningún elemento de la forma en el procesamiento. Lo crearemos de manera programática, como toda la tabla. Es decir, la tabla se describirá y para crear en el momento de abrir el formulario o usar el botón, así es necesario.

Creación de una tabla en el formulario ocurre a través de la descripción de la tabla de valores como requisición:
Massiferboabor \u003d nueva matriz; Cliente masioneable. COMMANTE (TIPO ("Mesa de aposición")); DescripciónCareBar \u003d Nuevas descripciones (masfacividad); Masivos \u003d nueva matriz; Masivos. Sumamente (nuevo requisito ("tablescript", descripciones, "", "tzn")); Ahora tenemos que crear una tabla de valores de software que contengan datos. Si la tabla de valor se obtiene de la solicitud, entonces todo es menor que el pedido. Si la tabla se crea manualmente, el valor de los altavoces que contendrá números o fechas se puede crear a través de la "Descripción". La línea inferior es que las columnas en la tabla de valores deben tener algún tipo de tipo. Si, por ejemplo, se supone que el usuario completará de forma interactiva los datos en estas columnas, entonces no puede agregar los valores de la columna Valores simplemente con el nombre, debe ser del tipo. Tenga en cuenta, esto es muy importante porque Le daremos estos tipos a la tabla en el formulario.
Cree una tabla que contiene varias columnas:
Kd \u003d nuevas fechas cualificatorias (partículas. Veria); Massigs \u003d nueva matriz; Brazos. Sumly (tipo ("fecha")); Gráficos de búsqueda \u003d nuevas descripciones (brazos, CD); Tk \u003d nuevas tablas;
Tk.colonki. Sumly ("c", descripciones.
Tk.colonks. Sumly ("a", descripciones.
Tk.colonki. Sumamente ("nombre completo");
Tk. Solonks. COMMANTE ("Nota"); // Nota completa - Filas A continuación, llenaremos nuestra tabla de software TK con los datos necesarios. Obtenemos la tabla TK que contiene los valores necesarios y está listo para la transmisión a los accesorios de formulario creados. Para cada columna de tk. Ciclo de columna

MasivasVizitas. COMMANTE (NUEVO REQUISITO (columna. Quiero decir, columna. Escriba, "Fiscales"));
Endcycle;
Changereviza (en masivos);
Cautiverio de tablepoles \u003d elementos. COMMANTE ("TZN", TIPO ("TABLAFORMA"));
Captura de tablepoles. POWDED \u003d "TEXCRIPTS";
TEJAPOLESEBLE. Ejemplo \u003d Se muestra. OPORCIONES;

Aquí hay una combinación tan simple y nuestra mesa está lista.

Para cada columna de tk. Ciclo de columna

Newelent \u003d elementos. COMMANTE (columna. Quiero decir, tipo ("ForeForm"), Tablepoles);
Nuevo elemento. Vid \u003d forma vidpolar. Poder;
Nuevo elemento. POWDLY \u003d "TEXCRIPTS". + Columna.
Nuevo elemento.shirina \u003d 10;
Endcycle;

Diseño condicional, si necesitamos también escribimos manualmente, el menú de comando, manualmente. Los manejadores de mesa también están escritos con las manos. Por ejemplo, para agregar un evento de "selección" del controlador de eventos:

Captura de tablepoles. Configuración ("Elección", "Tznvybor");

Para procesar este evento, se prescribe un procedimiento separado en la forma del procedimiento:

& Svalette
Procedimiento TZNVSB (TK, SELECCIONADO, CAMPO, ESTANTEWORKING)
// Procesador Comandos Controlos End

Tenga en cuenta que los manejadores de tabla se activan en el cliente y, por lo tanto, deben tener un comando Puntero de compilador

& Svalette

Bueno, y lo último que quería agregar después de todas estas acciones, definitivamente no olvidamos transferir la tabla terminada a la solicitud de la forma:

Recreviserevisitforms (TK, "Flexcripts");

Aquí es lo que tenemos como resultado:


Pero el procesamiento del evento "Elección":



Después de la palabra.

Espero que el artículo ayude a aquellos programadores 1c, que comienzan a crear tablas en forma del método programático.

Puede descargar el procesamiento que software crea una tabla de valor y muestra el formulario gestionado Con comentarios que te ayudarán a crear tus tablas.

Búsqueda en la tabla de valores 1C

Qué métodos existen y cómo buscar simultáneamente en varios valores.

Para buscar en la tabla de valores hay dos métodos especiales:

1. encontrar

TVGORIZONT \u003d Libros de referencia. Nomelaclatura. Inteceponación ("Horizonte de TV");
Resultados \u003d tznenenclature. Inite (TV, TV);
// También podemos especificar en qué oradores buscar para acelerar la búsqueda
Fundación \u003d tznomenclatura. Inite (TV, "nomenclatura");

Este método devuelve la primera línea encontrada con el valor deseado o indefinido si no se encuentra. Por lo tanto, es conveniente usarlo para buscar valores únicos, porque De lo contrario, tendrá que eliminarlo de la tabla al encontrar lo siguiente.

Para no sufrir, existe el siguiente método que le permite encontrar una matriz de líneas adecuadas:

2. Vuelo


Estructuralboration Hold ("Nomenclature", TVGorizont); // Primero, especifique la columna donde busque, y luego qué buscar.

Este método siempre devuelve una matriz, pero puede estar vacía si no se encuentra nada. Y este método también, así como el anterior devuelve las filas de los valores de los valores, y no los valores en sí mismos en una matriz separada. Por lo tanto, cambiando los valores en la fila de matriz o en el método anterior en la línea encontrada, cambiará el valor en la tabla de valores procesados.

Cuanto más bueno este método sea que pueda buscar a la vez en varias columnas de la tabla de valores al mismo tiempo:


Estructuras \u003d nueva estructura;
Estructuralboration Hold ("Nomenclature", TVGorizont);
Bote estructural Hold ("Cantidad", 10);
FoundationMassivests \u003d tznenenclature. Entradas (estructuras);

Los únicos menos, como se pueden ver, no se pueden usar otras comparaciones, excepto "igual"