Defina a seleção da lista dinâmica 1C 8.3. Restrições e características

Seleção em formulários gerenciados em 1C 8.3

O artigo considerará as opções para instalar a seleção em formulários gerenciados 1C 8.3. A seleção para a lista dinâmica pode ser definida estaticamente ou dinamicamente na interface ou configurador do usuário. Todas as opções de seleção Vamos considerar abaixo.

  • Definindo a seleção no configurador

Definindo a seleção no modo de usuário

A lista dinâmica em contraste com a tabela ou a árvore de valores é uma solução mais apropriada para implementar formas de contenção de todas as listas, porque A lista dinâmica fornece a maior variedade de ferramentas para trabalhar com a seleção, agrupamento de campos, classificação. Esta seleção pode ser instalada ao trabalhar em um modo de usuário ou configurador, o princípio é o mesmo.

Para definir a seleção no modo Enterprise, você deve ligar para o comando "Configurar lista".

Janela é aberta.


A "guia de seleção" contém uma lista de campos que estão na lista atual. Selecione os campos de lista para os quais vamos filtrar. Você pode fazer isso clique duas vezes ou usando arrastar e soltar.


Especificamos o tipo de comparação e valor, clique em "Completar Edição", a seleção é definida.


Ao instalar a seleção no modo Enterprise no formulário de lista, os campos das chamadas seleções rápidas são criados automaticamente.


Para que a plataforma 1C criada automaticamente os campos de seleção rápida, ao desenvolver um formulário no Configurador, você deve especificar um grupo de configurações personalizadas.


Essa seleção será salva somente para o usuário atual, que permite que você faça de forma flexivelmente configurações de lista dinâmicas personalizadas. No entanto, se a tarefa é fazer uma seleção fixa para uma lista específica para todos os usuários do sistema, podemos resolvê-lo apenas através do configurador.

Definindo a seleção no configurador

Trabalhando no Configurador, podemos definir a seleção de uma lista dinâmica de duas espécies - fixa e dinâmica. A seleção fixa é configurada uma vez, dinâmica ou software - pode ser instalada dependendo de quaisquer dados no sistema.

O princípio da instalação de seleção fixa no configurador não difere da instalação no modo de usuário descrito acima. Para definir a seleção, devemos abrir as configurações da lista dinâmica.


Janela é aberta.


A seleção é solicitada a mesma que no modo de usuário.

A opção "Ativar configurações personalizadas" determina se a seleção instalada no Configurador está acessível no modo de usuário através do item de menu "Configurar lista".


Seleção dinâmica (software)

Muitas vezes há necessidade de definir a seleção programaticamente, por exemplo, ao abrir um formulário de seleção, quando precisamos abrir um formulário controlado com a seleção. O parâmetro Pass de formulário e a seleção são definidos para este parâmetro. Um exemplo freqüente disso é a seleção dos elementos do diretório pelo proprietário.

Métodos

Se a configuração estiver presente na configuração, a "funcionalidade básica" do subsistema BSP está presente, a seleção de software na lista dinâmica pode ser instalada usando um método típico:

EXTERMICECLINERWERVER. Estabelecendo criatividade do elemento ()

Assinatura deste método:

Lista Dinâmica. Tipo: lista dinâmica - lista em que você deseja definir a seleção.

Namepole. Tipo: Campo de linha para o qual você deseja definir a seleção.

Corrida Tipo: Arbitrária - Seleção (Opcional. O valor padrão: indefinido. Atenção! Se você é capaz de transmitir indefinidamente, o valor não será alterado).

Vítimas. Tipo: Communidades ProfissionalComponação - Condições de seleção.

Representação Tipo: Linha - Elemento de Layout de Dados (Opcional. O valor padrão: indefinido. Se estiver indicado, somente o sinalizador de uso com a exibição especificada é exibido (o valor não será emitido). Para limpar, para que o valor seja exibido novamente, você deve passar uma string vazia) .

Usando Tipo: Booleo - Use esta opção de seleção (Opcional. Valor padrão: incerto).

Modatografia. Tipo: Modelo Management TelecommunicationCompletes - Método Exibe esta seleção para o usuário. Valores possíveis:

  • Modelo mostrando elementnewscompones. Acesso rápido - no grupo de configurações rápidas acima da lista.
  • Modelo mostrando eletro-setkomponovkyda. Live - na configuração da lista (no submenu ainda).
  • Modelo mostrando elementnewscomponovkydata. Extafeated - para proibir o usuário para alterar esta seleção.

Serviços de identificador Tipo: String - Identificador exclusivo para esta seleção (Usado para se comunicar com configurações do usuário).

Para remover algum valor de seleção, você deve usar o método do tipo:

Excepcionalclinerver. AfineLementsGroupStOOtHanNamic Position ()

Assinatura deste método:

Lista Dinâmica. Tipo: Scripts Dinâmicos - Props Formulários para os quais você deseja definir a seleção.

Namepole. Tipo: Linha - O nome do campo Layout (não usado para grupos).

Representação Tipo: String - Vista de campo Layout.

No caso da ausência no sistema BSP, a seleção pode ser instalada por conta própria usando o objeto Polónia.

Elementor \u003d List. Opções. Elementos. Adicionado (tipo ("elementotorbone-block")); Elementotor.Levatividade \u003d novo meio-rosa ("nome completo"); Elementatub. Ambientalização \u003d Assembléia Vocacional. Elementatub. Himmabilidade \u003d modos complexos de telecomunicação. Acesso estimado; // Elementador opcional. A definição \u003d "ivanov";

Essa seleção selecionará as linhas em que o valor "nome completo" \u003d "ivanov".

Para o uso de "e", "ou", "não" destinado ao tipo de dados do grupo-element

Accounting \u003d List. Opções. Eletrônicos. Addly (tipo ("groupalemotabcompare")); Groupoterapia.TyPegroups \u003d TibeouPelementSebolebolblolds. Grupo. Elementotor \u003d groupotabbing. Elementos. Addly (tipo ("elementotorbone-type")); Elementotor.Levatividade \u003d novo meio-rosa ("nome completo"); Elementatub. Ambientalização \u003d Assembléia Vocacional. Elementatub. A definição \u003d "ivanov"; Elementotor \u003d groupotabbing. Elementos. Addly (tipo ("elementotorbone-type")); Elementotor.Levatividade \u003d novo meio-rosa ("nome completo"); Elementatub. Ambientalização \u003d Assembléia Vocacional. Elementatub. A definição \u003d "Petrov";

Esta seleção selecionará as linhas em que o valor "nome completo" \u003d "ivanov" ou "Petrov".

A seleção na lista dinâmica também pode ser usada através de uma alteração no texto da solicitação de lista dinâmica. Esta opção está sendo executada quando a lista dinâmica é feita através de uma "solicitação arbitrária".


Para fazer isso, adicione a condição "Onde a verdade" para o texto da consulta ...


Como pode ser visto, essa abordagem é mais compacta do ponto de vista do código de escrita. Quanto mais complicadas as condições de seleção na parte da tabela, queremos estabelecer, mais volumosos haverá uma opção usando a seleção por meio do elementotorbone. No entanto, o exemplo com uma alteração no texto da consulta tem suas desvantagens - essa implementação não é resistente a alterações no código. Por exemplo, você fez essa implementação e se esqueceu, mas se no futuro você deseja modificar o texto da consulta adicionando qualquer operador a ele após onde (organizar, agrupado), você precisa não esquecer o fato de que existem no programa código:

Lista. A lista Setproof \u003d. Força de manteiga + "e execução. Fio em (" ivanov "", "Petrov") ";

Se isso não for levado em conta o erro, mas para evitar isso, você pode refazer outra implementação. Na solicitação Tex, adicione tal condição:

Onde (não e selecionado ou os usuários do diretório em (e permitido))

Lista. Parâmetros. Definindo o reconhecimento do parâmetro ("selecionado", nomes completos ()\u003e 0); Lista. Parâmetros. InstalandoParameter ("permitido", nome completo);

Aqui o nome é uma matriz.

Ka é visto, 2 linhas de código versus 10. Qual método para escolher depende de uma tarefa aplicada específica.

Impressão (Ctrl + P)

Lista Dinâmica.

1. Informações gerais

A lista dinâmica é um tipo especial de dados que permite exibir informações arbitrárias das tabelas do banco de dados. Para fazer isso, você precisa especificar a tabela, os dados do qual você deseja exibir ou descrever a amostra resultante na linguagem de consulta.
O mecanismo é baseado no sistema de layout de dados e oferece oportunidades para classificação, seleção, pesquisa, agrupamento e design condicional dos dados obtidos. Nesse caso, a origem dos dados é uma consulta que é formada pelo sistema automaticamente (com base nos dados especificados) ou é escrito pelo desenvolvedor manualmente.

FIG. 1. Opções para criar uma lista dinâmica

Ao criar o tipo de forma Lista Dinâmica. O desenvolvedor pode escolher duas maneiras de formar uma solicitação aos dados:
● Definir a tabela principal - neste caso, é suficiente especificar simplesmente a tabela (a propriedade da tabela principal) a partir da qual é necessário obter os dados, e o sistema formará automaticamente uma solicitação para os dados (veja o lado direito na Fig. 1).
● Formação de consulta manual - para isso, você precisa definir uma propriedade de solicitação arbitrária (veja a parte esquerda Fig. 1). Depois disso, a formação manual de uma solicitação de obtenção de dados da base de informações estará disponível.
Usando a consulta, você pode selecionar dados de várias tabelas, para que você possa especificar a tabela principal. É necessário para que a lista dinâmica possa determinar quais dados são os principais e que são secundários e podem selecionar e exibir corretamente informações, além de fornecer comandos padrão. No entanto, se você não puder determinar a tabela principal na consulta, ela não pode ser indicada, mas
a lista dinâmica não fornecerá comandos associados à tabela principal. Além disso, neste caso (sem especificar a tabela principal), a eficiência da obtenção de dados à lista dinâmica será significativamente reduzida.
Para melhorar o desempenho, todas as conexões usadas em uma consulta arbitrária são recomendadas apenas para obter dados adicionais, para tornar opcional expandindo as solicitações do sistema de layout de dados.
Para uma lista dinâmica, quais são os principais detalhes do formulário, é possível definir os valores de seleção usando o parâmetro do formulário Seleção. Isso requer que o nome da propriedade da estrutura no parâmetro Seleção,
coincidiu com o nome da seleção de uma lista dinâmica. Nesse caso, o valor da propriedade da estrutura será definido como o valor certo do elemento de seleção. Se uma matriz, uma matriz fixa ou uma lista de valores, for usada como o valor do elemento de parâmetro do parâmetro, a condição com a opção na lista é adicionada à seleção, a lista de valores (para os quais A matriz e a matriz fixa são transformadas).
Como uma solicitação arbitrária na lista dinâmica, uma solicitação pode ser reproduzida na qual um parâmetro é usado para formar o valor de qualquer campo, por exemplo:

ESCOLHER
Escolha
Quando entrega. Coeficiente \u003d 1 então e desempenho
De outra forma entrega. Coeficiente
Fim como coeficiente
DE

Neste caso, se o tipo de valor do parâmetro for diferente do tipo de adereços de objeto (por exemplo, Requisite1. Tem tipo Númeroe o valor do tipo de parâmetro - tipo Linha), então para a exibição de campo correta, é necessário trazer explicitamente o valor do parâmetro para o tipo desejado:

ESCOLHER
Escolha
Quando entrega. Coeficiente \u003d 1, depois expresso (e desempenho como string (100)) de outra forma entrega. Coeficiente
Fim como coeficiente
DE
Documento. Capacidade do documento como entrega

Se o campo para o qual a seleção estiver configurada estiver desativada usando opções funcionais, a seleção por tal campo não está instalada, mesmo que o valor de seleção seja transmitido como os parâmetros do formulário ou os parâmetros de seleção links.
Usando a propriedade de leitura dinâmica, a lista dinâmica é indicada para a necessidade de ler dados por pequenas porções.
(Para obter mais informações sobre maneiras de obter dados por lista dinâmica e cache de dados, veja abaixo). Independentemente desse recurso, as seguintes condições se aplicam:

● Se o modo de visualização for definido como uma lista hierárquica, apenas os dados do grupo atual e dos dados de todos os elementos pai (sem elementos subordinados) serão lidos.
● Se o modo de visualização estiver definido no formulário de uma árvore, apenas os dados dos nós abertos da árvore serão lidos.
● A carga única dos dados da lista dinâmica não é suportada no caso de uma visualização hierárquica (a propriedade de exibição é definida como uma árvore) e a exibição inicial da árvore instalada no valor para divulgar todos os níveis. Para obter dados, muitas solicitações para o servidor serão executadas, quantos nós estão na lista exibida.
Dentro de um recebimento dos dados, a lista dinâmica reutiliza tabelas temporárias anteriormente criadas sujeitas às seguintes condições:
● Não há solicitações na consulta de pacotes após o pacote de consulta principal.
● A composição de tabelas e campos temporários nelas é inalterada a partir da execução anterior da solicitação em lote.

Em seu trabalho, a lista dinâmica usa os valores das seguintes propriedades dos detalhes dos objetos de metadados:
● Formato,
● Formato de edição,
● Dica,
● Assine de realçar valores negativos
● máscara,
● Sinal de regime multi-line,
● sinal de edição avançada
● modo de senha.
Ao exibir e editar a seleção e os parâmetros do sistema de layout de dados, o formato para editar o campo correspondente é usado.

2. Restrições e características

Ao definir a seleção em uma lista dinâmica, ela deve ser lembrada que a seleção não atua no grupo se o modo de exibição da lista ou madeira hierárquica for selecionado para uma lista dinâmica. Sob os "grupos", é entendido como um elemento do livro de referência ou um plano de espécies de características, em que a propriedade do ETCO está definida para o valor da verdade.
Seleção, automaticamente sobreposta por uma lista dinâmica ao proprietário padrão dos detalhes, pai, data, período e grupo ETCO aplicado
sistema de layout de dados padrão. Seleciona que automaticamente sobrepostas por uma lista dinâmica em campos de chave podem ser usadas como ferramentas padrão para o sistema de layout de dados e adicionando diretamente as condições ao texto DENTRO Nos campos da tabela principal. Como resultado do uso de seleções com layouts, eles podem ser aplicados tanto em consultas anexadas quanto nos parâmetros de tabelas virtuais.

Ao desenvolver listas dinâmicas, recomenda-se verificar todas as listas dinâmicas com solicitações arbitrárias. No processo de verificação, certifique-se de que, se houver consultas aninhadas ou tabelas virtuais na solicitação de lista, e elas estiverem disponíveis para selecionar um campo com aliases que coincidem com os aliases do proprietário de detalhes padrão, pai, data, período, Grupo ETCO ou campos-chave, então esses campos são realmente cumpridos com detalhes padrão com os quais o alias coincide com eles. Se este não for o caso - você deve alterar o pedido o que eles coincidirem ou
o pseudônimo diferiu.
Se uma formação manual da consulta for selecionada, algumas restrições são prescritas à solicitação:
● Não suportado usando as primeiras instruções na solicitação de lista dinâmica. Se você precisar usar uma amostragem, limitada pelo número de entradas na lista dinâmica, você deve retroceder uma solicitação para formar uma lista dinâmica de forma que a parte real da consulta seja postada em subconsultação e limite o número de registros recebido nesta subconsulta. Em vez de subcalorar, você também pode usar uma tabela temporária.
● Não suportado, classificação e agrupamento:

  • De acordo com os detalhes das tabelas.
  • Campos de apresentação.
  • A versão de campo.
  • Distribuição do nome do campo.
  • Vista de campo da tabela do plano de mesa.
  • Campo de tabela de registro de acumulação.
  • Campo do tipo de tabela tipo plano de recurso.
  • Tipo tipo de campo;
  • String do tipo de campo (comprimento ilimitado).
  • Tipo de campo binário.

● A classificação e agrupamento nos campos do subconto não é suportada.<НомерСубконто> e Wisubekkonto<НомерСубконто> Tabelas de Motionsubkonto Registro de Contabilidade.
● O agrupamento não é suportado por campos que representam as expressões da linguagem de consulta contendo funções agregadas.
● Quando a tabela principal selecionada, a solicitação de lista dinâmica tem as seguintes limitações:

  • Unírios não são suportados.
  • Não é suportado pelo uso da seção Classificar por. Você deve usar a solicitação sem a tabela principal ou definir o pedido necessário através das configurações da lista dinâmica.

● Se a lista dinâmica for exibida como uma lista ou árvore hierárquica, o registro não será exibido por uma lista dinâmica, se um pai não for exibido. Em outras palavras - para exibir o elemento da lista de hierarquia, a lista dinâmica também deve exibir todos os pais deste item para o topo da lista. Ao mesmo tempo, sob o topo da lista implica ou na verdade
o elemento raiz do objeto hierárquico exibido por uma lista dinâmica ou um elemento instalado como propriedade da propriedade da extensão de tabela de formulários de terexual para uma lista dinâmica.

Não suportado usando as tabelas a seguir como a tabela principal:

● A tabela para a qual não há chave é identificando exclusivamente cada entrada de tabela (link para tabelas de objetos e uma chave de registro para tabelas de registro). No entanto, as tabelas a seguir podem ser instaladas como a tabela principal da lista dinâmica (apesar da falta de chave):

● Tabela do Registro de Contabilidade do Subconto;
● Todas as tabelas de registro de contabilidade, exceto pela tabela Movimento Dubkonto;
● Tabelas de valores constantes (incluindo tabela constante);
● Tabelas de fontes de dados externas sem campos chave;
● Tabelas cubos de fontes externas de dados;
● Tabelas de registro de acumulação:

  • mesa de rolo;
  • tabela de resíduos;
  • tabela de revoluções e resíduos.

● Tabelas de registro de cálculo:

  • tabela do período de ação real;
  • gráficos de dados;
  • dados básicos.

● Tabelas de peças de tabela de objetos;
● Alterar tabelas de registro (usadas em mecanismos de troca de dados);
● tabelas de seqüência;
● Tabelas de recálculo (usadas em mecanismos de cálculo periódicos).
● Tabelas usadas na solicitação apenas na conexão externa.

Em outras palavras, a lista dinâmica com a tabela principal especificada funcionará corretamente se, como resultado da execução da consulta,
o número de linhas obtidas a partir da tabela principal não aumenta à medida que a fonte de dados não aumenta (incluindo seleção sobreposta). Se, como resultado da execução da consulta, o número de linhas recebidas pela solicitação da tabela principal aumenta, ele levará a uma violação da singularidade da chave de entrada da chave exibida. Nesse caso, você precisa desativar o uso da tabela principal da lista dinâmica.
Ao trabalhar uma lista dinâmica, é necessário considerar os direitos de acesso aos detalhes exibidos pela lista:
● No lado do cliente, os dados da coluna de lista dinâmica não são transmitidos, que são sempre marcados pelo uso de sempre, mas para os quais o usuário atual não tem o direito de visualizar. Acesso a dados de tais colunas (usando as propriedades do fluido e método de dados ())
no lado do cliente é impossível.
● Se o usuário atual não tiver o direito de visualizar o campo chave da lista dinâmica, obtendo dados por esta lista dinâmica leva a um erro de violação dos direitos de acesso.
Para uma lista dinâmica que exibe a lista de enumerações, não há configuração de lista interativa.
A composição das colunas e as configurações da lista dinâmica estão associadas aos campos dos campos de seleção nos pseudônimos. Se estiver na consulta para o campo de amostra, o alias não será especificado explicitamente e o campo é sistêmico, então o nome do nome do campo para o idioma incorporado em inglês é usado como pseudônimo.
Esse relacionamento significa que, ao alterar (ou explicitamente especificou um pseudônimo para o campo, que usou um alias automático)
o pseudônimo do campo de consulta formando os dados da lista dinâmica será perdido as configurações dos adereços da lista dinâmica, os elementos do formulário "perderão" os detalhes exibidos, as configurações da lista dinâmica ficarão incorretas, etc.
No caso de a origem dos dados da lista dinâmica é a tabela (normal ou virtual), o que permite definir a seleção no período, se o usuário definir o período de exibição em uma lista dinâmica (comando definir o intervalo das datas ...),
as bordas especificadas do período serão definidas como os valores da seleção ou parâmetros da tabela virtual. Se a extensão da linguagem significa
consultas para o sistema de layout de dados foram explicitamente indicados pelos nomes dos parâmetros do Virtual Table - Parameters serão instalados com o especificado
nomes. Tabelas para as quais é possível controlar o período de exibição ou o processamento de dados:
● Tabelas de registro (main ou virtuais), para as quais há uma possibilidade de seleção no período (para o registro de cálculo - no período de registro);
● Tabelas básicas de documentos, processos e tarefas de negócios;
● tabelas básicas de log de tabela;
● Tabelas de seqüência básica, tabela de fronteiras de seqüência.
Como parâmetro de consulta de lista dinâmica, uma matriz ou lista de valores pode executar. No entanto, se o parâmetro for a lista de valores, apenas o primeiro valor da lista será usado como o valor da seleção. Se a lista dinâmica usar uma solicitação para parâmetros, a configuração inicial de valores de parâmetro deve ser executada no manipulador do driver.
Ao exibir os dados da lista dinâmica, você deve lembrar os seguintes recursos:
● Quando alterar programaticamente as propriedades da lista dinâmica, ela não reutiliza automaticamente os painéis de comando associados
com esta lista dinâmica.
● Se vários campos forem agrupados em um grupo com um modo de agrupamento em uma célula e nos campos agrupados, haverá um campo que é exibido pela caixa de seleção, esta caixa de seleção será exibida primeiro na célula resultante (texto esquerdo).
Em uma lista dinâmica, ao determinar o tipo de dados para campos, cujas expressões incluem parâmetros, campos ou literais, o tipo resultante é determinado pelos tipos de campos e literais. Se o valor do tipo de parâmetro não for incluído no tipo de dados resultante - seu valor será truncado.
Por exemplo, no exemplo a seguir, o campo terá um tipo de número.

Escolha
Quando mentiras
Então 5.
Por outro lado
&Parâmetro
FIM

Se você atribuir um parâmetro ao parâmetro a outro tipo, a lista dinâmica desse campo receberá um valor 0 (valor padrão para o tipo de número).
Se um tipo semelhante for necessário em tal situação - é recomendável usar o design da linguagem de consulta Expressar. Por exemplo,
se o exemplo acima precisar ser transferido para a seqüência de parâmetros não superior a 100 caracteres, você deve substituir a simples especificação do parâmetro para expressar explicitamente o tipo de levantamento:

Escolha
Quando mentiras
Então 5.
Por outro lado
Express (& parâmetro como string (100))
FIM

Se no texto arbitrário da consulta da lista dinâmica nas expressões dos campos de amostra, os parâmetros são usados \u200b\u200b- um deve especificar explicitamente o tipo de parâmetros usando o design Expressar. Por exemplo, em vez disso & Nomenclatura como nomoculador usar
Express (& nomenclatura como um livro de referência. Nameneture) como nomenclatura. Caso contrário, a pesquisa através da cadeia de pesquisa pode funcionar
incorretamente ou produzir erros.

3. Métodos para obtenção e lista de dados de cache

Ao receber dados para exibir a lista dinâmica usa uma das três maneiras:
1. Ler a partir do banco de dados é realizado por partes com o número de elementos de dados, excedendo ligeiramente o número de linhas exibidas simultaneamente pela lista (mas não inferior a 20). O cache de dados no servidor não é executado.
2. Ler no banco de dados é executado por páginas para 1.000 elementos de dados. O cache de dados no servidor é executado. Os dados hierárquicos são armazenados em cache: não mais de 2 páginas de elementos são armazenados em cache para cada pai. Não mais de 20 páginas de elementos são armazenadas em cache em uma lista dinâmica. O cache será incluído com uma lista dinâmica para as seguintes tabelas:
● Critério de seleção;
● Todas as tabelas de registro de contabilidade, exceto para a tabela principal e tabela de motionsubkonto;
● Todas as tabelas de registro de acumulação, exceto a tabela principal;
● Todas as tabelas de registro de informações, exceto a tabela principal;
● Todas as tabelas de registro de cálculo, exceto a tabela principal;
● tabela virtual para o interruptor de tarefas;
● Tabelas de fontes externas sem chaves;
● Cubos de fontes externas.

3. Ler no banco de dados é executado pelas páginas para 1.000 itens. A primeira porção é de 1 página. Cada próxima parte aumenta em 1 página (quando o final da amostra anterior é atingido). Quanto mais próximo o "ponto de vista" até o final dos dados exibidos estão em movimento, maior a amostra é lida no banco de dados, no limite tornando-se igual a todos os dados exibidos. O cache de dados no servidor é executado. O número máximo de registros na lista de cache e dinâmica é de 1.000.000.
Dependendo do que é selecionado pela tabela principal da lista dinâmica e o valor leva a propriedade de leitura dinâmica, estes ou outros métodos de leitura de dados são usados:

● Como o valor da propriedade, a tabela principal é uma das seguintes tabelas: Plano de Exchange, diretório, lista de documentos, revista de documentos, plano de características, plano de conta, plano de cálculo, processo de negócios, tarefa, tabela de pontos de processo de negócios:



● Como o valor da propriedade, a tabela principal mostra uma das seguintes tabelas: a tabela principal do registro de informações, o registro de acumulação, o registro de contabilidade, o registro de cálculo, a tabela virtual do registro de contabilidade do MotrsSubkonto:

● Leitura dinâmica da propriedade:
● Instalado: o método 1 é usado (a descrição dos métodos é dada acima).
● Liberado: Método 2 (métodos descritos acima).

● Como propriedade, a tabela principal é a tabela do critério de seleção ou tabela de tarefas para o contratante (executivo de tarefas):
● A chave que identifica a string da tabela: link.

● Como propriedade, a tabela básica indica a tabela virtual da informação do compositor do compositor ou a pesquisa:
● A chave identifica a cadeia de tabela: key-ups.
● A propriedade de leitura dinâmica não é aplicável.
● O método 2 é usado (métodos descritos acima).

● Como propriedade, a tabela principal indica uma das tabelas de registro virtual, além do acima:

● A propriedade de leitura dinâmica não é aplicável.

● Propriedades A tabela principal não é especificada, uma solicitação arbitrária é usada:
● A chave que identifica a seqüência de tabela: número.
● A propriedade de leitura dinâmica não é aplicável.
● O método 3 é usado (métodos descritos acima).

Para exibir, os dados são transmitidos para o cliente por partes, o tamanho do qual é semelhante ao tamanho da parte no 1º método de ler os dados (descritos no início desta seção).
Ao criar um formulário contendo uma lista dinâmica, 45 elementos de dados de cada lista dinâmica visível são inicialmente transmitidos para o cliente (se mais de 45 elementos listados). Se a lista dinâmica exibir mais de 45 linhas, quando abrir o formulário, será executada uma chamada de servidor adicional para obter itens de dados ausentes.

4. Configurações de lista dinâmica

Propriedade Definindo a lista - pressionando o hiperlink para abrir leads para o formulário de abertura configurando a lista dinâmica. A configuração da lista é executada da mesma forma que operações semelhantes no sistema de layout de dados.


FIG. 2. Registro condicional da lista dinâmica

Durante a configuração da lista dinâmica na configuração, a solução aplicada tem a capacidade de fazer o seguinte:
● Defina os campos para os quais é necessário realizar uma simplificação;
● Descreva a seleção de dados na lista;
● Especifique as configurações condicionais;
● Definir campos pelos quais você precisa agrupar dados.
Para definir a classificação para o desenvolvedor faz sentido, se ele não atender ao sistema de classificação padrão instalado.

Conselho. Deve ser lembrado que a seleção malsucedida dos campos de classificação (bem como a seleção e agrupamento dos dados) afeta adversamente a eficiência da amostra dinâmica.
A partir do ponto de vista do desenvolvedor do aplicativo, as configurações da lista dinâmica consistem em várias partes que estão interconectadas. A propriedade principal através da qual você pode gerenciar as configurações da lista dinâmica é Lockersstrakes.. Este objeto contém três conjuntos de configurações que, ao operar o sistema, defina as configurações finais aplicadas à lista dinâmica:
● Configurações - Configurações criadas no modo Configurador. O procedimento de lista dinâmica fornece acesso rápido à propriedade de configuração. O nome do vinculador de configurações de lista dinâmica é, portanto, os seguintes projetos são equivalentes:
Lista. Cortado e lista. Apoie os trabalhadores. Instruções.
● Custom-to-Settings são as configurações que o usuário altera no modo "1C: Enterprise";
● Fixed-Lane - Essas configurações são definidas no idioma incorporado. Além disso, esta propriedade inclui valores de seleção transmitidos ao formulário usando seus parâmetros. Propriedades do seleção de lista dinâmica, parâmetros, aplicativo condicional fornecem acesso rápido às configurações fixas das configurações da lista dinâmica. Em outras palavras, esses recursos são equivalentes:
Lista. Superlotes. Intensificado-intensificado. Potting e lista.
Ao formar a configuração final de uma lista dinâmica, várias opções para configurações são combinadas da seguinte maneira:
● Se qualquer tipo de configurações for totalmente marcada como usuário, as configurações do usuário caírem nas configurações de resultados
(Lista. Apoie os trabalhadores. Use o usuário-legislativo). Ao mesmo tempo, se alguma configuração for marcada como inacessível, essas configurações serão colocadas nas configurações resultantes das propriedades da lista. Supercrower. Definições.
● Se qualquer tipo de configurações for notada como um usuário não inteiramente, mas elemento, então:
● Os elementos marcados como personalizados cairão nas configurações resultantes das propriedades da lista. Supercrower.
● Os elementos marcados como inacessíveis cairão nas configurações resultantes das propriedades da lista. Superman.
● Configurações fixas (lista. Supercrowers. Intensificado por fixo) são adicionados às configurações resultantes "como é". Ao mesmo tempo, a situação é inválida quando as configurações do mesmo nome estão em configurações fixas e do usuário, como a seleção com o mesmo valor esquerdo na condição.

Se as configurações estiverem presentes nas configurações da lista dinâmica desabilitada usando opções funcionais, essas configurações serão excluídas da lista de configurações disponíveis quando receber dados de uma lista dinâmica.
Gerencie quais configurações estarão disponíveis para o usuário e que - Não, é executado na janela Dynamic List Settings.


FIG. 3. Gerenciamento incluindo em configurações personalizadas

Caixa de seleção na parte inferior da janela (veja a Fig. 3) é responsável por colocar nas configurações (ordinárias ou rápidas) Todos os tipos de configurações. Esse recurso está disponível para seleção, ordem, agrupamento e design condicional. Se as configurações forem especificadas com o modo de edição for uma rápida seleção, então, no grupo de configurações do usuário da tabela de formulário, que exibe a lista dinâmica, você deve especificar um grupo vazio do formulário no qual os elementos associados à dinâmica personalizada rápida As configurações de lista serão localizadas. Se o grupo não for especificado - as configurações rápidas do usuário não serão exibidas no formulário. Também é possível causar explicitamente configurações personalizadas usando o idioma interno usando o método Create element-Users Method () da lista dinâmica.
Também é possível escolher a possibilidade de acomodar configurações específicas nas configurações do usuário. Este recurso está disponível para seleção e elementos condicionais (veja a Fig. 3).

Se for necessário que, ao abrir uma lista dinâmica, quaisquer configurações especiais são carregadas, isso pode ser feito de duas maneiras:
● Usando a lista dinâmica de configurações personalizadas. Os dados contidos neste parâmetro serão colocados nas configurações do usuário da lista dinâmica.
● Usando o formulário de uma lista dinâmica de keystalls. Se, quando você abrir o formulário, especifique este parâmetro, em uma lista dinâmica que são os principais detalhes do formulário, as configurações do usuário localizadas no armazenamento de configurações com a tecla especificada serão baixadas.

5. Pesquisar na lista dinâmica

A lista dinâmica localizada no formulário fornece a capacidade de executar uma pesquisa interativa nos dados exibidos. A pesquisa pode ser realizada usando as seguintes ferramentas: strings de pesquisa, caixa de diálogo de pesquisa, valor atual de pesquisa, usando o histórico de pesquisa e o período de configuração (para listas dinâmicas exibindo documentos). O resultado da pesquisa é um conjunto limitado de registros.
lista dinâmica (disponível para este usuário), que atende aos critérios de pesquisa.
Para gerenciar os recursos de pesquisa na lista dinâmica, três propriedades da tabela de formulários gerenciados exibindo a lista dinâmica são projetadas:
● A posição da cadeia de pesquisa - determina a posição da string de pesquisa. Pode assumir os seguintes valores: Auto, Painel de Comando, Não, Top, Inferior.


FIG. 4. String de pesquisa em uma lista dinâmica

Se o valor dessa propriedade estiver definido para o painel de comando, no painel de comando de comando (se a lista dinâmica for os detalhes principais do formulário) ou no painel de comando associado à lista dinâmica, a string de pesquisa será exibida. A cadeia de pesquisa postada no painel de comando é sempre pressionada na borda direita do painel de comando (juntamente com os botões localizados na direita da barra de pesquisa).
Se a propriedade não estiver definida como Não, a string de pesquisa estará faltando no formulário e, quando a caixa de diálogo Linha inicial começar, uma caixa de diálogo será aberta.
Se a propriedade estiver definida para o topo, a cadeia de pesquisa será localizada entre o painel de comando da lista e a tabela exibindo a lista dinâmica. Se a propriedade estiver definida para a parte inferior, a string de pesquisa será postada imediatamente após a tabela exibindo a lista dinâmica.


● Se a propriedade Modo de Compatibilidade estiver definida para não usar ou a versão mais antiga versão 8.3.4 - Painel de comando de valor.
A transição para a barra de pesquisa é a seguinte:
● Ao pressionar a combinação de teclas CTRL + F;
● mouse;
● Quando o conjunto de texto é iniciado na lista dinâmica (levando em conta o valor da propriedade da lista de pesquisa dinâmica).
● A posição de status de visualização - descreve onde o status de visualização será exibido: quais campos se pesquisam e quais valores
pesquisado em cada campo. Pode assumir os seguintes valores: Auto, não, topo, fundo


FIG. 5. Status de pesquisa na lista dinâmica

Se a propriedade estiver definida como Não, o estado de visualização estará ausente no formulário. Como resultado, é possível identificar ou não, será possível cancelar o botão de seleção apenas por disponibilidade.
Se a propriedade estiver definida para o topo, o estado de visualização será localizado entre o painel de comando da lista e a tabela exibindo a lista dinâmica. Se a propriedade estiver definida para a parte inferior, o estado de visualização será publicado imediatamente após a tabela exibindo a lista dinâmica.
Se o formulário for criado em "1C: Enterprise" versão 8.3.4 e mais novo - a propriedade é definida como NO. Se o formulário for criado em "1C: Enterprise" versão 8.3.5 e mais antigo - a propriedade é definida como Auto. O valor real da propriedade neste caso será determinado da seguinte forma:
● Se a propriedade do modo de compatibilidade estiver definida como versão 8.3.4 (e abaixo) - sem valor;
● Se a propriedade Modo de Compatibilidade estiver definida para não usar ou versão mais antiga versão 8.3.4 - Valor máximo;
● Posição de gerenciamento de pesquisa - Determina onde o botão de pesquisa será exibido. O botão abre o menu que contém as seguintes informações: Comandos Localizar para o valor atual, pesquisa avançada, cancelar a pesquisa, defina o período (para listas de documentos e logs) e o histórico de consultas de pesquisa (últimos 5 pedidos). A propriedade pode levar valores: automático, não, painel de comando.


FIG. 6. Gerenciando a pesquisa na lista dinâmica

Se a propriedade não estiver definida como Não, o botão de pesquisa estará faltando no formulário (mas os comandos estarão disponíveis usando o menu ainda). Propriedades de valor O painel de comando coloca o botão para o painel de comando associado à tabela exibindo a lista dinâmica.
Se o formulário for criado em "1C: Enterprise" versão 8.3.4 e mais novo - a propriedade é definida como NO. Se o formulário for criado em "1C: Enterprise" versão 8.3.5 e mais antigo - a propriedade é definida como Auto. O valor real da propriedade neste caso será determinado da seguinte forma:
● Se a propriedade do modo de compatibilidade estiver definida como versão 8.3.4 (e abaixo) - sem valor;
● Se a propriedade do modo de compatibilidade estiver definida como não usar ou a versão mais antiga versão 8.3.4 - Valor Command painel;
Se houver vários painéis de comando no formulário, a origem dos comandos para qual é uma das tabelas de formulário gerenciadas (exibindo os dados da lista dinâmica) e, em seguida, a barra de pesquisa e o botão de pesquisa serão localizados apenas em um painel de comando:
● ou no painel de comando da própria lista dinâmica (se o preenchimento automático estiver ligado para ele)
● ou em qualquer um dos painéis de comando restantes.

Considere as características da busca pela pesquisa na lista dinâmica:
● Para que a busca seja convenientemente desfrutar (incluindo a velocidade da velocidade), você deve habilitar a pesquisa de texto completo para todos os objetos de configuração que podem ser usados \u200b\u200bcomo a tabela principal da lista dinâmica. Além disso, todos os detalhes dos objetos de configuração que podem ser exibidos na lista dinâmica devem estar envolvidos na pesquisa de texto completo, que pode ser obrigado a pesquisar.
Se o objeto for excluído da pesquisa de texto completo, o mecanismo de pesquisa em consideração funcionará, mas o desempenho de tal busca será extremamente baixo. Não é recomendado usar o busca por objetos que não são indexados por pesquisa de texto completo.
● A solução do aplicativo deve ter uma tarefa regulatória que atualize regularmente o índice de pesquisa de texto completo.

● A pesquisa não é executada por todas as colunas de lista dinâmica (e o objeto de configuração), mas apenas por esses alto-falantes exibidos na tabela.
● Pesquisar em uma lista dinâmica sobre os campos de tipos de referência com uma representação arbitrária é realizada por campos que são usados \u200b\u200bpara
formação de representação (veja aqui). Os campos incluídos na representação são obtidos levando em conta o processador do processamento da representação do ThePole () do objeto correspondente.
● Para listas dinâmicas com a tabela principal especificada, uma pesquisa de texto completo na tabela principal é usada. Todas as referências não-cristadas da tabela principal serão adicionadas aos resultados da pesquisa de texto completo. O resultado da busca de texto completo para a tabela principal é usada como uma seleção por campos chave. Uma pesquisa de texto completo nos campos exibidos na lista de outras tabelas também é executada (se uma pesquisa de texto completo for usada para o objeto e objeto de configuração). Sem pesquisa de texto completo, os dados podem ser
encontrado, mas a própria pesquisa será realizada muito lentamente.
Se ocorrer um erro ao tentar executar a pesquisa de texto completo, a pesquisa será executada sem usar a pesquisa de texto completo.
Por exemplo, isso pode ocorrer ao procurar uma letra e um grande número de linhas na base de informações começando com esta carta.
● No caso de a seleção do tipo de comparação ser usado para o campo da tabela principal da lista dinâmica, o valor de seleção será adicionado à consulta de pesquisa à consulta de pesquisa nesta tabela.
● A cadeia de pesquisa é dividida em palavras. Esta partição é realizada de acordo com as seguintes regras:
● A string é dividida usando um espaço e aba símbolos como separadores.
● O fragmento resultante é então processado:
● Se o fragmento for uma representação de data (com ou sem tempo), levando em conta as configurações de sessão regionais atuais, então a palavra é esse fragmento.
● Caso contrário, o fragmento é quebrado mais usando símbolos ", .- / \\" como separadores. Nesse caso, cada fragmento de string resultante é aceito como uma palavra.

● Para cada palavra, é formado um conjunto de condições, que são combinadas por "ou". Esse conjunto de condições é formado se a pesquisa de texto completo por essa palavra na tabela, a partir da qual esse campo foi obtido, retornou pelo menos um objeto ou a pesquisa de texto completo não foi usado para este campo. As condições são formadas da seguinte forma:
● Para um campo de cadeia de tipos, a condição tem uma visão do nome do nome como%%%.
● Para o campo Tipo, a condição da condição tem o nome do nome \u003d valor em que o valor é a palavra que é dada ao tipo de número. Se você não puder ser executado corretamente, a pesquisa no campo não será executada.
● A palavra está procurando como uma substring na exibição padrão para o tipo Booleo definido para a sessão atual. Se a palavra desejada for detectada na exibição, a pesquisa de um valor correspondente à apresentação em que a palavra é detectada é. Ao mesmo tempo, nenhuma exibição é usada para pesquisar, que são especificadas usando a propriedade Format Format Item.
● Para um campo de tipo, a condição da condição tem uma visão do nome do nome\u003e \u003d começo (palavra) e nome<=КонецДня(Слово). Если Слово подобно дате, в которой год
especifica um ou dois dígitos, o ano será dado ao século atual e esse valor será adicionado à condição de pesquisa.
● Para campos de referência, a pesquisa é executada nos campos usados \u200b\u200bpara formar uma apresentação de referência. Em cada um desses campos
realizada de acordo com as regras descritas acima. Para pesquisar, os campos usados \u200b\u200bpara formar uma representação de dados arbitrários não são usados.
Um conjunto de condições para cada palavra é combinado por "software".
● Para valores com zeros à esquerda, você pode procurar uma linha com os zeros à esquerda e na linha indicada sem liderar zeros.
● Se a lista dinâmica exibir uma lista de documentos ou um log de documentos, o intervalo de visualização de lista especificado também será exibido na área de forma atribuída para exibir o status de visualização para a lista dinâmica necessária.
● O comando de pesquisa para o valor atual não está disponível se a tabela principal da lista dinâmica for o critério de seleção.
● Fragmentos estrangeiros de linhas são destacados quando exibidos na tabela.
● Para uma coluna, somente a barra de pesquisa é suportada. Ao adicionar uma nova consulta de pesquisa para a coluna na qual a pesquisa já está executada, a expressão de pesquisa será substituída e não a adição de duas consultas de pesquisa.
● Se não houver forma no formulário. O elemento de suplemento do formulário exibe a cadeia de pesquisa associada à tabela (propriedade do complemento do elemento de formulário) exibindo a lista dinâmica, depois pressionando a tecla Ctrl + F, leva à abertura da caixa de diálogo de pesquisa.


FIG. 7. Pesquisar diálogo

Se o formulário estiver presente na forma do elemento formulário do formulário exibe a cadeia de pesquisa associada à tabela (propriedade do complexo do elemento de formulário) exibindo a lista dinâmica, então o comando de pesquisa avançado deve ser usado para abrir a pesquisa diálogo.
● Ao usar a caixa de diálogo de pesquisa, você precisa lembrar os seguintes recursos:
● Abrir a caixa de diálogo de pesquisa de teclado leva ao fato de que o valor da célula atual está na string que para pesquisar e o valor do comutador como pesquisar é definido como uma coincidência precisa.

● Abrindo a caixa de diálogo de pesquisa diretamente iniciando a string de pesquisa definida na lista dinâmica leva ao fato de que o valor de mudança de como pesquisar é definido para uma parte da linha, e a discagem de texto cai no campo. O que procurar.

6. Obtenção de dados exibidos por uma lista dinâmica.

Ao usar listas dinâmicas, talvez seja necessário executar várias ações de dados que são exibidas atualmente por uma lista dinâmica, levando em conta a seleção sobreposta e a pesquisa. Essas ações incluem: Processando as informações exibidas, por exemplo, transferência de documentos selecionados ou definir todos os detalhes de objetos selecionados, gerando uma lista de objetos disponíveis (com design, etc.), por exemplo, para imprimir ou salvar em um documento tabular.
Para obter dados exibidos por uma lista dinâmica, você deve usar os métodos de recebimento do composto flash () e
Complexos baseados em replenificação ().
Um exemplo de recebimento de dados:

Esquema \u003d elementos. Oportunidades. Perspiração ();
Configurações \u003d elementos. Oportunidades. Base de deslocamento ();
Máquina de cortesia \u003d novo fold-shirtscomplekdang ();
MockupsComponovka \u003d máquina de pasta. Preencha (esquema, configurações);
ProcessadorComponovka \u003d novos componentes do processador;
ProcessadorComponovka.initialize (Mocketing);
Equipamento do processador \u003d novos resultados do processador em linha CommedSheldBlocks
Exercício de processador de retorno. Garantir (ProcessorComponovka);

Obter dados para a coleta de valores (tabela ou lista de valores) é realizada de forma semelhante.
A obtenção de dados de uma lista dinâmica, principalmente, tem um número de recursos que precisam ser levados em conta ao desenvolver soluções aplicadas:
● Não suportado pelo seguinte design da tabela:
● Alternação de cores de linhas;
● tampas de imagem;
● imagem de podle;
● cor de fundo do porão;
● a cor do texto do porão;
● fonte de porão;
● Posição horizontal no porão;
● modo de senha.
● O design condicional especificado para o formulário gerenciado não é suportado;
● Ao organizar uma tabela hierárquica ascendente, um campo tipo de link, registros contendo um link vazio são sempre colocados primeiro.

Na lista dinâmica, a seleção de 1C não é tão difícil quanto parece que muitos usuários inicialmente. Configuradores e tabelas para valores são usados. No software 1C, muitas vezes é necessário classificar dados em gráficos e células para quaisquer critérios.

Como definir a seleção na lista?

Você pode criar seleção de duas maneiras: na forma da própria lista ou se registrar com os programaticamente. No primeiro caso, você deve adicionar uma lista dinâmica de 1C 8 ao formulário, determinar a tabela principal para ela e, em seguida, vá para suas propriedades. O formulário gerenciado permite que você trabalhe com os valores mais diferentes. Lá é necessário encontrar o item "Configurando a lista" e vá para este menu. Na janela que se abre, você pode definir manualmente qualquer classificador para a lista usada e depois - gerenciar a seleção formada programaticamente.

Para estabelecer um classificador dinâmico programaticamente, você deve saber que a seleção em 1C é considerada uma propriedade de uma lista dinâmica. Para adicionar a seleção, usando essa qualidade, você precisa adicionar um novo item à propriedade de seleção. Para trabalhar todos, você precisa definir o parâmetro no campo do valor direito, esquerdo e no campo "Tipo de comparação". É importante entrar no valor "Verdade" no campo de uso. Assim, você pode criar a seleção mais fácil. Ao adicionar condições em outros campos, você pode torná-lo mais complicado e adequado às suas necessidades.

Seleciona na tabela de valores 1C

Para definir a seleção na tabela, você pode usar uma das várias opções. Você pode tornar a seleção manual - para resolver a tabela e ocultar todas as linhas que você não precisa. Mas este é um processo muito laborioso, que não vai querer fazer nada. Este método é adequado apenas para aqueles que estão apenas começando a trabalhar com 1C e ainda não podem dominar técnicas mais complexas, mas produtivas.

A segunda opção de seleção na tabela atua através do método da tabela chamada "Encontrar linhas". Uma desvantagem significativa desse método é que o único tipo para comparação será "igual", o que restringe significativamente a capacidade de usar a seleção.

O método de seleção mais racional da tabela pode ser feito através do construtor de consulta.

Outras características de lista dinâmica em 1c

Listas dinâmicas fornecem amplas oportunidades para trabalhar com dados, que não foram em 1C 7. Um dos mais convenientes deles é criar formas de escolha. Por exemplo, em 1C: Contabilidade, você precisa ir ao menu "Nomenclature" e adicionar um novo formulário de seleção, atribuindo-o como principal.

Para definir os parâmetros para a lista dinâmica:

  • Você pode usar formulários de seleção;
  • Ao criar este formulário, uma lista de seleção dinâmica aparecerá automaticamente no campo;
  • Indo em suas propriedades, você pode ver o item "pedido arbitrário". É essa consulta e permite que você use todas as vantagens de uma lista dinâmica;
  • Você pode inserir seus parâmetros para este pedido;
  • Verificando a caixa de seleção e abrindo esta janela, você pode ver uma nova solicitação, com todos os campos do diretório da nomenclatura;
  • Ao clicar no botão Construtor de consulta, você pode alterar o conteúdo desta lista.

Para adicionar sua própria solicitação à lista suspensa, você deve ir para a guia Configurações. Na primeira aba, você verá a oportunidade de fazer qualquer seleção de acordo com suas necessidades.

Solicitação de configuração de software.

Você pode instalar os métodos de consulta e software. Para fazer isso, será necessário inserir apenas algumas linhas no módulo de formulário. Depois disso, ele só será suficiente para clicar na linha atual duas vezes para passar as strings com os valores selecionados para o documento.

Na lista 1C de valores no formulário - esta é uma ótima maneira de trabalhar com software 1C mais racional e produtivo. Isso permite que você otimize todo o trabalho na empresa.