1s 8 relatório externo. Informações contábeis. Pesquisa e seleção de objetos

Considere a criação de um relatório externo em 1C 8 sem usar um sistema de composição de dados. Para criar um relatório externo, utilizaremos a configuração do Accounting 2.0, os dados iniciais: “Escreva um relatório na conta contábil 62 no qual o faturamento do período especificado será exibido no contexto Contrapartes E Contratos de contrapartes.

1. Crie um relatório

Primeiramente vamos criar um arquivo de relatório externo para fazer isso, vamos para 1s 8 no modo; Configurador, vamos ao menu Arquivo -> Novo ou clique no ícone Novo documento.

Selecione o item da lista Relatório externo. Após criar o relatório externo, atribua um Nome a ele (por exemplo Relatório mais simples) e salve-o no disco. Também adicionaremos dois detalhes: Início do período E Fim do período tipo Data, precisaremos deles para limitar o intervalo de tempo para amostragem de dados ao gerar um relatório.

2. Crie um layout de relatório externo

Para gerar um relatório em 1C 8, você precisa de um layout, este é um modelo para exibição de dados no qual todos os parâmetros necessários são definidos, tabelas são desenhadas, etc. Vamos adicionar um novo layout; para isso, selecione o item na árvore de metadados do relatório. Layouts e pressione o botão Adicionar, ao criar, selecione o tipo para o layout documento de planilha.

Nosso layout terá 4 áreas:

  • Cabeçalho – nesta área exibiremos o nome do relatório, o período para o qual foi gerado e o cabeçalho da tabela;
  • Dados da contraparte - nesta área exibiremos os dados da contraparte em uma tabela;
  • Dados do Contrato de Contraparte - nesta área exibiremos os dados do contrato de contraparte em uma tabela;
  • Rodapé – nesta área exibiremos os valores totais de todo o relatório para os campos Receitas e Despesas.

Vamos começar a criar áreas de layout. Para criar uma área no layout, selecione o número necessário de linhas e clique Tabela de Menu -> Nomes -> Atribuir nome(Ou Ctrl + Shift + N). Para a região Boné Vamos escrever o nome do relatório: Volume de negócios 62 contagens, desenhe usando a ferramenta Fronteiras cabeçalho do relatório e também definir os parâmetros Início do período E Fim do período. Usando parâmetros, você pode exibir os dados necessários no relatório; trataremos disso na próxima etapa do desenvolvimento, ou seja, ao escrever o código do relatório. Para criar um parâmetro no layout, selecione a célula desejada, escreva nela o nome do parâmetro (sem espaços), clique com o botão direito sobre ela, selecione o item no menu que se abre Propriedades. Nas propriedades da célula na guia Disposição selecione preenchimento Parâmetro.

Depois disso, o nome do parâmetro na célula será colocado entre colchetes angulares ("<>“). Como resultado, a área Boné deve ficar assim:

Na área Contraparte de dados criaremos parâmetros para exibição do nome da contraparte, bem como de receitas e despesas da conta 62, utilizando a ferramenta Fronteiras Vamos projetar a área como uma linha da tabela.

Na área Acordo de Contraparte de Dados Vamos criar parâmetros para exibição do nome do contrato, bem como para receitas e despesas da conta 62, utilizando a ferramenta Fronteiras desenharemos a área como uma linha da tabela. Vamos fazer um pequeno recuo antes do parâmetro Acordo de Contraparte(isso pode ser feito dividindo e mesclando células. Clique com o botão direito na célula -> Mesclar ou Célula dividida), é necessário para que o relatório possa ver que a linha do contrato está mais abaixo na hierarquia do que a linha da contraparte.

Na área Porão Vamos criar parâmetros para totais de receitas e despesas.

Como resultado, devemos obter um layout como este:

3. Crie um formulário de relatório

Para exibir dados, defina o período de formação e botão Forma nosso relatório exigirá um formulário. Para criar um formulário, encontre o item na árvore de metadados do relatório externo Formulários e pressione o botão Adicionar. Na primeira página do designer de formulários você não precisa fazer nenhuma alteração, basta clicar no botão Próximo.

Na próxima página do designer, selecione os dois detalhes disponíveis ( Início do período, Fim do período) para colocação no formulário.

Como resultado, obteremos este formulário:

Mas não estamos satisfeitos com isso desta forma, vamos fazer algumas alterações:

  • Vamos arrastar o botão Forma do painel inferior do relatório para o topo (será mais conveniente para o usuário);
  • Vamos esticar a forma vertical e horizontalmente;
  • Vamos organizar os campos Início do período E Fim do período horizontalmente;
  • Vamos adicionar um elemento de controle Campo de Documento de Planilha ao formulário (nosso relatório será exibido nele), dê um nome a ele TabDoc;
  • Vamos criar um botão de seleção de período (ao clicar, aparecerá uma caixa de diálogo com a escolha conveniente do período desejado). Ainda não escreveremos o código do programa, então apenas colocaremos o botão próximo aos campos de período.

Como resultado, nosso formulário ficará assim:

4. Programação

Após criar o formulário de relatório, vamos começar a programar. Primeiro, vamos criar um procedimento para exibir uma caixa de diálogo de seleção de período (já criamos um botão para isso na etapa anterior). Clique com o botão direito no botão e selecione o item de menu Propriedades, nas propriedades do botão vá para a aba Eventos, onde usando o botão com ícone de lupa criaremos um procedimento Botão1Pressione no módulo de formulário.

Você pode alternar entre o formulário e seu módulo usando as guias na parte inferior do formulário

Para chamar o formulário de seleção de período, utilizaremos o procedimento padrão Contabilidade 2.0 de um módulo comum Trabalhando com caixas de diálogo - HandlerPeriodSettingPress, você precisa passar os detalhes do relatório como parâmetros Início do período E Fim do período.

Procedimento Button1Press (Elemento) Trabalhando com Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); Fim do procedimento

Agora vamos escrever o código que irá gerar e exibir nosso relatório. O módulo de formulário já possui um procedimento ButtonGeneratePress, que será executado quando o botão for pressionado Forma, é onde escreveremos nosso código. Vamos começar inicializando as variáveis ​​necessárias. Primeiro de tudo, vamos criar uma variável para campos do documento da planilha no qual iremos gerar os dados, isso não é necessário, apenas a gravação das chamadas para ele ficará mais curta, o que significa que o código do programa ficará mais compreensível para leitura.

TabDoc = FormElements.TabDoc;

Vamos obter o layout do relatório externo usando a função ObterLayout(<ИмяМакета>) , passaremos o nome do layout como parâmetro e, se tal layout existir, a função o encontrará.

Layout = GetLayout("Layout");

Após recebido o layout, vamos criar variáveis ​​para cada uma de suas áreas, utilize o método layout para isso GetArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("Cabeçalho"); AreaDataAccount = Layout.GetArea( "Dados do Contratante"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Rodapé");

Vamos limpar o campo do documento da planilha. Isso é necessário para que toda vez que um novo relatório for gerado, os dados antigos sejam excluídos.

TabDoc.Clear();

Agora que a inicialização das variáveis ​​​​está concluída, vamos passar ao preenchimento e exibição das áreas de layout uma por uma. Vamos começar com o cabeçalho. Se você se lembra, criamos dois parâmetros nesta área Início do período E Fim do período, passaremos lá os valores do período de geração do relatório, para isso utilizaremos a propriedade Opçõesáreas de layout.

AreaHeader.Parameters.PeriodStart = PeríodoStart; AreaHeader.Parameters.EndPeriod = EndPeriod;

Não há mais ações com a área Boné O fabricante não é necessário, portanto exibiremos seu campo em uma planilha.

TabDoc.Output(AreaHead);

A seguir, escreveremos uma consulta ao banco de dados, com a qual faremos o giro da conta 62 do registro contábil Autossustentável. Vamos definir uma variável na qual nossa solicitação estará localizada.

Solicitação = nova Solicitação;

Antes de começarmos a escrever o texto da solicitação, vamos passar os parâmetros necessários para ele. Como estamos escrevendo uma solicitação de fatura 62 contabilidade, então primeiro vamos criar um parâmetro para ela

Request.SetParameter("Account62", Planos de contas. Autossustentável. Find By Code("62" ));

Também é necessário passar o período de geração do relatório na solicitação. Não se esqueça que temos detalhes especiais do relatório para o período de geração e os passamos como parâmetros.

Request.SetParameter("Início do Período", Início do Período); Request.SetParameter("Fim do Período", Fim do Período);

Vamos começar a escrever o texto da consulta, faremos isso usando o designer de consultas. Muitos tutoriais dizem que você precisa escrever uma consulta manualmente e usando um construtor, mas na prática esse não é o caso. Nas tarefas que um programador 1C enfrenta constantemente, a prioridade é escrever código de forma rápida e eficiente e, ao escrever uma consulta no banco de dados manualmente, isso é quase impossível de conseguir, você gastará muito tempo precioso reproduzindo corretamente todas as estruturas de consulta; e encontrar erros de digitação que você cometeu ao escrever, etc. Portanto, não perca seu tempo tentando escrever consultas manualmente, mas use o construtor de consultas. Isso economizará seu tempo e permitirá que você escreva consultas complexas sem muito esforço. Para começar a escrever o texto da solicitação, vamos escrever em código:

Solicitação.Text = "";

Depois disso, coloque o cursor entre as aspas, clique com o botão direito e selecione Construtor solicitar. A janela do designer de consulta será aberta.

Agora precisamos selecionar a tabela de banco de dados 1C 8 que precisamos. Precisamos de uma tabela virtual. Revoluções registro contábil Autossustentável. Vamos encontrá-lo no lado esquerdo da janela do designer

Vamos movê-lo para a área Tabelas e vamos começar a preencher os parâmetros. Para todas as tabelas de consulta virtual existe um conjunto especial de parâmetros que permitem selecionar os dados necessários da tabela principal (no nosso caso, a tabela principal Registro Contábil Autossustentável). Vamos abrir a janela de parâmetros da tabela virtual.

Vamos preencher os parâmetros do período que passamos para a requisição. Para utilizar um parâmetro no texto da solicitação, você deve escrever o símbolo antes do seu nome E comercial (&)

Resta preencher a condição da conta contábil. contabilidade. Para fazer isso, encontre a linha nos parâmetros da tabela virtual Condição da conta e vamos escrever lá

Conta NA HIERARQUIA (&Conta62)

Você também pode usar o construtor de condições clicando no botão com três pontos.

Não há necessidade de impor mais condições na mesa virtual, então vamos clicar no botão OK na janela de parâmetros da tabela virtual. Em seguida, precisamos selecionar os campos que precisamos na tabela Autossustentável. Rotatividade(nomeadamente: Contraparte, Acordo de Contraparte, Receitas e Despesas). Para visualizar a lista de campos disponíveis na tabela que selecionamos, clique no símbolo “+” ao lado do seu nome. Depois disso, arraste os campos obrigatórios para a área mais à direita do designer de consultas, que se chama: Campos. Se abrirmos o plano de contas, veremos que para a conta 62 análise ativada Para a contraparte é Subconto1, e por Acordo de Contraparte – Subconto2.

Portanto, dos campos da tabela virtual selecionamos Subconto1 E Subconto2. Como precisamos de receitas e despesas por valor, também selecionamos os campos Montante FaturamentoDt E Montante Volume de negóciosKt

Vamos preencher os aliases dos campos que selecionamos; para isso, vá até a aba; Uniões/aliases e defina os nomes dos campos obrigatórios.

Como em nosso relatório os dados serão exibidos de forma hierárquica (a Contraparte está no primeiro nível e todos os seus contratos estão no segundo), configuraremos a exibição dos dados na hierarquia através de Totais. Vamos para a aba no designer Resultados. Arraste para agrupar campos sequencialmente Contraparte E Acordo de Contraparte, e no final Chegando E Consumo.

Isso conclui o trabalho no construtor de consulta, clique no botão OK e vemos que o texto da nossa solicitação aparece no código do programa.

Consulta.Text = "SELECIONE | AutossustentávelTurnover.Subconto1 AS Contraparte, | AutossuficienteTurnover.Subconto2 Acordo de Contraparte AS, | AutossustentávelTurnover.AmountTurnoverDt AS Recibo, | AutossustentávelTurnover.AmountTurnoverKt AS Despesa|DE | Registro Contábil Autossustentável (&Início do Período, &Fim do Período, Conta HIERARQUIA (&Conta 62),) COMO Giro Autofinanciado.|RESULTADOS | VALOR(receita), | VALOR(Despesa) |PO | Contraparte, | Acordo de Contraparte";

Depois de terminarmos de redigir a solicitação, vamos começar a preencher as áreas Contraparte de dados, DataAgreementContraparte E Porão. Preencheremos todas essas áreas com os dados recebidos na execução da solicitação. Como nossa consulta contém agrupamentos( Contraparte E Acordo de Contraparte) selecione os dados dele da seguinte maneira:

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

Desta forma receberemos registros com totais de todas as contrapartes.

Antes de percorrer os dados da amostra usando um loop, inicializamos as variáveis ​​destinadas ao cálculo dos resultados gerais do relatório:

TotalIncoming = 0; ConsumoTotal = 0;

Para que os dados do relatório sejam exibidos com hierarquia (e rotações ao longo de “+“), vamos definir o início do agrupamento automático das linhas do documento da planilha:

TabDoc.StartAutoGroupingRows();

Todos os preparativos foram concluídos, agora vamos começar a rastrear os resultados da consulta. Faremos o percurso usando um loop Tchau

Enquanto selecione Account.Next() Cycle EndCycle ;

No início do ciclo, reinicie os parâmetros Chegando E Consumo região Contraparte de dados. Para que serve isso? Vamos imaginar uma situação em que a contraparte Tio Vasya, a receita é 10 e a despesa é 5, e para a próxima contraparte Tio Petya não há receita ou despesa, neste caso, se não zerarmos os parâmetros Chegando E Consumo, então alinhado por contraparte Tio Petya haverá uma receita de 5 e uma despesa de 10.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

Depois disso preenchemos a área Contraparte de dados dados do elemento de amostra

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Após preencher os dados, você pode exibir a área em documento de planilha, Como estamos utilizando o agrupamento automático de linhas, precisamos indicar o nível da linha no agrupamento (nosso relatório terá dois níveis, para contrapartes o primeiro para contratos).

TabDoc.Output(AreaDataAccount,1);

Agora para esta contraparte faremos uma seleção de acordo com os seus contratos.

Contrato SelectionCounterparty = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Faremos o percurso usando um loop Tchau.

Enquanto SelectionCounterparty Agreement.Next() Loop EndCycle ;

No ciclo dos acordos de contraparte, vamos redefinir os parâmetros Chegando E Consumo, preencha a área Contrato de dados da amostra e exibi-lo em uma planilha no segundo nível de registros.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; PreenchaPropertyValues(AreaContractData.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Ainda neste ciclo, adicionaremos os valores atuais às variáveis ​​para cálculo dos valores totais de receitas e despesas.

TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; TotalExpense = TotalExpense + Exemplo de Contrato de Contraparte.Expense;

Isso conclui a produção de dados na área Contraparte de dados, DataAgreementContraparte concluído, resta apenas concluir o agrupamento automático das linhas do documento da planilha.

TabDoc.FinishAutoGroupingRows();

Ciclos completos responsáveis ​​pela saída de dados para a área Contraparte de dados E DataAgreementContraparte fique assim:

TabDoc.StartAutoGroupingRows(); Enquanto SelectionAccount.Next() Loop AreaDataAccount.Parameters.Receipt = 0;

AreaDataAccount.Parameters.Expense = 0; Porão FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); documento de planilha.

TabDoc.Output(AreaDataAccount,1);

Contrato SelectionCounterparty = SelectionCounterparty.Select(BypassQueryResult.ByGroups); Enquanto SelectionCounterparty Agreement.Next() Loop AreaDataAgreement.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0;

PreenchaPropertyValues(AreaContractData.Parameters,SelectionCounterpartyAgreement);

TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt;->->.

TotalExpense = TotalExpense + Exemplo de Contrato de Contraparte.Expense; Fim do Ciclo; Fim do Ciclo; TabDoc.FinishAutoGroupingRows();.

Resta exibir os dados finais na área e enviar a própria área para.

AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = TotalConsumo; TabDoc.Output(AreaFooter); e enviar a própria área para Isso completa o processo de redação de um relatório externo para 1C 8 sem usar um sistema de controle de acesso. Agora ele pode ser gerado no modo 1C:Enterprise 8 e adicionado ao diretório OK.

Processamento Externo

Você pode baixar o arquivo de relatório discutido no artigo em . TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt;->Assista a um vídeo sobre como criar uma impressão externa para um aplicativo gerenciado:->No menu superior vá para.

Serviço

Depois disso, o formulário da lista de diretórios aparecerá. No menu superior clique


Adicionar

A janela para adicionar um novo relatório é exibida. Pressione o botão Abrir:


Selecione o arquivo com o relatório desejado e clique em

. Após adicionar o arquivo, se necessário, altere o nome do relatório (como será exibido na lista). Clique Como resultado, o novo relatório aparece na lista.(o local do programa onde o relatório estará disponível):


Selecione aleatoriamente a seção desejada do programa na lista:


Agora você precisa registrar as alterações no boletim externo:

Agora abra o relatório na interface do programa:


A lista ainda está vazia, clique em Personalize a lista:


No formulário de seleção, marque nosso relatório:


Agora aparece na lista:


Por botão Executar O formulário de relatório é aberto:


Baixe o processamento universal de objetos 1C 8.3.

Na versão regular do aplicativo da plataforma 1C 8.2 e 8.1 (em formulários regulares), havia um processamento maravilhoso como “Seleção universal e processamento de objetos”. Simplificou muito a vida de programadores e administradores de programas.

O mesmo processamento 1C apareceu para o aplicativo gerenciado (8.3 e 8.2). Antes disso, em 1C 8.3, era necessário se contentar com o processamento padrão de alterações de grupo nos detalhes, mas isso não resolve todas as tarefas exigidas no trabalho diário de um usuário ou programador 1C.

Pesquisa e seleção de objetos

Após baixar o processamento, podemos executá-lo como externo. Para quem não sabe, isso é feito através do menu “Arquivo” – “Abrir”. A janela de processamento aparecerá:

Na primeira aba devemos selecionar o objeto com o qual vamos trabalhar. E assim, no campo “Objeto de pesquisa” já está selecionado o documento “Vendas (atos, faturas)”. Isso ocorre porque este objeto já foi selecionado antes. O processamento pode lembrar.

Ao clicar no botão “Configurar seleção”, podemos definir a seleção para quase qualquer campo do objeto:

Se os dados de seleção não forem suficientes, você poderá selecionar os objetos necessários usando uma consulta personalizada. Para fazer isso, mova a chave “Modo de seleção” para a posição apropriada.

Após todas as configurações, os objetos precisam ser selecionados. Clique no botão “Encontrar objetos” e veja o resultado da seleção:

Elementos de processamento

Vamos para a aba "Processamento":

Talvez apenas os três primeiros tratamentos mereçam uma breve revisão separada. O trabalho dos demais é claro pelo nome e não requerem configurações.

Algoritmo arbitrário

O processamento do “Algoritmo Personalizado” permite escrever um programa de ações em objetos na linguagem interna 1C. O processamento requer habilidades de programação e sua descrição merece um artigo separado. Com sua ajuda você pode realizar ações práticas em objetos:

Configurando detalhes

O processamento “Definir detalhes” permite alterar os detalhes dos documentos ou diretórios selecionados, bem como os registros de informações. Processamento bastante útil e às vezes simplesmente necessário. Por exemplo, vamos substituir a moeda do documento nos documentos selecionados:

Deve-se observar imediatamente que o processamento pode ser executado imediatamente ou você pode salvar a configuração. Esta configuração será exibida na árvore de processamento.

Renumerando objetos

O processamento de “Renumeração de Objetos” permite renumerar documentos ou alterar códigos de diretório. O processamento fornece um rico conjunto de ações. Por exemplo, você decidiu alterar o prefixo dos documentos selecionados:

Agora vamos ver o que podemos fazer com as configurações salvas. Acontece que podemos executar em lote, transferindo-o para a janela “Processamentos Selecionados”:

Agora podemos executar sequencialmente as configurações selecionadas clicando no botão “Executar”.

Com base em materiais de: programmist1s.ru

Neste artigo, consideraremos instruções passo a passo para criar processamento externo em 1C 8.3 no modo de aplicativo gerenciado, respectivamente, usaremos formulários gerenciados; E o mais importante, aprenderemos como conectá-lo ao mecanismo de “processamento externo” de configurações 1C construídas em uma biblioteca de subsistemas padrão versão 2.0 e mais recente.

A tarefa será a seguinte: criar o processamento externo mais simples que irá realizar uma ação de grupo no diretório “Item”, nomeadamente, definir a percentagem de taxa de IVA selecionada para o grupo de itens especificado.

Para isso, faremos imediatamente as configurações necessárias no programa (estamos considerando a configuração 1C 8.3: “Enterprise Accounting 3.0” em formulários gerenciados).

Marcar esta caixa nos dá a oportunidade de usar processamento externo.

Criando um novo processamento externo em 1C 8.3 usando um exemplo

Agora vamos para o configurador. No menu “Arquivo”, selecione “Novo…”. Será aberta uma janela para seleção do tipo de arquivo a ser criado. Selecione “Processamento externo”:

Uma nova janela de processamento externo será aberta. Vamos dar um nome a ela imediatamente. Será oferecido ao salvar o processamento em disco:

Vamos adicionar um novo formulário de processamento controlado. Indicamos que esta é uma forma de processamento e é a principal:

Teremos dois detalhes no formulário:

  • Grupo Nomenclatura – link para o diretório “Nomenclatura”;
  • SelectVATRate – link para transferência da Taxa de IVA.

Criamos os detalhes na coluna “Propriedades” na janela superior direita. Arraste-os com o mouse para a janela superior esquerda. Os novos dados deverão aparecer imediatamente no formulário abaixo.

A ordem dos detalhes pode ser alterada usando as setas “Para cima” – “Para baixo”:

Obtenha 267 videoaulas em 1C gratuitamente:

Resta apenas adicionar o botão “Instalar”. Em formulários gerenciados, você não pode simplesmente adicionar um botão ao formulário. Mesmo se você adicioná-lo à estrutura dos elementos do formulário, ele não ficará visível no próprio formulário. O botão deve estar associado ao comando que irá executar. Vá para a aba “Comandos” e adicione o comando “Definir Taxa de IVA”. Nas propriedades do comando, crie uma ação. Selecione o manipulador de comando “No cliente”. Um comando também pode ser adicionado ao formulário simplesmente arrastando-o para a seção com elementos do formulário.

Um procedimento com o mesmo nome será criado no módulo de formulário. Nele chamaremos o procedimento no servidor:

&NoCliente

Procedimento Definir taxa de IVA (comando)

SetVATRateOnServer();

Fim do procedimento

No procedimento no servidor, escreveremos um pequeno pedido e ações relacionadas com a definição da taxa de IVA:

&NoServidor

Procedimento SetVATRateOnServer()

Solicitação = Nova Solicitação;
Solicitação.Text =
"ESCOLHER
| Nomenclatura.Link
|DE
| Diretório.Nomenclatura AS Nomenclatura
|ONDE
| Nomenclatura.Link NA HIERARQUIA (&Grupo de Nomenclatura)
| E NÃO Nomenclature.MarkDeletion
| E NÃO Nomenclatura Este é um Grupo”;

Request.SetParameter("Grupo de Itens", Grupo de Itens);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

Enquanto SelectRecordDet.Next() Loop

Tentar
SprNomObject.Write();
Exceção
Report("Erro ao gravar objeto """ + SprNomObject + """!
|» + DescriçãoErro());
FimTentativa;

Fim do Ciclo;

Fim do procedimento

Voltamos à aba “Formulário”, adicionamos um botão ao formulário e associamos ao comando:

Como tal, nosso processamento está pronto para uso. Para chamá-lo, no modo “1C Enterprise”, você precisa ir ao menu “Arquivo” - “Abrir” e selecionar o arquivo criado.

No entanto, trabalhar neste modo é conveniente para o processamento de depuração, mas não é totalmente adequado para o usuário. Os usuários estão acostumados a ter tudo “na ponta dos dedos”, ou seja, no próprio banco de dados.

É para isso que serve a seção “Relatórios e processamento adicionais”.

Mas para adicionar nosso processamento ali, devemos primeiro dar-lhe uma descrição e informar ao programa suas propriedades.

Descrição da função “Informações sobre Processamento Externo”

Darei um exemplo do conteúdo desta função. Deve ser exportável e, portanto, localizado no módulo de processamento:

Função InformationOnExternalProcessing() Exportar

DataForReg = Nova Estrutura();
DataForReg.Insert("Nome", "Configuração da taxa de IVA");
DataForReg.Insert("ModoSeguro", Verdadeiro);
DataForReg.Insert("Versão", "versão: 1.001");
DataForReg.Insert("Informações", "Processamento para fixação da taxa de IVA no diretório Nomenclatura");
DataForReg.Insert("Visualizar", "Processamento Adicional");

CommandTable = NovaTabelaValor;
TabZnCommands.Columns.Add("Identificador");
TabZnCommands.Columns.Add("Uso");
TabZnCommands.Columns.Add("Visualizar");

NovaLinha = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "Abrir processamento";
DataForReg.Insert("Comandos", TabZnCommands);

Retornar DataForReg;

Função Final

Para entender melhor quais campos da estrutura de dados cadastrais precisam ser utilizados, vejamos os detalhes do diretório “Relatórios e processamento adicionais”:

Como você pode ver, tudo é bem simples. Apenas um atributo não corresponde: “Opção de inicialização” – “Usar”. Se olharmos o código de um dos módulos comuns, veremos como surgem vários desses campos:

Para determinar quais campos de uma estrutura são necessários, primeiro você não pode descrevê-la, basta criar uma vazia e depois usar o depurador. Se você rastrear módulos ao registrar o processamento, ficará imediatamente claro quais campos são obrigatórios e quais não são.

Conectando processamento externo em 1C 8.3

Vá para o menu superior TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt;->->.

O formulário da lista de diretórios de processamento externo é exibido. No menu superior pressione o botão Adicionar.

O formulário Adicionar novo objeto aparecerá. Clique no botão abrir e selecione o arquivo com o processamento desejado. Após selecionar o arquivo desejado, se necessário, especifique um nome de processamento (campo Nome). Depois disso, você precisa clicar em OK para salvar as alterações feitas.

Depois disso, a janela de criação de um item de diretório se fecha e você volta ao formulário de lista, que já contém o novo processamento.

Isso é tudo! O processo de adição de processamento à configuração foi concluído. Para abrir este processamento posteriormente, siga o caminho antigo: TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt;->Assista a um vídeo sobre como criar uma impressão externa para um aplicativo gerenciado:->Tratamentos externos adicionais.

Serviço

O processamento externo para 1C:Enterprise 8 vem em vários tipos. Nesta instrução mostrarei como anexar processamento para modificação de grupo e processamento para preenchimento de objetos específicos.

Para o primeiro caso, adicionaremos processamento para preenchimento do diretório de nomenclatura do Excel.

Vamos para a seção apropriada do programa:


É necessário que o sinalizador para utilização de relatórios e processamentos adicionais esteja definido no hiperlink para a lista de objetos externos:

Na lista clique Abrir:


Na caixa de diálogo que é aberta, selecione o arquivo desejado para processamento:


O cartão do novo objeto externo do programa está preenchido, falta configurá-lo Como resultado, o novo relatório aparece na lista.(seções do programa a partir das quais o processamento estará disponível):


Selecione uma seção arbitrária (ou várias) para posicionamento:


Escreva e feche o cartão de objeto externo:


Agora vamos abrir o processamento na interface:


A lista está vazia, clique em Personalize a lista:


Escolha nosso processamento:


Agora está disponível para seleção. Para abrir o processamento, você precisa clicar Executar:


Agora vamos ver como é adicionado o processamento para preencher (modificar) objetos específicos. Por exemplo, tomemos o processamento externo, que anexa varreduras a elementos selecionados de diretórios ou documentos do sistema. O início da adição desse processamento não difere da opção anterior. A diferença é que neste caso a localização é preenchida automaticamente (e não pela seção do programa, mas pelos tipos de objetos do banco de dados):


Se desejar, a lista de posicionamentos pode ser ajustada ( não adicione posicionamento adicional, mas remova desnecessário):


Para aceitar a alteração, o cartão do objeto externo também deve ser anotado.

Para usar o processamento, você precisa ir até um objeto de banco de dados específico (da lista de posicionamentos), clicar Preencha no painel de comando e selecione o comando:

Wi-fi