Propriedade dos dados trocados. Troca universal de dados Separação por tipo de contabilidade

01.01.2024

Se você fizer uma pesquisa global pela palavra em qualquer configuração padrão Troca de dados, você verá muitos links para ele. Tanto em módulos gerais como em módulos de diretórios, documentos, cadastros, etc. Vamos considerar o que é essa propriedade e para que ela é usada.

Breve visão geral

Se você abrir uma ramificação no assistente de sintaxe Objetos de aplicativo, você descobrirá que muitos deles: DiretórioObject, DocumentObject, para registros Conjunto de recordes etc. há uma propriedade Troca de dados.

O tipo deste objeto é: Opções de compartilhamento de dados, que por sua vez contém três propriedades

  • Remetente
  • Destinatários
  • Essas propriedades são usadas no processo de troca entre nós base de informações distribuída. Na propriedade Remetente um link para o nó no qual o objeto foi alterado é armazenado. Destinatários contém um conjunto de nós do plano de troca nos quais as alterações serão carregadas. Se alguma ação não padrão for necessária durante a troca de dados entre os bancos de dados e o remetente, a composição do conjunto de nós poderá ser alterada programaticamente. Mas gostaria de me deter na terceira propriedade com mais detalhes.

    Troca de dados de propriedade.Load

    Se esta propriedade estiver definida como Verdadeiro, isso indica que um objeto recebido através de mecanismos de troca de dados está sendo gravado. Isso pressupõe que o objeto contenha dados corretos e que a plataforma 1C execute um número mínimo de verificações. Mas muitas vezes, ao gravar um objeto, muitas coisas são feitas verificações de programa em procedimentos predefinidos de um módulo de objeto. E esse código também é executado ao escrever um objeto recebido do arquivo de troca. E neste caso podem ocorrer erros, por exemplo, pelo facto de os dados que estão a ser verificados simplesmente ainda não terem sido registados.

    Portanto, muitas vezes em módulos de objetos você pode encontrar o seguinte código:

    Procedimento antes da gravação (rejeição) se a troca de dados retornar; EndIf ;//Aqui está o código com verificação de dados

    Fim do procedimento

    Por outro lado, a presença de tal código permite ao desenvolvedor contornar ilegalmente a verificação de dados ao escrever um objeto programaticamente, porque A propriedade também é gravável. Por exemplo, usando este código:

    NovoProduto = Diretórios. Bens. CriarItem() ; NovoItem. Nome ="Teste de gravação"

    ;

    NovoItem. DataExchange Verdadeiro;

    NovoItem. Escrever() ;

    E em algumas situações excepcionais isto pode realmente ajudar como medida temporária. Mas você não deve abusar disso.

    O que é Data Exchange.Load = True, como usar Data Exchange.Load.

    Data Exchange.Loading é um atributo de qualquer objeto no sistema 1C Enterprise. Permite indicar ao gravar um objeto que é necessário desabilitar quaisquer verificações (incluindo verificações no nível da plataforma 1C). Isso foi feito para evitar conflitos durante a troca de dados.

    Se você estiver desenvolvendo sua própria configuração, em todas as verificações de correção de dados (por exemplo, o procedimento BeforeWrite), deverá adicionar a seguinte linha como primeira linha:

    Obtenha 267 videoaulas em 1C gratuitamente: Esta é uma boa forma entre os desenvolvedores 1C. Controle de registro no processamento 1C padrão

    Se você já usou padrões (por exemplo, Localizar e substituir valores, Processamento de dados em massa,

    Troca universal

    dados, etc.), você provavelmente notou uma configuração que geralmente é chamada de “Controle de Gravação”. Esta configuração é responsável por ligar/desligar o atributo “Data Exchange.Download”.

    Como configurar o modo de troca de dados Download

    É muito conveniente usar este atributo no código do programa para desabilitar todas as verificações. Por exemplo, este atributo é necessário se você precisar registrar um objeto, mas ele possui detalhes obrigatórios não preenchidos. Isso também pode ser usado como uma forma de aumentar a velocidade do processamento de dados em massa - se você desabilitar todas as verificações, o sistema grava o objeto mais rapidamente.

    Última modificação: 01/09/2015

    Selecione o esclarecimento:

    A troca universal de dados destina-se ao carregamento e descarregamento de dados em um arquivo no formato XML entre diferentes configurações 1C de acordo com as regras de troca configuradas.

    Nomenclatura, códigos de barras, ativos fixos, etc. será carregado das configurações 1C padrão no banco de dados Cleverens: Property Accounting, e vice-versa, do banco de dados Cleverens: Property Accounting, inventário, nomenclatura, divisões, etc. Ao usar este modo, as regras e os arquivos de dados de download são transferidos do cliente para o servidor, e o arquivo de dados de download é transferido do servidor para o cliente. Os caminhos para esses arquivos localizados no cliente devem ser especificados na caixa de diálogo imediatamente antes de executar a ação.

    No servidor. Neste modo, os arquivos não são transferidos para o cliente e os caminhos para eles devem ser especificados no servidor.

    Arquivo processamento externo e os arquivos do protocolo Exchange devem estar sempre no servidor, independentemente do modo operacional.

    Fazendo upload de dados

    Procedimento de upload de dados:

    1. selecione regras de troca - especifique o arquivo XML de regras de troca, cada configuração 1C tem suas próprias regras (serão adicionadas gradualmente à montagem Cleverence: Property Accounting);
    2. leia as regras de câmbio;
    3. após a leitura, os dados carregados serão preenchidos, você pode especificar quais objetos serão carregados;
    4. selecione um arquivo XML (você pode criar um arquivo vazio - especifique o nome do arquivo e ele será criado automaticamente) no qual os dados ou a infobase receptora serão carregados;
    5. carregar dados.

    Fazendo upload para um arquivo de troca.

    Especifique o nome do arquivo no qual os dados serão carregados. O arquivo resultante com os dados baixados pode ser compactado.

    Conectando e fazendo upload de dados para o receptor de segurança da informação.

    Selecione o tipo de base de informações:

    Selecionamos a plataforma 1C e o diretório da base de informações para conexão.

    Na guia “Dados carregados”, você pode selecionar os tipos de objetos que devem ser carregados, configurar seleções para selecionar objetos ou especificar o nó de troca de dados para o qual deseja carregar dados.

    Na guia “Opções de upload”, você pode especificar parâmetros adicionais para upload de dados.

    Na guia “Comentário”, você pode escrever um texto de comentário arbitrário para ser incluído no arquivo de troca.

    Para baixar os dados, você deve especificar o nome do arquivo do qual os dados serão baixados; se você digitou uma senha para compactação durante o upload, deve especificá-la para descompactação;

    • “Usar transações” - a capacidade de configurar o carregamento de dados em transações (uma transação é uma sequência de ações indivisível e logicamente relacionada). Para fazer isso, você precisa marcar a caixa de seleção “Usar transações” e especificar o número de elementos em uma transação ao carregar.
    • “Carregar dados em modo de troca” (Data Exchange.Load = True) – se o sinalizador estiver definido, o carregamento dos objetos será realizado com o sinalizador de download definido. Isso significa que quando os objetos são gravados no banco de dados, todas as verificações de plataforma e aplicação serão desabilitadas. A exceção é para documentos que sejam registrados na modalidade de lançamento ou cancelamento. O lançamento e o cancelamento do lançamento de um documento são sempre realizados sem definir o modo de carregamento, ou seja, verificações serão realizadas.
    • “Gravar apenas objetos alterados na infobase” – se o sinalizador estiver definido, apenas os objetos alterados serão gravados na infobase. Se o objeto não tiver sido alterado, ao carregar do arquivo de troca ele não será sobrescrito.
    • “Baixar objetos do link sem marca de exclusão.”
    • “Gravação otimizada de objetos” – se o sinalizador estiver definido, é ativado um modo que permite reduzir drasticamente o número de acessos na infobase para gravação de objetos.
    • “Escrever registros com conjuntos de registros” – se o sinalizador estiver definido, um modo será ativado que permitirá que alterações nos registros sejam gravadas por conjuntos de registros, em vez de por gerenciadores de registros.
    • “Cortar linhas à direita” – se a bandeira estiver definida, ao carregar as linhas, os espaços à direita serão cortados.
    • "Configurações download automático dados" - permite configurar o uso do carregamento automático (usar, não usar, tirar uma dúvida antes de realizar a operação).
    "Modo de depuração do manipulador de inicialização" é recomendado para uso apenas por desenvolvedores!

    Configurações adicionais

    O marcador é usado para configurações detalhadas upload e download de dados.

    • “Modo de depuração” – sinalizador para definir o modo de depuração do Exchange. Se este sinalizador estiver definido, o processo de troca de dados não será interrompido se ocorrer algum erro. A troca será concluída e as mensagens de depuração serão enviadas para o arquivo de log da troca. Este modo é recomendado para ser usado ao depurar regras de troca.
    • "Conclusão mensagens informativas para a janela de mensagens” – se o sinalizador estiver definido, o protocolo do processo de troca de dados será exibido na janela de mensagens.
    • “Número de objetos processados ​​para atualização de status” – o parâmetro é usado para determinar o número de elementos processados ​​antes de alterar a linha de status de carga/descarga
    • “Configurações de upload de dados” - permitem determinar o número de elementos processados ​​​​em uma transação ao fazer upload de dados, carregar e processar apenas os objetos para os quais você tem direitos de acesso, configurar o tipo de alteração de registro para objetos carregados por meio de planos de troca.
    • “Use um formato otimizado para troca de dados (V8 - V8, versão de processamento não inferior a 2.0.18)” – o formato otimizado de mensagens de troca pressupõe a presença de um nó “InformationOnDataTypes” no cabeçalho da mensagem, no qual as informações sobre os tipos de dados são inseridas. carregado. Isso permite acelerar o processo de carregamento de dados.
    • “Usar transações ao descarregar para planos de câmbio” – o sinalizador determina o modo de uso de transações (uma transação é uma sequência de ações indivisível e logicamente relacionada) ao descarregar dados ao selecionar alterações em nós de planos de câmbio. Se o sinalizador estiver definido, o upload dos dados será realizado em uma transação.
    • Número de itens por transação — Define o número máximo de itens de dados que podem ser colocados em uma mensagem em uma única transação de banco de dados. Se o valor do parâmetro for 0 (o valor padrão), todos os dados serão colocados em uma transação. Este modo é recomendado porque garante a consistência dos dados incluídos na mensagem. Porém, ao criar uma mensagem no modo multiusuário, pode haver conflitos de bloqueio entre a transação que está colocando os dados na mensagem e as transações realizadas por outros usuários. Para reduzir a probabilidade de tais conflitos, você pode definir esse parâmetro com um valor diferente do padrão. Quanto menor o valor do parâmetro, menor a probabilidade de conflito de bloqueio, mas maior a probabilidade de dados inconsistentes serem incluídos na mensagem.
    • “Descarregar objetos para os quais você tem direitos de acesso” – se o sinalizador estiver definido, a seleção dos objetos da infobase será realizada levando em consideração os direitos de acesso do usuário atual do programa. Isso envolve o uso do literal "ALLOWED" no corpo da consulta para recuperar os dados.
    • “Remover automaticamente caracteres inválidos de strings para gravação em XML” – se o sinalizador estiver definido, ao gravar dados em uma mensagem de troca, os caracteres inválidos serão removidos. Os caracteres são verificados de acordo com a recomendação XML 1.0.
    • “Registro de alterações para nós de troca após upload” – o campo determina o modo de operação com registro de alterações de dados após a conclusão do upload de dados.
      Valores possíveis:
      Não excluir registro – após baixar os dados, o registro de alterações no nó não será excluído.
      Exclua completamente o registro do nó de troca - após o upload dos dados, o registro das alterações no nó será completamente excluído.
      Remover registro apenas para metadados baixados – após o download dos dados, o registro de alterações no nó será excluído apenas para objetos de metadados que foram especificados para download.
    • “Protocolo de troca” – permite configurar a saída de mensagens informativas na janela de mensagens, mantendo e gravando em arquivo separado protocolo de troca.
    • “Nome do arquivo, protocolo de troca” – nome do arquivo para saída do protocolo do processo de troca de dados.
    • “Protocolo de carga (para conexão COM)” – nome do arquivo para saída de um protocolo do processo de troca de dados na base receptora durante a troca através de uma conexão COM. Importante: o caminho para o arquivo deve estar acessível no computador onde a base receptora está instalada.
    • “Anexar dados ao protocolo de troca” – se o sinalizador estiver definido, o conteúdo do arquivo do protocolo de troca será salvo se o arquivo de protocolo já existir.
    • “Saída de mensagens informativas para o protocolo” – se o sinalizador estiver definido, serão enviadas mensagens informativas para o protocolo de troca, além de mensagens sobre erros de troca.
    • “Abrir arquivos de protocolo de troca após realizar operações” – se o sinalizador estiver definido, após a conclusão da troca de dados, os arquivos de protocolo de troca serão automaticamente abertos para visualização.

    Excluindo dados

    Marcador necessário apenas para desenvolvedores regras de troca. Permite excluir objetos arbitrários da infobase.

    Livro didático sobre conversão de dados 1C (edição 2) Otimização

    Regras de upload de dados

    1. Ordem das regras de upload de dados

    Recomenda-se organizar as regras de upload de dados em tal ordem que os links dos objetos dependentes sejam de baixo para cima. ou seja, devem ser colocadas primeiro as regras de descarregamento de dados cujos objetos não se referem a ninguém, seguidas das regras de descarregamento de objetos que se referem ao primeiro grupo, etc.

    Exemplo: Você precisa baixar dois diretórios Usuários e Indivíduos. Usuários do Diretório tem o requisito Físico. pessoa - link para o diretório Indivíduos. Ou seja, o diretório Usuários refere-se ao diretório Indivíduos. A sequência recomendada de regras de upload neste caso: Indivíduos, usuários.

    2. Selecione dados para upload em uma solicitação

    Se não houver transferência na regra de conversão partes tabulares e movimentos, bem como em eventos anteriores ao descarregamento não há chamadas diretas ao objeto que está sendo descarregado, recomenda-se utilizar o modo “Selecionar dados para descarregamento em uma solicitação” na regra de descarregamento de dados. Este modo permitirá que você receba todos os dados carregados em uma solicitação certo tipo, em vez de criar consultas separadas para descarregar cada objeto.

    Regras de conversão de objetos

    3. Uso pesquisa rápida ao carregar

    Este modo de descarregamento e carregamento é recomendado para aquelas regras de conversão de objetos que descarregam tipos de referência, cujo número total é relativamente pequeno (até aproximadamente 1000 elementos), para os quais existem muitas referências em outros objetos.

    Exemplo: Usuários do diretório. Quase todos os documentos possuem um link para este diretório e o número de elementos no diretório não excede 1000.

    4. Não descarregue objetos de propriedade por referência

    O modo permite que a regra de conversão de objetos não descarregue todos os elementos aos quais existem links. Se o modo estiver definido, ao descarregar o próprio objeto e as informações para pesquisa, todos os seus links serão descarregados, mas as informações completas sobre os elementos dependentes não serão descarregadas. Essa otimização pode acelerar várias vezes o upload e o download de dados.

    5. Não me lembro de objetos descarregados

    Para regras de conversão para objetos sem referência (registros), é necessário marcar a caixa de seleção "Não lembrar de objetos descarregados", pois você não pode se referir a linhas de registro, portanto não faz sentido lembrar as linhas de registro que foram descarregadas. Para objetos de referência, esse sinalizador geralmente é necessário para otimizar o acesso repetido para descarregar o mesmo objeto.

    6. Não crie manipuladores de eventos comuns para todos os objetos

    Não é recomendado usar manipuladores de eventos comuns antes de fazer upload e carregar dados para todos os objetos. Os manipuladores de upload e download não sabem o que será executado nesses manipuladores, portanto, algumas otimizações (por exemplo, ao carregar apenas gravações de objetos alterados) não terão efeito. Caso haja necessidade de utilizar os mesmos algoritmos de processamento de dados ao fazer upload e carregamento, é recomendado criar novo algoritmo e chame-o em eventos dos objetos necessários.

    Processamento universal de intercâmbio de dados XML

    7. Use um formato otimizado para troca de dados

    8. Baixe dados no modo de troca

    Permite evitar verificações desnecessárias na fase de carregamento de dados

    9. Registre apenas objetos alterados

    Permite registrar apenas objetos alterados na infobase. Se o objeto não tiver sido alterado, ao carregar do arquivo de troca ele não será sobrescrito.

    10. Gravação otimizada de objetos

    O modo permite reduzir drasticamente o número de acessos na infobase para gravação de objetos.

    11. Escreva registros com conjuntos de registros

    O modo permite que alterações de registro sejam gravadas por conjuntos de registros em vez de gerenciadores de registros.

    12. Troca de dados via COM

    Para troca V8-V8 se bases de informação a origem e o destino estão localizados na mesma rede local, é recomendado usar o exchange através de uma conexão COM. É necessário apenas que o processamento do Universal Data Exchange esteja presente na configuração do receptor.

    Sinceramente, Vladimir Milkin(professor e desenvolvedor