Abrir
Fechar

1c criação de um layout. Publicações. Conectando um formulário impresso a um documento

Não é segredo que, embora hoje em dia cada vez mais empresas estejam a mudar para a gestão eletrónica de documentos, o velho ditado “Sem papel, você...” não perde a sua relevância. Acontece que, por algum motivo, as autoridades fiscalizadoras estão principalmente interessadas em documentos em papel. Portanto, se você usa ativamente o programa 1C: Contabilidade ou Empresa para controle financeiro, é importante saber como imprimir um documento eletrônico criado com o programa.

Os formulários impressos em 1C permitem transformar um documento eletrônico em uma versão impressa.

Para isso, o desenvolvedor disponibilizou uma excelente ferramenta - Print Designer. Com sua ajuda, você pode criar documentos nos quais pode especificar todos os dados necessários, e não apenas alguns formulários padrão. Isto é especialmente verdadeiro para aqueles documentos que não possuem uma forma estritamente regulamentada, que não pode ser alterada em nenhuma circunstância. Isto, em particular, pode incluir um ato de conclusão do trabalho, algumas faturas ou pagamentos.

Neste guia, propomos compreender as capacidades do Print Designer, considerar quais tipos de formulários de impressão podem existir e como eles diferem entre si. Também mostraremos com um exemplo como imprimir o formulário criado.

Primeiramente, vale a pena entender o que é, em geral, um formulário impresso em 1C 8. Este é um modelo de planilha 1C (como o Excel), no qual são especificadas algumas linhas variáveis, preenchidas com dados do programa na elaboração de um documento.

Os formulários de impressão vêm em dois tipos:

  • Interno (embutido). Eles ficam armazenados nas configurações do programa, por isso é melhor não alterá-los, pois podem surgir problemas posteriormente durante a atualização.
  • Externo - armazenado separadamente das configurações do programa. E com a ajuda deles você pode criar e preparar para impressão um documento de quase qualquer complexidade, sem afetar a configuração do programa 1C 8.

Como escolher layouts já preparados? Após realizar uma operação de entrada ou saída, por exemplo, redigir um relatório de trabalho concluído, você clica no botão “Imprimir” para imprimir os documentos. A lista exibe uma lista de formulários imprimíveis que já estão preenchidos com os dados inseridos sobre a transação realizada e sua empresa. Ao clicar no tipo de documento que você precisa, você abre uma janela de visualização para ter certeza de que os dados preenchidos estão corretos. O botão imprimir imprime o documento na impressora.

Com o básico resolvido, vamos descobrir onde todos os seus itens para impressão estão armazenados. Vamos para a próxima pergunta.

Onde os formulários impressos são armazenados?

Você pode visualizar os formulários impressos integrados no modo configurador e no modo empresarial normal. No primeiro caso, você precisa clicar no botão correspondente na janela inicial ao iniciar o programa. Você verá o menu do programa, encontrará o ramo “Vendas de Produtos e Serviços”, que contém o item “Layouts”. Muitas vezes contém apenas dois itens - “Fatura” e “Ato”. Onde estão todos os outros, já que a lista é muito mais extensa? Eles estão apenas se escondendo em outro lugar. Você precisa abrir o ramo “Geral” - “Layouts Gerais”, quase todos os layouts estão armazenados nele.

No segundo caso, você precisa ir para a seção do menu “Administração” - “Imprimir formulários, relatórios e processamento” - “Imprimir layouts de formulários”. Ele exibirá todos os layouts de documentos. Vale ressaltar que eles podem ser editados no mesmo menu.

Quanto aos formulários externos, primeiro você precisa criá-los através do modo configurador, ou baixando um arquivo pronto, e depois conectá-los ao menu “Administração” - “Formulários impressos, relatórios e processamento” - “Relatórios adicionais e em processamento". Falaremos sobre isso um pouco mais tarde.

Criando um formulário simples usando o Print Designer integrado

Esta forma impressa não implica a possibilidade de edição profunda, pois implicará uma alteração na configuração do programa, bem como maiores dificuldades na sua atualização. No entanto, se você estiver totalmente satisfeito com o formulário padrão ou quiser se aprofundar nos meandros da criação de um formulário externo, este método é totalmente adequado para você.

  1. Primeiramente entre no modo Configurador, encontre o documento que você precisa, por exemplo, Vendas de Produtos e Serviços, nas propriedades do documento vá em Ações - Designers - Designer de Impressão.
  2. Quando for solicitada uma opção de trabalho, selecione Formulários regulares.
  3. Dê um nome ao novo layout, por exemplo, “Imprimir fatura”.
  4. Selecione os detalhes que você gostaria de ver no cabeçalho do documento. Além disso, devem ser selecionados na ordem em que serão exibidos. Para selecionar, é necessário destacar o item na coluna da esquerda com o cursor e pressionar a seta no meio da tela para que os detalhes apareçam na coluna da direita.
  5. Marque os detalhes a serem exibidos na seção da tabela. A seleção dos detalhes segue o mesmo princípio do parágrafo anterior.
  6. Da mesma forma, selecione os detalhes da parte inferior do documento.
  7. Na fase final de criação, selecione se deseja imprimir imediatamente sem visualização, se deseja proteger a tabela e a seguir confirme a criação do formulário com o botão OK.

Criando um formulário de impressão externo

Os formulários criados através do Print Designer podem ser comparados a um editor visual de software, quando você não insere todo o código manualmente, mas apenas o compõe a partir dos elementos propostos. O formulário externo é um arquivo com código de programa escrito manualmente, que descreve o procedimento de exibição dos dados na tela. É isso que permite editar o formulário impresso da maneira que desejar, especificando absolutamente quaisquer dados em qualquer sequência.

Uma vantagem adicional é que, mesmo que você não entenda ou simplesmente não queira entender os meandros da programação 1C 8, você pode confiar esse procedimento a profissionais. Eles poderão preparar o formulário necessário para você e fornecê-lo como um arquivo pronto, que você só pode ativar com alguns cliques de um botão.

Agora vamos falar mais sobre o procedimento em si. Vejamos o exemplo de criação de um layout “Fatura” para o documento “Vendas (atos, faturas)”.

  1. Abra o programa 1C 8 no modo Configurador.
  2. Clique em Arquivo - Novo - Processamento Externo, dê um nome a ele (não deve incluir espaços) e clique em Ações - Abrir Módulo de Objeto.
  3. No campo de entrada que é aberto, insira o seguinte código (os valores que podem ser alterados para os seus estão destacados em amarelo):

Função InformationOnExternalProcessing() Exportar
Parâmetros Cadastrais = Nova Estrutura;
ArrayDestinations = Nova Matriz;
Array of Assignments.Add("Documento.Vendas de Bens e Serviços"); //Especifique o documento para o qual estamos fazendo uma impressão externa. forma
Parâmetros de registro.Insert("Visualizar", "PrintForm"); //talvez - PrintableForm, Preenchendo Objeto, Relatório Adicional, Criando Objetos Relacionados...
Parâmetros de Cadastro.Insert("Destino", Matriz de Destino);
Parâmetros de Cadastro.Insert("Nome", "Pedido de venda de mercadorias"); //nome sob o qual o processamento será registrado no diretório de processamento externo
Parâmetros de registro.Insert("SafeMode", FALSE);
Parâmetros de registro.Insert("Versão", "1.0");
Registration Options.Insert("Informações", "Este formulário para impressão foi criado como amostra");
CommandTable = GetCommandTable();
AddCommand(CommandTable, "Ordem Externa", "OrdemExterna", "CallServerMethod", True, "MXL Print");
Parâmetros de Registro.Insert("Comandos", CommandTable);
ReturnRegistrationParameters;
EndFunction // Informações SOBRE Processamento Externo()
Função GetTableCommand()
Comandos = Nova Tabela de Valores;
Commands.Columns.Add(“View”, New TypeDescription(“Row”));//como será a descrição do formulário de impressão para o usuário
Commands.Columns.Add("Identificador", New TypeDescription("String")); //imprime o nome do layout do formulário
Commands.Columns.Add("Uso", New TypeDescription("Linha")); //Chama ServerMethod
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));
Commands.Columns.Add("Modificador", NewTypeDescription("Linha"));
Equipe de Retorno;
Função Final
Procedimento AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
NovoComando = CommandTable.Add();
NewCommand.View = Exibir;
NewCommand.Identifier = Identificador;
NewCommand.Use = Usar;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = Modificador;
Fim do procedimento

  1. Salve o layout para impressão como um arquivo em qualquer pasta do disco rígido e dê um nome apropriado.

Insira no mesmo documento o procedimento para iniciar a impressão a partir do menu do programa (os comandos destacados em amarelo devem corresponder à linha):

Adicionar Comando(Tabela de Comandos, “Ordem Externa”, “Ordem Externa”):
Procedimento Imprimir (matriz de objetos, coleção de PrintForms, PrintObjects, parâmetros de saída) Exportar
Gerenciamento de impressão.Saída TabularDocumentIntoCollection(
Coleção de Formulários de Impressão,
"Ordem externa"
"Ordem externa"
GeneratePrintForm(ArrayofObjects, PrintObjects);
EndProcedure // Imprimir()

  1. Insira um layout para preenchimento do formulário impresso clicando no nome do formulário externo no canto inferior esquerdo e selecionando “Layouts” - “Adicionar” - “Planilha Documento”, dê um nome a ele. Depois disso, preencha a planilha com os dados necessários. Por exemplo:
    • Pedido do produto nº [Número de realização] de [Data de realização] - clique com o botão direito - Propriedades - Layout - Preenchimento - Modelo.
    • Crie as colunas que deseja que apareçam no seu documento.
    • Selecione as células inseridas, clique em Tabela - Nomes - Atribuir um nome - insira o nome “Cabeçalho”.
    • Copie a linha com os cabeçalhos da tabela, selecione-os, clique com o botão direito - Propriedades - Layout - Preenchimento - Parâmetro.
    • Selecione uma linha e nomeie-a, por exemplo, “StringTCH”.
    • Crie um rodapé: escreva Total, célula onde deve ser exibido o valor total, nomeie-a como TotalTotal, selecione “Parâmetros” nas propriedades.
    • Especifique o responsável e nas propriedades da célula para exibir o sobrenome especifique “Parâmetros”.
    • Selecione as linhas inferiores e nomeie o intervalo como "Rodapé".
  2. Agora na janela de entrada, insira a função para gerar um formulário impresso:

Função GeneratePrintForm(LinkToDocument,PrintObjects)
TabularDocument = Novo TabularDocument;
TabularDocument.Name dos Parâmetros de Impressão = “PRINT_PARAMETERS_Fatura para Pagamento ao VRTU”;
Layout de Processamento = GetLayout("Fatura de PagamentoExternal");
//preenche o cabeçalho
AreaHeader = ProcessingLayout.GetArea("Cabeçalho");
AreaHeader.Parameters.DocumentNumber = LinkToDocument.Number;
AreaHeader.Parameters.DocumentDate = LinkToDocument.Date;
AreaHeader.Parameters.OrganizationName = LinkToDocument.Organization.Name;
// gera o cabeçalho em um documento de planilha
TabularDocument.Output(HeaderArea);
//preenche as linhas PM
RowArea = ProcessingLayout.GetArea("LINHA");
Para cada linha atual do documento Link.Ciclo de produtos
FillPropertyValues(RowArea.Parameters, CurrentRow);
TabularDocument.Output(RowArea);
Fim do Ciclo;
//preenche o porão
AreaFooter = ProcessingLayout.GetArea("Rodapé");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("Quantidade");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total("Valor");
AreaFooter.Parameters.ResponsibleName = LinkToDocument.Manager.Name;
// envia o rodapé para um documento de planilha
TabularDocument.Output(AreaFooter);
TabularDocument.AutoScale = Verdadeiro;
retornar Documento Tabular;
Função Final

  1. Salve suas alterações no documento.
  2. Agora você precisa ativar o formulário criado. Por esta:
    • Vá em “Administração” - “Formulários impressos, relatórios e processamento” - “Relatórios e processamento adicionais”.
    • Clique no botão “Criar”, selecione o arquivo do formulário externo no Explorer, confirme sua entrada com o botão “Salvar e Fechar”.
  3. Para verificar, acesse Vendas - Vendas (atos, faturas), clique no botão “Imprimir”, selecione seu formulário e verifique se está preenchido corretamente.
  4. Imprima o documento se necessário.

Conclusão

Vimos um exemplo de criação de um formulário imprimível por meio do Print Designer e da ferramenta de criação de formulários externos. Esperamos que tudo dê certo para você. Deixe suas dúvidas nos comentários.

A vida continua, a legislação muda, o desenvolvedor lança atualizações de configuração e novamente temos uma escolha: instalar nós mesmos a atualização ou chamar novamente o programador para “instalar uma nova versão”...

Vamos conhecer o mecanismo de alteração dos formulários de impressão sem alterar a configuração.


Na prática de todo contador que utiliza 1C, sempre houve a necessidade de modificar a configuração por si mesmo: alguns ajustaram a precisão do preço ou valor da fatura, alguns inseriram um logotipo e ajustaram a aparência da fatura. Tudo ficaria bem, mas muitas dessas alterações se acumulam ao longo do tempo e quando chega a hora de atualizar a versão, surge um dilema: ou perder todas as alterações feitas ou chamar um programador para transferir todas as alterações para a nova versão (de curso por uma taxa adicional). Como ser? Para simplificar de alguma forma a atualização das configurações, os desenvolvedores criaram um novo mecanismo: “Processamento externo, formulários impressos, processamento para preenchimento de partes tabulares”. Hoje veremos apenas parte desse mecanismo - impressão de formulários.


Qualquer assunto é melhor aprendido pelo exemplo. Vamos nos propor a seguinte tarefa: adicionar à configuração a possibilidade de imprimir uma fatura (documento “Vendas de bens e serviços”) com o logotipo da nossa empresa. Além disso, é necessário que no cabeçalho do documento as inscrições "fornecedor" E "comprador" foram destacados em negrito e por fim, é necessário que na parte inferior do documento haja local para assinatura do serviço de segurança que autorizou o envio.


Vamos introduzir duas condições adicionais:

  • O novo formulário impresso deverá substituir o antigo "Fatura"
  • A configuração não pode ser alterada, pois queremos usar a atualização automática da configuração no futuro

Bem, qual é a tarefa? Parece muito complicado? Bem, quanto mais complexo for, mais interessante será e mais você desejará resolvê-lo. Então mãos à obra.


Lançamos nosso banco de dados no modo Configurador. Abra a configuração selecionando o comando no menu principal "Configuração > Configuração aberta". Não alteraremos a configuração em si em nenhuma circunstância. Usaremos isso como protótipo. Faremos o trabalho principal aqui, mas editaremos o processamento externo. Criamos processamento externo com um comando no menu principal "Arquivo > Novo". Selecionando o tipo de documento "Processamento externo". Para o primeiro processamento, vamos definir um nome "Fatura com marca"


Importante! O nome do processamento não deve conter espaços, assim como os nomes das variáveis.


Agora vamos fazer um pouco "plágio". Vamos copiar o layout "Fatura" do documento "Vendas de Bens e Serviços". Para fazer isso, vamos encontrá-lo no ramo "Documentação"árvore de configuração. Expanda este tópico clicando no ícone «+» e encontre o layout que precisamos "Fatura"(está no tópico "Layouts"). Para copiar este objeto, você precisa selecionar este layout na árvore e executar o comando "Editar > Copiar"(a mesma ação ocorre com a combinação CTRL+C). Agora vamos ao processamento que criamos, selecione um rótulo na árvore "Layouts" e no menu principal selecione o item - "Editar > Colar" (CTRL+V). O resultado deve ser semelhante à Figura 1.


Agora clique duas vezes para abrir o layout.

O que é um "layout"

Digamos algumas palavras sobre o propósito do layout.

Disposição- armazenar "blocos de construção", áreas a partir das quais, como tijolos, se constrói um documento tabular, que costumamos chamar de impresso. As áreas são definidas usando seções horizontais e verticais ou suas interseções. Nosso layout possui apenas seções horizontais: “Cabeçalho”, “Fornecedor”, “Comprador”, “Cabeçalho da tabela”, “Linha” (ver Fig. 2). Uma área é um conjunto de células. Como no MS Excel, as células podem ser mescladas, as cores do texto e do fundo, as fontes e assim por diante podem ser alteradas. Todas as configurações das células podem ser visualizadas e alteradas na janela de propriedades da célula. Você pode acessar a janela de configurações clicando com o botão direito na célula e selecionando o item do menu de contexto "Propriedades"(o mesmo resultado é obtido pelo atalho de teclado Alt + Enter).


Uma célula pode conter um dos três tipos de valores:

  1. texto– um valor deste tipo será impresso no mesmo formato;
  2. parâmetro– uma célula deste tipo contém o nome de uma variável cujo valor será impresso.
  3. amostra– células deste tipo são uma combinação da primeira e da segunda opções. A célula pode conter texto e variáveis. Para que um programa distinga texto de uma variável, as variáveis ​​devem ser colocadas entre colchetes: "Hoje é [data]".

Importante! O editor de tabelas exibe os valores das células do segundo e terceiro tipos entre colchetes triangulares. Na Figura 2 há uma célula com texto "Comprador"- parece texto e à direita da célula "Apresentação do Comprador"- parâmetro.

Por que estou contando tudo isso? Agora você sabe em quais células pode alterar facilmente o conteúdo e em quais é indesejável alterar alguma coisa, pois será necessário fazer alterações no algoritmo de impressão.

Voltemos agora à nossa tarefa. Criamos o processamento, copiamos o layout e estamos prontos para modificá-lo ao nosso gosto. Primeiro, vamos dar uma olhada nisso.

O que está incluído no layout para impressão

A estrutura de layout de todos os documentos é muito semelhante. Tendo examinado cuidadosamente um documento, podemos compreender outros. Primeira sessão "Título". Ao visualizar esta seção, será gerado um cabeçalho do documento, composto pelo tipo, data e número do documento. É seguido por seções "Fornecedor" e "Comprador", onde o programa exibirá informações sobre o fornecedor e o comprador, respectivamente. A seguir está uma seção mais interessante "Informações adicionais", que os desenvolvedores utilizam para exibir outras informações no documento, por exemplo, informações sobre o contrato com seu número e data. A peculiaridade desta seção é que ela pode ser exibida diversas vezes, e cada vez pode conter informações diferentes. O que exatamente imprimir e quando está descrito no algoritmo de impressão.

Isso completa o cabeçalho do documento. O cabeçalho geralmente é seguido por uma seção tabular. Curiosamente, o layout descreve duas opções para exibir a parte tabular: "Cabeçalho da tabela", "Sequência" e "HeaderTablePlaces" E "StringPlace". Dependendo se sua coluna está preenchida ou não "Mest" no documento, será utilizada a primeira ou segunda opção de exibição da parte tabular do documento. O leitor curioso provavelmente já se perguntou: por que na seção de saída do cabeçalho "Preço" E "Soma" são colocadas entre colchetes triangulares como se fossem variáveis? Isso mesmo – são variáveis ​​nas quais, dependendo das configurações do documento, a inscrição será exibida "Preço", "Preço com IVA" ou "Preço sem IVA" e da mesma forma para o valor.

Pois bem, abaixo no layout existem seções com as quais são exibidos os resultados do documento e da assinatura.

Editando o layout

Seria bom colocar o logotipo acima das informações do fornecedor e do comprador. Sugiro editar a área de layout "Título". É necessário reduzir o tamanho da célula que contém o conteúdo "TítuloTexto". Esta célula consiste em várias células mescladas. Alteramos o tamanho da seguinte forma:

  1. Vamos copiar cuidadosamente o conteúdo da célula mesclada "TítuloTexto"(para fazer isso, você precisa selecionar a célula e usar o comando “Editar > Copiar” ou atalho de teclado CTRL+C)
  2. Após selecionar esta célula, selecione o item no menu principal "Tabela - Mesclar", o que levará ao efeito oposto - a célula mesclada será dividida em muitas células originais
  3. Agora vamos selecionar um número menor de células - em vez da célula 2 da coluna, começaremos a mesclar a partir da coluna 6, terminando na coluna 32 - e clicaremos novamente no botão "Mesclar"
  4. Equipe "Editar > Colar" (CTRL+V) insira o conteúdo da célula mesclada anterior na nova célula mesclada
  5. Simplesmente limpamos as células liberadas nas colunas 2 – 5 (selecione-as e pressione a tecla Delete)

Agora você pode inserir uma imagem com logotipo no espaço livre. Para fazer isso, selecione o item no menu “Tabela > Imagens > Imagem...”. Encontre o arquivo com nosso logotipo no disco e clique em “ OK" Agora vamos mover a imagem para o espaço livre. O resultado deve ser semelhante ao da Figura 3.


Agora vamos destacar os valores nas células em negrito "Fornecedor" E "Comprador"(Fig. 4). Para fazer isso, encontre o parâmetro nas propriedades da célula "Fonte" e defina o estilo como negrito.



E por último, resta adicionar a assinatura do serviço de segurança. Publicaremos essas informações na seção "Assinaturas". Para obter espaço para assinaturas você precisa expandir a seção. Selecione a linha 37, clique com o botão direito nela e selecione "Expandir", e assim por diante duas vezes. Numa das linhas acrescentadas colocaremos um local para assinatura do serviço de segurança. Como resultado, tudo deve ficar como na Figura 5.



Importante! Em uma configuração típica, são usados ​​​​dois idiomas: russo e ucraniano. O layout armazena a representação do texto em ambos os idiomas (o design da célula é geral). Para entrar na versão ucraniana da inscrição que adicionamos, você precisa ir às propriedades da célula e ao campo "Texto" aperte o botão "procurar". Será aberta uma janela para inserção de representações de texto em diferentes idiomas (Fig. 6).

Como garantir a impressão

Então, o layout está pronto. Agora é a hora de trabalhar no algoritmo para imprimi-lo.

Para que possamos integrar este layout na configuração e utilizá-lo sem problemas, o processamento que criamos deve atender às seguintes condições:

  1. Você precisa criar adereços no processamento "Link de objeto" com tipo "AnyLink"
  2. Você precisa criar um procedimento no módulo de processamento "Imprimir() Exportar" sem parâmetros e certifique-se de especificar a palavra-chave " Exportar"

O primeiro ponto é necessário para que o algoritmo de impressão saiba onde obter os dados para impressão, e o segundo é o próprio algoritmo de impressão. Vamos cumprir essas condições.

No painel da janela, selecione a janela para edição do nosso processamento (na Figura 7). Será aberta uma janela com uma árvore de objetos para nosso processamento. Selecionando uma filial "Requisitos" e pressione o botão "Adicionar",. A janela de propriedades do atributo será aberta. Vamos inserir o nome - "Link de objeto" e indique o tipo "AnyLink". Agora podemos passar para o texto do módulo de impressão. Não iremos escrevê-lo do zero; em vez disso, iremos copiá-lo do documento. "Vendas de Bens e Serviços".



Para fazer isso, encontre na árvore de configuração entre os documentos "Vendas de Bens e Serviços", clique com o botão direito sobre ele e selecione "Abrir módulo de objeto"(ver Figura 8).



Isso abrirá o módulo de documento. Precisamos da primeira função "Imprimir Documento". Seu texto deve ser selecionado e copiado. É muito conveniente destacar o texto de uma função quando ela está recolhida, mas você também deve destacar a linha abaixo dela, caso contrário corre o risco de copiar apenas o título.

Veja na Figura 9, destacamos o título e a linha abaixo dele. Depois disso, copie-o para a área de transferência. Menu principal "Editar > Copiar" (ou CTRL+C).



Memorizamos o texto na área de transferência, agora vamos voltar ao nosso processamento "Fatura com marca". Clique no botão "Ações > Módulo de objeto aberto"(Fig. 10).



Cole o texto copiado: "Editar > Colar" (ou CTRL+V).

Agora é necessário editar um pouco o texto copiado, pois ele foi escrito para impressão de um documento a partir do próprio documento, e estamos coletando-o de processamento externo. Para fazer isso você precisa:

  1. Renomeie a função para "Imprimir"
  2. Substituir "EsteObjeto" sobre "Link de objeto"
  3. Substituir "EsteObjeto" sobre "Link de objeto"
  4. Substituir "Conta Bancária da Organização" sobre “Link para conta bancária Object.Organization”
  5. Substituir "Produtos. Resumo" sobre "LinkToObject.Produtos.Total"

Para essas ações você pode usar o item do menu principal "Editar > Substituir".

Depois disso, você deve verificar a sintaxe. Existe uma combinação mágica para isso: CTRL+F7. Como resultado, a seguinte mensagem deverá aparecer: "Nenhum erro de sintaxe encontrado!"

Bem, com isso concluímos todo o trabalho sujo. Agora podemos salvar os resultados do nosso trabalho em um arquivo, por exemplo "Fatura de marca.epf". Para isso, é necessário ativar a janela deste processamento e salvá-la através do menu principal do programa "Arquivo > Salvar como...". Processando nome do arquivo – "Fatura de marca.epf"(será oferecido por padrão). Você pode salvá-lo temporariamente em sua área de trabalho para encontrá-lo mais rapidamente mais tarde.

Importante! Como você viu, não fizemos nenhuma alteração em nossa configuração. Para todas as ações descritas acima, você nem precisa removê-lo do suporte (ou seja, habilitar a capacidade de alteração).

Conectando processamento externo à configuração

Agora podemos conectar o processamento à nossa fatura. Para fazer isso, inicie no modo. Vá para o cardápio "Serviço", onde existem três pontos relacionados ao mecanismo “Processamento externo, impressão de formulários, processamento para preenchimento de partes tabulares”. No nosso caso, precisamos apenas do item "Formulários de impressão externa"(ver Fig. 11).



Isso abrirá o diretório. "Processamento externo", com seleção por tipo "formulários impressos". Armazenará uma lista de todos os formulários impressos externos, indicando a que documentos se destinam e em que casos devem ser apresentados.



Importante! O processamento em si ficará armazenado no banco de dados junto com os demais dados, ou seja, após salvar o processamento dentro do banco de dados, não precisaremos de arquivo externo.

Precisamos criar um novo elemento no diretório. Clique Inserir. Agora vamos dar uma olhada no conteúdo do elemento. No nome incluímos uma breve descrição significativa da essência deste formulário, por exemplo, "Fatura da empresa". Como qualquer outro diretório, também possui um código. Vamos deixar como padrão. O atributo type é preenchido por padrão e não pode ser editado – "Imprimir formulário". E o último elemento do cabeçalho é um comentário. Aqui, como sempre, há mais detalhes sobre a finalidade do formulário de impressão. Além do cabeçalho, os elementos deste diretório possuem dois marcadores. A segunda contém informações sobre a restrição dos direitos de acesso a este tratamento. Este tópico foge ao escopo deste artigo (falaremos sobre esta e outras configurações de direitos de acesso sem modificar a configuração em uma das próximas edições).

Vamos dar uma olhada mais de perto na primeira guia.

A guia contém quatro colunas. Representação de objeto– o tipo de documento para o qual gostaríamos de utilizar o nosso formulário de impressão,

Seleção– uma condição sob a qual este formulário impresso deve estar disponível. Por exemplo, redesenhamos o formato impresso da fatura e traduzimos para o inglês. E queremos para clientes da pasta "Europeu" em vez de um formulário impresso padrão "Fatura de Venda" Um novo formulário foi impresso em inglês. Para fazer isso, você pode usar a coluna "Seleção". Um exemplo dessa seleção é mostrado na Figura 13.



Mas em nossa tarefa nenhuma seleção é necessária.

Arquivo de formulário para impressão– indica o arquivo do qual será retirado o layout e o procedimento de impressão. Nesta célula você precisa selecionar o arquivo que salvamos na área de trabalho.

Placa de impressão substituível– se quisermos que o formulário impresso que criamos substitua um dos padrões deste documento, então precisamos indicar qual deles precisa ser substituído. Se não houver nada para escolher, um formulário impresso adicional aparecerá.

No nosso caso, precisamos "Fatura com marca" foi impressa em vez da fatura habitual. Para fazer isso, selecione neste campo "Fatura de Venda".

Agora vamos salvar este elemento. E abra qualquer fatura.

Deverá ficar como mostrado na Figura 14.



Bem, isso conclui a tarefa que nos propusemos no início do artigo. Acreditamos ter conseguido ilustrar as possibilidades que a utilização do mecanismo de processamento externo abre para o usuário.

Para consolidar as suas competências, pode tentar adicionar de forma independente à configuração um formulário impresso adicional “Para o armazém” para o documento “Recebimento de mercadorias e serviços”, que repetiria a fatura habitual, mas sem preços e valores, e também seria contém campos para inserir a quantidade aceita.

Caixa de areia

amigo 23 de agosto de 2011 às 10h22

Layouts em 1C 8.2 não são difíceis (Parte 1 - Criando um layout)

Digamos que você precise exibir um relatório como este:

Este relatório pode ser facilmente construído usando um sistema de composição de dados (DCS), especialmente se todos os dados necessários estiverem armazenados em um diretório. No entanto, vamos tentar exibir o mesmo relatório usando um layout.


Para gerar este relatório, você precisa de um diretório “Funcionários” com os detalhes “Data de Nascimento”, “Cargo”. Deixe o sobrenome, nome e patronímico do funcionário serem armazenados juntos em um campo padrão - “Nome”. Para indicar o cargo de um funcionário, existe outro diretório simples “Cargos” com campos padrão. A estrutura dos livros de referência necessários é mostrada na figura abaixo.

Agora vamos criar um novo relatório e chamá-lo de “Lista de Funcionários”. Vamos até a aba “Layouts” e crie um novo layout do tipo “TabularDocument”.
Uma planilha em branco será aberta diante de nós, pronta para uso. Agora precisamos apresentar o relatório necessário em forma de layout.
Para fazer isso, primeiro copie o relatório de origem em uma planilha em branco, ou seja, ao layout do relatório. Você obterá algo assim:

Vamos colocar o layout em ordem - alinharemos os títulos ao centro, configuraremos a tabela para exibir bordas e excluiremos todos os dados da tabela, exceto o primeiro registro. Teremos isso como amostra.
Vamos dividir o relatório finalizado em áreas da seguinte forma:

Para cada área deve-se atribuir um nome correspondente; para isso, é necessário selecionar a área desejada (neste caso, todas as áreas são grupos de linhas) e clicar no botão com o ícone, ou na combinação de teclas Ctrl+Shift. +N. Na janela que aparece, você precisa inserir o nome desta área. Vamos nomear as áreas conforme indicado na figura.
Agora, as células da tabela nas quais os dados da infobase devem ser exibidos devem ser designadas como contendo um modelo. Para isso, selecione este campo e selecione “Propriedades” no menu de contexto (botão direito do mouse). Na lista suspensa de propriedades da célula “Preencher”, você deve selecionar “Modelo” (exemplo na figura abaixo).

Depois disso, se aparecer uma expressão entre colchetes no texto da célula, ela será percebida pelo sistema 1C como um parâmetro. Por exemplo, se o texto da célula for o seguinte:

Meu nome é [MeuNome],

Então para exibir o texto “Meu nome é Ivan” basta o parâmetro "O meu nome" atribua o valor "Ivan".
No nosso caso, o modelo será a data de saída do relatório, bem como todas as colunas da linha que contém os dados do funcionário. Como resultado, após todas as manipulações, o layout do relatório ficará assim:

Isso conclui a criação do layout. Agora você precisa gerar programaticamente um relatório a partir das áreas geradas e exibi-lo.

Tags: 1C 8, layout, relatórios, layouts

Este artigo não está sujeito a comentários porque seu autor ainda não é

Nesta lição aprenderemos como criar layouts de tabela em 1C, que posteriormente poderão ser usados ​​​​para .

Por exemplo, como criei os layouts para .

Entrei no formulário de processamento e fui até a aba "Layouts":

O editor de documentos de planilha é aberto:

Em muitos aspectos, trabalhar no editor é semelhante a trabalhar no Excel, mas há alguns recursos que gostaria de destacar.

O que quero dizer com área? São várias linhas e várias células, em geral, qualquer parte de um documento de planilha que pode ser selecionada por nós com o botão esquerdo do mouse.

Aqui está uma área destacada de duas linhas:

E aqui está uma área selecionada de 2 colunas:

Agora selecionaremos a área na intersecção das duas primeiras linhas e das duas primeiras colunas:

Então aqui está. Se conseguirmos selecionar a área que necessitamos, clicando com o botão direito sobre ela e selecionando “Propriedades”, podemos atribuir-lhe um nome pelo qual iremos acessá-la a partir do nosso código, criando um formulário impresso:

Esta é uma habilidade básica que devemos dominar para podermos fazer layouts de tabelas.

Como visualizar nomes já atribuídos

Vamos ver quais nomes já estão atribuídos às áreas do layout?

Para fazer isso, selecione no menu do configurador:

Aqui está nossa recém-designada área “Cabeça”:

E se agora o selecionarmos na caixa de diálogo e clicarmos em “Selecionar”, então o correspondente será selecionado no editor. área celular:

Como definir um parâmetro de área

Muitas vezes, ao formar uma área impressa, é necessário fazer mais do que simplesmente remover a área do layout. Você também precisa preencher certas células com determinados parâmetros.

Definimos esses parâmetros para a área e os valores especificados caem automaticamente nas células necessárias.

Para isso, nas propriedades da célula que precisamos (onde será exibido o valor do parâmetro)...

Indicamos o valor “Parâmetro” no campo “Preenchimento”, e no campo “Parâmetro” escrevemos o nome pelo qual acessaremos este parâmetro a partir do código:

Se você especificar não “Parâmetro” no preenchimento, mas “Modelo”, então você pode especificar algum texto (modelo) na própria célula usando o nome do parâmetro entre colchetes:

Neste caso, o nome do parâmetro (e sua posição no modelo) é indicado entre colchetes.

Como definir o parâmetro de descriptografia?

O nome do parâmetro de descriptografia é definido nas mesmas propriedades da célula:

Posteriormente, a partir do código, atribuiremos a este parâmetro (denominado “Decodificação da Nomenclatura”) o valor requerido (um link para o elemento da nomenclatura).

E quando o usuário clicar duas vezes nesta célula, o valor atribuído ao parâmetro de descriptografia será aberto (neste caso, o formulário do item do item será aberto).

Orientações adicionais

Cobrimos os princípios básicos necessários. Agora examine cuidadosamente.

Baixe este banco de dados também. nele o processamento "ProcessingForTesting".

Seus layouts possuem opções tabulares. Explore-os o mais detalhadamente possível, contando com as técnicas que discutimos acima.

Os formulários impressos externos para uma aplicação regular (para a configuração Enterprise Accounting 2.0, Salary and Human Resources Management 2.5, Trade Management 10.3, etc.) são criados de forma bastante simples em comparação com os formulários impressos externos para uma aplicação gerenciada.

Por que criar formulários de impressão externos?

A vantagem de um formulário impresso externo em relação ao convencional é que permite evitar alterações na configuração da infobase. Isso significa que o processo de atualizações de configuração subsequentes não será complicado. Além disso, os formulários impressos externos, juntamente com o processamento externo, são a única opção para expandir a funcionalidade das versões básicas das configurações 1C, que não podem ser alteradas de forma alguma.

E uma última coisa: os formulários impressos externos são mais fáceis de replicar, porque eles são um arquivo separado que pode ser rapidamente conectado à infobase.

Como criar um formulário de impressão externo

Consideremos passo a passo o processo de criação de um formulário impresso 1C externo:

  1. Criamos processamento externo. Para fazer isso, selecione o item de menu no configurador Arquivo - Novo... E na caixa de diálogo que se abre - Processamento externo.
  2. Crie um atributo de processamento externo com o nome Referência de objeto. O tipo de atributo é um link para um diretório ou documento para o qual um formulário impresso externo está sendo criado. O mesmo formulário pode ser usado para vários tipos de objetos, neste caso o tipo de dados do atributo Referência de objeto deve ser composto.
  3. No módulo objeto criamos uma função de exportação com o nome Selo, que deve retornar um documento de planilha impresso finalizado.

Muitas vezes acontece que você precisa ajustar um pouco o layout de um formulário impresso existente e torná-lo externo. Por exemplo, adicione o selo da organização e a assinatura do gestor ao layout.

Criação de um formulário de impressão externo baseado em um padrão com pequenas alterações

Vamos considerar este procedimento usando o exemplo de criação de um formulário impresso externo de um documento de transferência universal para um documento Vendas de bens e serviços 1C: Contabilidade. Será diferente do formulário impresso padrão pela presença do selo da organização.

  1. Criando processamento externo com adereços Referência de objeto, tipo de dados - DocumentLink. Vendas de bens e serviços.
  2. Encontramos o layout do formulário impresso UPD padrão (está localizado nos layouts gerais) e o copiamos (arrastamos) para a janela de processamento externo. Os layouts de outros formulários impressos podem estar localizados nos próprios documentos ou livros de referência.
  3. Fazemos as alterações necessárias no layout copiado do formulário impresso.
  4. Encontramos a função responsável por gerar o formulário impresso. Esta função deve retornar o documento da planilha gerada. Copie seu conteúdo para a função de exportação Selo() no módulo de objeto de processamento externo.
    No nosso caso esta é a função Exportar PrintUniversalTransferDocument() do módulo de objeto de documento Vendas de bens e serviços.
    Se as alterações de layout forem significativas (áreas e/ou parâmetros alterados), então os ajustes apropriados deverão ser feitos na função de impressão.
  5. Estamos tentando salvar o processamento externo. No entanto, você provavelmente receberá mensagens de erro indicando que alguns procedimentos e funções chamados pela função de impressão estão faltando. Essas funções e procedimentos devem ser encontrados no documento de origem e também copiados no módulo do objeto de processamento externo. Ou ajuste o link se a função ou procedimento original for exportado.
  6. (não é necessário). Para testar um formulário de impressão externo, é conveniente fazer um formulário para colocar os adereços Referência de objeto. Botão Executar deve chamar um procedimento Selo() do módulo de objeto. Para fazer isso, o evento de clique do botão recebe um procedimento: