Distribuído 1C. Construção do RBD "do zero

Muitas vezes, na prática, há situações em que várias unidades ou galhos são geograficamente localizados em lugares diferentes. Ao mesmo tempo, os dados inseridos no programa em unidades remotas devem de alguma forma cair na sede, de modo que a contabilidade geral fosse conduzida.

Atualmente este problema Muitas vezes resolvido pela provisão de funcionários geograficamente remotos acesso remoto para um banco de dados comum. Ele pode ser implementado publicando uma base em um servidor da Web através de uma área de trabalho remota e assim por diante.

No entanto, sem situações raras e tais onde não há simplesmente nenhuma Internet no escritório territorialmente remoto, ou não é bastante estável para o trabalho na base geral de informações. Para fazer isso, em 1C há um mecanismo para configurar uma base distribuída.

Simplificando, na sede há uma base principal. Um subordinado é usado na divisão remota. Tais bases subordinadas podem ser várias. Como resultado, essa base distribuída é combinada em uma por sincronização. Pode ser feito como em modo automático no horário e manualmente.

Neste artigo, vamos considerar a configuração de um banco de dados distribuído para 1C: Accounting 3.0. Apesar disso, a instrução vai se adequar à maioria das outras configurações de 1C 8.3.

Notaque todas as melhorias necessárias de configuração devem ser feitas apenas na base principal da costela. Quando a sincronização, essas alterações são transferidas para todas as bases subordinadas e entrar em vigor.

Base de informações em casa

Ao usar um banco de dados distribuído, as configurações básicas caem na base principal. É necessário produzi-los na seção "Administração", como mostrado na imagem abaixo.

Na janela que abre, imediatamente defina o anão de dados de sincronização. Na parte inferior, especifique o prefixo da principal (base atual). Pode consistir em não mais do que dois personagens. No nosso caso, o prefixo será "BG", como queremos dizer que este botão de contabilidade desta nervura 1C ".

Agora você pode prosseguir para configurar a própria sincronização, ou seja, para a indicação de qual base (ou bancos de dados) será trocada. Para fazer isso, vá para o hiperlink "Configurações de sincronização de dados". Ele estará disponível para a transição somente quando o tanque estiver instalado à esquerda.

Na janela que abre, selecione o item "completo ...". Ele nos permitirá especificar qualquer banco de dados de informação 1C para o produto da sincronização.

Na primeira janela de conectar a base subordinada, que está localizada em um escritório geograficamente remoto, notamos o sinalizador que a conexão será feita através de um diretório local ou de rede. No nosso caso, é "D: \\ dB \\ infobase". Eu também vou verificar a oportunidade de escrever para isso.

Certifique-se de especificar diferentes prefixos para bases diferentes. O fato é que, quando sincronizar dados para dados sobrecarregados de cada banco de dados, seu prefixo está instalado. Com sua duplicação, o trabalho será incorreto, então o programa não lhe dará tal oportunidade.

Quando o programa solicita que você crie uma imagem inicial, selecione esta opção. Este procedimento levará algum tempo, depois de salvá-lo em um computador chamado "1cv8.1cd".

A sincronização em si pode ser feita automaticamente em uma programação, que você pode se configurar e manualmente. No segundo caso, basta clicar no botão "Sincronizar" em um momento conveniente para você.

Nó subordinado

O número de configurações produzidas na base subordinada é significativamente menor. Na mesma seção, defina o sinalizador "Sincronização de dados" e clicar no link correspondente estará disponível para o botão "Sincronizar".

Como parte do nosso exemplo, duas posições de nomenclatura foram adicionadas à base principal: "bar" e "placa". Após a sincronização, eles atingem a base subordinada. Como você pode ver na figura abaixo, eles receberam o prefixo "bg". O resto das duas posições ("torno" e "palete") recebeu o prefixo "BP", como eles foram dirigidos diretamente na base subordinada.

Notaque a numeração de elementos no nosso caso é, mas apenas dentro do mesmo prefixo.

O componente URBD (bancos de dados distribuídos) é usado quando é necessário trocar informações entre duas ou mais bases de informação idênticas (doravante referido como IB) através do canal de comunicação estreito (por exemplo, um modem, e-mail). Abaixo está uma instrução passo a passo e conselho prático Ao configurar URBD em 1C: Enterprise 7.7. Um exemplo é dado para dois IB, embora você a colocasse grande quantidade As bases por analogia com duas bases não é muito trabalho. Autor: Romix | Editores: Evgenius.
Última revisão №7 datada 02.22.08 | História
URL:

Palavras-chave: URBD, script para autobrian, troca entre filiais, correio, rom-mail.dll, Dialmail.dll, CDO, Discagem, Urib

O componente URBD (bancos de dados distribuídos) é usado quando é necessário trocar informações entre duas bases de informação idênticas (a seguir denominada IB) através do canal de comunicação estreito (por exemplo, um modem, e-mail). Abaixo está uma instrução passo a passo e dicas práticas sobre a criação de URBD em 1C: Enterprise 7.7. Um exemplo é dado para dois IB, embora não seja possível ajustá-lo a uma quantidade maior de bancos de dados por analogia com duas bases.

1) A Biblioteca Distrdb.dll é responsável pelo trabalho da Biblioteca Distrdb.dll na pasta Bin do Programa 1C: Enterprise. Este componente é comprado e definido separadamente.

2) Para um exemplo de uma troca de e-mail, criaremos duas bases informativas, colocando-as em pastas com C: \\ 1C_BASE1 e C: \\ 1C_BASE2. Crie essas pastas e em cada uma delas - Pastas investidas com nomes CP e PC (letras latinas)

3) Na pasta C: \\ 1c_base1, coloque a configuração pronta (digamos, "comércio e armazém"). Mas é melhor treinar no banco de dados de informação mais simples (contendo, por exemplo, apenas um manual com vários registros). É importante para nós ter certeza de que os dados realmente migram de um IB para outro como resultado da troca automotiva de URBD, e isso pode ser mostrado no complexo e o exemplo mais simples do teste.

4) Feche todas as janelas no configurador e ative o item de menu "Administração - Distribuído IB - Control". Este item de menu está disponível se houver um componente DistrDB.dll na pasta Bin Bin. Se a biblioteca tiver versão errada Ou danificado, simplesmente reinstale 1C: uma empresa pela instalação atual - a biblioteca Distrdb.dll será substituída por sua versão correta.

5) Na janela que abre, clique no botão "Central IB". Na janela de consulta, especifique o código da nova base de informações (especifique o número 1) e sua descrição (por exemplo, "central IB").

6) Um aviso apareceu sobre a irreversibilidade das alterações na imprensa pressionando "OK" (o método não documentado é descrito abaixo, como se necessário, devolva a base ao seu estado original).

7) Clique no novo botão Perip. Ib. Na janela de consulta, especifique o código 2 para ele e a descrição do "IB periférico".

8) Realce o banco de dados periférico com um único clique e clique no botão "Configurações. Autobrame ". Na janela Switching Switch que abre, altere o modo "Manual" de autobrack para "automático" e clique em OK.

9) Clique no botão de dados de upload. Lembre-se (na área de transferência) Nome do arquivo com descarga "C: \\ 1c_base1 \\ cp \\ 20.zip" - Será mais útil para nós. Clique OK. No final do descarregamento 1C escreverá "descarregar com sucesso".

10) Feche o configurador e faça o login (também no modo Configurador) para a pasta (ainda vazio), onde o segundo IB deve mentir (em nosso exemplo - C: \\ 1C_BASE2). Especifique se a base deve estar no formato DBF / CDX e clique em OK.

11) Vá para o item de menu de administração - Distribuído IB - Controle. Em resposta à pergunta "a base de informações não foi detectada. Executar o download de dados? " Clique em "Sim" e especifique o nome do arquivo de descarga (em nosso exemplo, "C: \\ 1C_BASE1 \\ CP \\ 20.ZIP") e clique em "OK". No final do download, 1C vai escrever "download concluído com sucesso". Criamos o IB periférico com sucesso descarregando dados do IB central.

12) Altere qualquer coisa (por exemplo, adicione um novo elemento de diretório) em uma das bases de informação. Nosso objetivo é conseguir que as mudanças em um (qualquer) do IB caiam em outro IB através do autor. Use o item de menu "Administração" - "Distribuído IB" - "AutoBrum" alternadamente em cada uma das bases. Os arquivos de descarga recentemente aparecendo com a extensão ZIP nas pastas CP e PC precisam ser movidos (cópia) entre as bases de informação no princípio cp-\u003e cp, pc-\u003e pc (em condições de campo real geralmente a usam o email).

Dicas e receitas

1) Para ativar o banco de dados distribuído para normal, exclua os arquivos 1sdbset.dbf, 1sdwnlds.dbf, 1SUPDTS.DBF e os arquivos correspondentes * .cdx, bem como 1ssystem.dbf. Em princípio, basta remover 1ssystem.dbf. Depois disso, é necessário restaurar o ponto de relevância executando o programa no modo monopólio. Este truque é indeciado (adivinhe por que), mas, no entanto, funciona.

2) Você pode alterar a configuração 1C, mas apenas no IB central. É muito conveniente - alterações no ib "roll periférico automaticamente.

3) Se você desapareceu (por exemplo, como resultado de erros de e-mail) um ou vários descarregamentos - não se engano, porque O URBD é capaz de rastrear essas situações e repetir o envio de dados perdidos na próxima sessão autobria.

4) O recurso completo do envio de email em 1C é implementado através da interface MAPI quando a interação ocorre com cliente postal (como o Outlook). Meu conselho - não perca tempo - com o MAPI e todos os tipos de omutliks na prática, os problemas surgem constantemente, exigindo a "unidade rápida" do desenvolvedor entre as filiais. Use uma conexão de modem direta ou FTP que eu não aconselho pelo mesmo motivo. Enviar melhor e-mail por componentes externos, como rom-mail.dll ou dialmail.dll.

Outra opção - use CDO
http://avb1c.narod.ru/?\u003dA9.
(C) AVB, ruor absurdo

5) Um programa que pode executar automaticamente o AutoBRIX e envie arquivos de descarga por o emailVocê pode levar aqui:

Se você configurar corretamente algumas constantes (endereços postais, senhas, compartimentos, etc.), o usuário permanece apenas duas vezes para clicar no rótulo para iniciar o autor.

O programa é implementado como uma configuração 1C: Enterprise. Descrição detalhada Contido no arquivo doc anexo.

6) Se você precisar executar automaticamente uma discagem para o provedor, use o programa de discagem do tipo E. Ela sabe como executar aplicativos externos com uma conexão bem-sucedida. Outra opção é usar componente externo Dialmail, que tem um meio de trabalhar com um modem (prefixo - prefixo "p" latim na frente do número dá um conjunto de pulso, 9w na frente do número - uma chamada através dos "nove" e a espera do bipe em a linha).).

Nota: O Windows XP possui um discador Rasdial.exe embutido. Chaves linha de comando:
Senha do usuário do elemento rasdial.exe
elemento Rasdial.exe / Desconectar

7) A prioridade é dada a alterações feitas no IB central. Observe que as configurações típicas 1C usam os prefixos de base de informações (consulte essa configuração nas constantes) para que os códigos dos livros de referência e os números de documentos criados em bases diferentes não coincidam, e sua singularidade não foi perturbada.

Costela - distribuída base de informações, representando uma construção de árvores, cujos galhos são bases expandidas separadas da 1C Enterprise. Essas bases são chamadas de nós de uma base de informação distribuída (doravante simplesmente nós). A troca de informações é formada entre esses nós para sincronizar todos os nós (configurações e bases).

O principal mecanismo é o mecanismo de intercâmbios com algumas capacidades distintas e universais. A principal diferença pode ser alocada que o mecanismo de troca de nervuras é mais especializado e estreito, enquanto as trocas universais dão ao usuário uma gama mais extensa de possibilidades.

Princípios básicos de costela

Alterar a estrutura de configuração é possível apenas no nó raiz principal da base de informações distribuídas. Em seguida, essa mudança é aplicada hierarquicamente a nós subordinados. Assim, isso garante um único espaço de estrutura de configuração em todos os nós de costela.

Os dados podem ser alterados em qualquer um dos nós que, por sua vez, se aplicam a todos os outros nós. Além disso, esses dados não devem ser transferidos para o restante dos participantes do sistema e sua identidade completa não podem ser suportados. A composição dos dados que participam na troca com outros participantes da costela, o desenvolvedor pode configurar em seus próprios desejos. Além disso, as configurações podem ser feitas não apenas no ure de configuração de metadados, mas também no nível elementos individuaisque pode ser uma seleção especial sobreposta.

Como mencionado acima, o mecanismo de costela é alcançado através do uso de planos de câmbio. Mas que isso ou esse plano pode ser usado nessa estrutura hierárquica, deve ser ativado pela propriedade "Information Base de Informações Distribuídas".

Todos os dados em costela são transmitidos por mensagens. O conteúdo dessas mensagens é claramente regulamentado e não pode ser arbitrário como em um mecanismo de troca universal. Os dados são colocados na mensagem usando o princípio de serialização XML. Além dessas alterações de dados, a mensagem também coloca informações sobre como alterar a configuração, bem como uma certa quantidade de informações de serviço. As alterações são registradas na mensagem do Exchange totalmente automaticamente. Nem o usuário nem o desenvolvedor podem afetar isso.

Recepção e geração de mensagens de troca em costela são definidas por um comando

Planos de jogo. Escreva (gravação, 0)

O conteúdo é lido através da equipe

Resultado

Podemos dizer com segurança que o mecanismo de costela consiste principalmente de um mecanismo troca universal Com algumas características distintivas que estão presentes apenas na estrutura da costela.

Muitas vezes a situação ocorre quando a organização tem vários ramos ou pontos de venda, geograficamente removidos entre si. No entanto, é necessário realizar uma única contabilidade em toda a organização. Uma das soluções para essa tarefa é criar uma rede unificada, que incluirá trabalhos automatizados para todos os ramos e colocação da base de informações de 1C em um servidor público. Este método pode ser tecnicamente complicado e custo. Além disso, várias questões relacionadas à segurança da informação surgem.

A segunda opção é criar uma base de informações distribuída (costela). A base de informações distribuídas é uma estrutura hierárquica que consiste em bases de informações separadas na plataforma 1C: uma empresa entre qual troca de dados é organizada para sincronizar a configuração e os dados. Essas bases individuais de informações são chamadas de nós de costela.

A base de informações distribuídas pode ser criada com base em várias configurações do sistema 1C: Enterprise. Considere sua criação no Exemplo 1C: Gestão de Comércio 10.3.

Suponha que a organização comercial seja aberta uma lojaEm que é necessário ter acesso ao sistema geral de negociação da organização. Para criar uma costela, você deve executar as seguintes etapas:


Por isso, a criação de uma base de informações distribuída é concluída. Para trocar informações, é necessário lançar a troca de dados na base central (as alterações que ocorreram nele) serão descarregadas, então na loja (alterações da base central e descarregarão mudanças que ocorreram na loja), e Novamente - na base central (as mudanças são carregadas nele o que aconteceu na loja).

Bases de informação distribuída têm seu próprio mecanismo de resolução de conflitos. Assim, se durante a troca, ele ocorre que qualquer objeto (documento, livro de referência, etc.) foi alterado no principal, e na base subordinada, a prioridade terá uma alteração feita na base principal.

Se você precisar alterar a configuração da base de informações distribuídas, ela deve ser feita no nó raiz (consulte o primeiro desenho do artigo), a configuração do restante dos nós é bloqueada. Depois de realizar as alterações necessárias, elas podem ser transferidas para nós subordinados usando procedimento padrão. Troca de dados entre os nós de costela. Após a troca no configurador de nó subordinado, você deve atualizar a configuração da base de informações.

Se você tiver algum problema com a configuração de uma base de informações distribuída, nossos especialistas ajudarão a personalizar a troca de dados e explicar em detalhes como usá-lo.

Para criar uma base de informações distribuída, você deve ir para o programa "1C: Enterprise". Para criar um banco de dados distribuído no menu, selecione: Operações - Planos de Exchange. Janela "Selecione um objeto: Plano de troca".


1. Considere a opção com o plano de câmbio "completo".

A troca será realizada em todas as organizações localizadas em uma base de informações distribuída.

Selecione o plano de câmbio "completo". A janela "Plano Full Shaping" é aberta.

Preencha dois registros:

O primeiro registro é chamado de "nó principal", especifique o código "gu",

Chamamos a segunda entrada "nó subordinado", especificarei o código "PU".

Como você pode ver na foto, o primeiro ícone de registro é representado com um círculo verde, este é o ícone "Nó principal".


Para criar uma cópia da base de informações do nó principal, clique no "nó subordinado" e clique no ícone "Criar imagem inicial". Esta será a base informativa do "nó subordinado".


A janela "Criando uma imagem inicial do IB" abre, escolha "On este computador ou em um computador em rede local", Pressione" Next ".


No campo Catálogo de Base de Informações, selecione o local onde a cópia do "nó principal" é instalada, clique em "Concluir".


Depois de criar a base de informações do "nó subordinado", uma mensagem será exibida:


Clique OK".

Adicionamos a base de informações do "nó subordinado" em "1C: Enterprise". Nós entramos na base subordinada no modo "1c: Enterprise". Abrir: Operações - Planos de troca. Janela "Selecione um objeto: Plano de troca". Selecione o plano de câmbio "completo". A janela "Plano Full Shaping" é aberta. Vemos que o ícone "Nó principal" é laranja, significa que este nó é o principal para a base de informações em que somos.


As configurações a seguir são feitas no nó principal e subordinado:

1. Adicione um prefixo para uma base de informações distribuída.

Isso é feito para não entrar em conflito nos quartos e códigos de documentos e diretórios criados em duas bases, portanto, em cada banco de dados, especificar o prefixo que será adicionado aos números de documento e nos códigos de referência. Abrir: Serviço - Configuração do Programa - Bookmark "Data Exchange". No campo "O prefixo de um nó para uma base de informação distribuída:" Na base subordinada, introduzimos "PU", na base principal, introduzimos "gu".


2. Adicionamos a configuração da troca de dados entre nós:

Abrir: Serviço - Base de Informações Distribuídas (RIB) - Configurar nós. A janela "Configurações de Dados Exchange" é aberta.


Clique em "Adicionar", a janela "Personalização de configurações de dados" é aberta. Digite o "nome" da sua configuração.


Um nó aparecerá automaticamente no campo "nó", para o "nó principal" será "nó subordinado", para o "nó subordinado", haverá um "nó principal".

No campo Catálogo, selecione a pasta na qual os dados do Exchange serão recebidos, para a base principal e subordinada, é melhor especificar um diretório.

No campo "Tipo de troca", configure a transferência de dados entre bancos de dados: via recurso de arquivo ou ftp. Kit, por exemplo, "troca pelo recurso do arquivo".

No resto dos campos não muda nada.

Clique OK". Nós vemos que a configuração apareceu.

3. Para a troca de dados, fazemos o seguinte:

Primeiro, no banco de dados em que as alterações foram feitas, clique no ícone "Faça uma troca do atual", conforme mostrado na figura.


Após descarregar, a janela Resultado de descarga será exibida.


Em seguida, no banco de dados na qual você deseja transferir as alterações, clique no ícone "Fazer uma troca do atual" e os dados caírem na base desejada.

2. Considere a opção com o plano de câmbio "na organização".

A troca será realizada por organizações selecionadas localizadas em uma base de informações distribuída.

Para criar um banco de dados distribuído no menu, selecione: Operações - Planos de Exchange. Janela "Selecione um objeto: Plano de troca".


Selecione o plano de troca "na organização". A janela "Organização Management Plan" é aberta.

Preencha dois registros:

Vou ligar para o primeiro registro "Nó principal", especificarei o código "gu", vemos a diferença do "Plano de Exchange: Full", uma tabela apareceu em que as organizações em que ocorrerão a troca.

Chamamos a segunda entrada "nó subordinado", especificam o código "PU", especificando as organizações.


No resto do resto, o cenário é absolutamente semelhante ao "Plano de câmbio: cheio".