Partilhar via


Adiar a execução de elementos XML em formatos ER

Descrição Geral

Pode utilizar o estruturador de operações da estrutura de Relatórios eletrónicos (ER) para configurar o componente de formato de uma solução ER que é usada para gerar documentos de saída em formato XML. A estrutura hierárquica do componente de formato configurado consiste em elementos de formato de vários tipos. Estes elementos de formato são utilizados para preencher documentos gerados com as informações necessárias em runtime. Por predefinição, quando executa um formato ER, os elementos de formato são executados na mesma ordem em que são apresentados na hierarquia do formato: um por um, de cima para baixo. No entanto, no momento do design, pode alterar a ordem de execução para quaisquer elementos XML do componente de formato configurado.

Ao ligar a opção Execução adiada para um elemento XML no formato configurado, pode adiar (retardar) a execução desse elemento. Neste caso, o elemento não é executado até que todos os outros elementos do seu elemento principal tenham sido executados.

Para obter mais informações sobre esta funcionalidade, conclua o exemplo neste tópico.

Limitações

A opção Execução adiada é suportada apenas para elementos XML configurados para um formato ER que é utilizado para gerar documentos de saída em formato XML.

A opção Execução adiada é suportada apenas para elementos XML que residem em apenas um outro elemento XML. Portanto, não é aplicável aos elementos XML que residem noutros tipos de elementos de formato (por exemplo, num elemento de Sequência XML).

A opção Execução adiada não é suportada por elementos XML que residem no elemento de formato Comum\Ficheiro quando a opção Dividir ficheiro é definida como Sim. Para mais informações sobre como dividir ficheiros XML, consulte Dividir ficheiros XML gerados com base no tamanho do ficheiro e na quantidade de conteúdo.

Exemplo: adiar a execução de um elemento XML num formato ER

Os seguintes passos explicam como um utilizador na função de Administrador do Sistema ou de Consultor funcional de relatórios eletrónicos pode configurar um formato ER que contenha um elemento XML onde a ordem de execução difere da ordem na hierarquia do formato.

Estes passos podem ser realizados na empresa USMF no Microsoft Dynamics 365 Finance.

Pré-requisitos

Para concluir este exemplo, deve ter acesso à empresa USMF em Finanças para uma das seguintes funções:

  • Consultor funcional de relatórios eletrónicos
  • Administrador de sistema

Se ainda não tiver concluído o exemplo no tópico Adiar a execução de elementos de sequência em formatos ER, faça download das seguintes configurações na solução ER de amostra.

Descrição do conteúdo Nome do ficheiro
Configuração do modelo de dados ER Modelo para aprender sobre elementos adiados.version.1.xml
Configuração de mapeamento do modelo ER Mapeamento para aprender sobre elementos adiados.version.1.1.xml

Antes de começar, também deve fazer download e guardar a seguinte configuração da solução ER da amostra para o seu computador local.

Descrição do conteúdo Nome do ficheiro
Configuração do formato de ER Formato para aprender sobre elementos XML adiados.version.1.1.xml

Importar as configurações ER de amostra

  1. Vá para Administração da organização > Áreas de trabalho > Relatórios eletrónicos.

  2. Selecione Configurações de relatórios.

  3. Na página Configurações, se a configuração Modelo para aprender sobre elementos adiados não estiver disponível na árvore de configuração, importe a configuração do modelo de dados ER:

    1. Selecione Exchange e, em seguida, selecione Carregar a partir do ficheiro XML.
    2. Selecione Procurar, procure e selecione o ficheiro Modelo para aprender elementos adiados.xml e, em seguida, selecione OK.
  4. Na configuração Mapeamento para aprender sobre elementos adiados não estiver disponível na árvore de configuração, importe a configuração do mapeamento de modelos ER:

    1. Selecione Exchange e, em seguida, selecione Carregar a partir do ficheiro XML.
    2. Selecione Procurar, encontre e selecione o ficheiro Mapeamento para aprender elementos adiados.xml e, em seguida, selecione OK.
  5. Importar a configuração de formato ER:

    1. Selecione Exchange e, em seguida, selecione Carregar a partir do ficheiro XML.
    2. Selecione Procurar, encontre e selecione o ficheiro Formato para aprender elementos XML adiados.1.1.xml e, em seguida, selecione OK.
  6. Na árvore de configuração, expanda Modelo para aprender sobre elementos adiados.

  7. Reveja a lista das configurações ER importadas na árvore de configuração.

    Configurações do formato ER importada na página Configurações.

Ativar um fornecedor de configuração

  1. Vá para Administração da organização > Áreas de trabalho > Relatórios eletrónicos.

  2. Na página Configurações de localização, na secção Fornecedores de configuração, certifique-se de que o fornecedor de configuração para a empresa de exemplo Litware, Inc. (http://www.litware.com) está listado e marcado como ativo. Se este fornecedor de configuração não estiver listado ou se não estiver marcado como ativo, siga os passos no tópico Criar um fornecedor de configuração e marcá-lo como ativo.

    Empresa de amostra Litware, Inc. na página de Configurações de Localização.

Rever o mapeamento de modelos importado

Reveja as definições do componente de mapeamento do modelo ER que está configurado para aceder a transações fiscais e expor os dados acedidos a pedido.

  1. Vá para Administração da organização > Áreas de trabalho > Relatórios eletrónicos.

  2. Selecione Configurações de relatórios.

  3. Na página Configurações, na árvore de configuração, expanda Modelo para aprender sobre elementos adiados.

  4. Selecione a configuração Mapeamento para aprender sobre elementos adiados.

  5. Selecione Estruturador para abrir a lista de mapeamentos.

  6. Selecione Estruturador para rever os detalhes do mapeamento.

  7. Selecione Mostrar detalhes.

  8. Reveja as origens de dados configuradas para aceder a transações fiscais:

    • A origem de dados de Transações do tipo Registo de tabela está configurada para aceder aos registos da tabela de aplicação do TaxTrans.

    • A origem de dados Vouchers do tipo Campo calculado está configurada para devolver os códigos de vouchers necessários (INV-10000349 e INV-10000350) como uma lista de registos.

    • A origem de dados Filtrado do tipo Campo calculado está configurada para selecionar, a partir da origem de dados Transações, apenas as transações fiscais dos vouchers necessários.

    • O campo $TaxAmount do tipo Campo calculado é adicionado para a origem de dados Filtrado para expor o valor fiscal que tem o sinal oposto.

    • A origem de dados Agrupado do tipo Agrupar por está configurada para agrupar transações fiscais filtradas da origem de dados Filtrado.

    • O campo de agregação TotalSum da origem de dados Agrupado está configurado para resumir os valores do campo $TaxAmount da origem de dados Filtrado para todas as transações fiscais filtradas dessa origem de dados.

      Campo de agregação TotalSum na página de parâmetros Editar 'GroupBy'.

  9. Reveja como as origens de dados configuradas estão dependentes do modelo de dados e como expõem os dados acedidos para os disponibilizar num formato ER:

    • A origem de dados Filtrado está dependente do campo Data.List do modelo de dados.
    • O campo $TaxAmount da origem de dados Filtrado está dependente do campo Data.List.Value do modelo de dados.
    • O campo TotalSum da origem de dados Agrupado está dependente do campo Data.Summary.Total do modelo de dados.

    Página estruturador de mapeamento de modelos.

  10. Feche as páginas Estruturador do mapeamento de modelos e Mapeamentos de modelo.

Rever o formato importado

  1. Na página Configurações, na árvore de configuração, selecione a configuração Formato para aprender sobre elementos XML adiados.

  2. Selecione Estruturador para rever os detalhes do formato.

  3. Selecione Mostrar detalhes.

  4. Reveja as definições dos componentes do formato ER configurados para gerar um documento de saída em formato XML que inclua detalhes das transações fiscais:

    • O elemento XML do Relatório\Mensagem está configurado para preencher o documento de saída com um único nó que inclui os elementos XML aninhados (Cabeçalho, Registo e Resumo).
    • O elemento XML Relatório\Mensagem\Cabeçalho está configurado para preencher o documento de saída com um único nó de cabeçalho que mostra a data e a hora em que o processamento começa.
    • O elemento XML Relatório \Mensagem\Registo está configurado para preencher o documento de saída com um único nó de registo que mostra os detalhes de uma única transação fiscal.
    • O elemento XML do Relatório\Mensagem\Resumo está configurado para preencher o documento de saída com um único nó sumário que inclua a soma dos valores fiscais das transações fiscais processadas.

    Elemento XML de mensagem e elementos XML aninhados na página de estruturador de formato.

  5. No separador Mapeamento, reveja os seguintes detalhes:

    • O elemento Relatório\Mensagem\Cabeçalho não tem de ser dependente de uma fonte para gerar um único nó num documento de saída.
    • O atributo ExecutionDateTime gera a data e a hora (incluindo milissegundos) quando o nó do cabeçalho é adicionado.
    • O elemento Relatório\Mensagem\Registo é dependente da lista model.Data.List para gerar um único nó de registo para cada registo da lista dependente.
    • O atributo TaxAmount é dependente do modelo. Data.List.Value (que é mostrado como @.Value na visão do caminho relativo) para gerar o valor fiscal da transação fiscal em curso.
    • O atributo RunningTotal é um marcador de posição para o total de execução dos valores fiscais. Atualmente, este atributo não tem saída, porque nem um valor de enlace nem predefinido estão configurados para o mesmo.
    • O atributo ExecutionDateTime gera a data e a hora (incluindo milissegundos) quando a transação atual é processada neste relatório.
    • O elemento Relatório\Mensagem\Resumo não tem de ser dependente de uma origem de dados para gerar um único nó num documento de saída.
    • O atributo TotalTaxAmount é dependente do model.Data.Summary.Total para gerar a soma dos valores fiscais das transações fiscais processadas.
    • O atributo ExecutionDateTime gera a data e a hora (incluindo milissegundos) quando o nó do resumo é adicionado.

    Separador de mapeamento na página do estruturador de formatos.

Executar o formato importado

  1. Na página Estruturador de formatos, selecione Executar.

  2. Faça download do ficheiro que o navegador web oferece e abra-o para revisão.

    Ficheiro transferido de formato importado.

Note-se que o nó sumário apresenta a soma dos valores fiscais para as transações processadas. Como o formato está configurado para usar o enlace model.Data.Summary.Total para devolver esta soma, a soma é calculada chamando a agregação TotalSum da origem de dados Agrupado do tipo GroupBy no mapeamento do modelo. Para calcular esta agregação, o modelo de mapeamento repete-se em todas as transações selecionadas na origem de dados Filtrado. Comparando os tempos de execução do nó de reumo e o último nó de registo, pode determinar que o cálculo da soma demorou 12 milissegundos (ms). Comparando os tempos de execução dos primeiros e últimos nós de registo, pode determinar que a geração de todos os nós recordes levou 9 ms. Portanto, foi necessário um total de 21 ms.

Modificar o formato de modo a que o cálculo seja baseado na saída gerada

Se o volume de transação for muito maior do que o volume no exemplo atual, o tempo de cálculo pode aumentar e causar problemas de desempenho. Ao alterar a definição do formato, pode ajudar a prevenir estes problemas de desempenho. Como acede aos valores fiscais para os incluir no relatório gerado, pode reutilizar esta informação para calcular os valores fiscais. Para obter mais informações, consulte Configurar formato para fazer contagem e soma.

  1. Na página Estruturador de formato, no separador Formato, selecione o elemento de ficheiro Relatório na árvore de formato.

  2. Defina a opção Recolher detalhes de saída como Sim. Agora pode configurar este formato utilizando o conteúdo de um relatório gerado como origem de dados que pode ser acedido utilizando as funções ER incorporadas na categoria Recolha de dados.

  3. No separador Mapeamento, selecione o elemento XML Relatório\Mensagem\Registo.

  4. Configure a expressão Nome chave de dados recolhidos como WsColumn.

  5. Configure a expressão Valor chave de dados recolhidos como WsRow.

    Registo do elemento XML na página Estruturador de formatos.

  6. Selecione o atributo Relatório\Mensagem\Registo\TaxAmount.

  7. Configure a expressão Nome chave de dados recolhidos como SummingAmountKey.

    Atributo TaxAmount na página Estruturador de formatos.

    Pode considerar esta definição o cumprimento de uma folha de cálculo virtual, onde o valor da célula A1 é anexado com o valor do valor do imposto de cada transação fiscal processada.

  8. Selecione o atributo Relatório\Mensagem\Registo\RunningTotal e, em seguida, selecione Editar fórmula.

  9. Configure a expressão SUMIF(SummingAmountKey, WsColumn, WsRow) utilizando a função ER incorporada SUMIF e, em seguida, selecione Guardar.

    Expressão SUMIF.

  10. Feche a página Estruturador de fórmulas.

  11. Selecione Guardar e, em seguida, selecione Executar.

  12. Faça download e reveja o ficheiro que o navegador web oferece.

    Lista gerada de valor fiscal com total em execução.

    O último nó de registo contém o total de valores fiscais que é calculado para todas as transações processadas utilizando a produção gerada como origem de dados. Esta origem de dados começa desde o início do relatório e continua através da última transação fiscal. O nó de resumo contém a soma dos valores fiscais para todas as transações processadas que são calculadas no mapeamento do modelo utilizando a origem de dados do tipo GroupBy. Note que estes valores são iguais. Portanto, o resumo baseado na saída pode ser utilizado em vez de GroupBy. Comparando os tempos de execução dos primeiro nó e do nó de resumo, pode determinar que a geração de todos os nós de registo e resumo levou 11 ms. Por conseguinte, no que diz respeito à geração de nós registados e ao resumo dos valores fiscais, o formato modificado é aproximadamente duas vezes mais rápido do que o formato original.

  13. Selecione o atributo Relatório\Mensagem\Resumo\TotalTaxAmount e, em seguida, selecione Editar fórmula.

  14. Introduza a expressão SUMIF(SummingAmountKey, WsColumn, WsRow) em vez da expressão existente.

  15. Selecione Guardar e, em seguida, selecione Executar.

  16. Faça download e reveja o ficheiro que o navegador web oferece.

    Lista gerada de valores fiscais usando a fórmula editada.

    Note que o total de execução dos valores fiscais no último nó de registo é agora igual à soma do nó de resumo.

Colocar valores de produção com base no cabeçalho do relatório

Se, por exemplo, tiver de apresentar a soma dos valores fiscais no cabeçalho do seu relatório, poderá modificar o seu formato.

  1. Na página Estruturador de formatos, no separador Formato, selecione o elemento XML Relatório\Mensagem\Resumo.

  2. Selecione Mover para cima.

  3. Selecione Guardar e, em seguida, selecione Executar.

  4. Faça download e reveja o ficheiro que o navegador web oferece.

    Ficheiro transferido de valores fiscais para cabeçalho de relatório.

    Note que a soma dos valores fiscais no nó de resumo é agora igual a 0 (zero), uma vez que este montante é agora calculado com base na saída gerada. Quando o primeiro nó de registo é gerado, a saída gerada ainda não contém nós de registo que tenham detalhes de transação. Pode configurar este formato para adiar a execução do elemento Relatório\Mensagem\Resumo até que o elemento Relatório\Mensagem\Registo tenha sido executado para todas as transações fiscais.

Adiar a execução do elemento XML de resumo de modo a que o total calculado seja utilizado

  1. Na página Estruturador de formatos, no separador Formato, selecione o elemento XML Relatório\Mensagem\Resumo.

  2. Defina a opção Execução adiada como Sim.

    Opção de execução adiada do elemento XML de resumo na página de design de formato.

  3. Selecione Guardar e, em seguida, selecione Executar.

  4. Faça download e reveja o ficheiro que o navegador web oferece.

    Ficheiro transferido de execução adiada.

    O elemento Relatório\Mensagem\Resumo é agora executado apenas depois de terem sido executados todos os outros itens que estão aninhados sob o seu elemento principal, Relatório\Mensagem. Portanto, é executado depois de o elemento Relatório\Mensagem\Registo ter sido executado para todas as transações fiscais da origem de dados model.Data.List. Os tempos de execução dos primeiros e últimos nós de registo, e dos nós de cabeçalho e resumo, revelam este facto.

Recursos adicionais