Estruturador de fórmulas nos Relatórios Eletrónicos (ER)
Este tópico explica como utilizar o designer de fórmulas em Relatórios eletrónicos (ER). Ao conceber um formato para um documento eletrónico específico em ER, pode utilizar fórmulas para transformar dados de modo a satisfazer os requisitos para o cumprimento e formatação do documento. Estas fórmulas assemelham-se a fórmulas em Microsoft Excel. Vários tipos de funções são suportados nas fórmulas: texto, data e hora, funções matemáticas, lógicas, informativas e de conversão de tipo de dados, e também outras funções específicas de domínio de negócios.
Visão geral do designer de fórmulas
O ER suporta o designer de fórmulas. Portanto, no momento do design, pode configurar expressões que podem ser usadas para as seguintes tarefas no runtime:
- Transforme os dados recebidos de uma base de dados de aplicações e que devem ser inseridos num modelo de dados ER que é concebido para ser uma origem de dados para formatos de ER. (Por exemplo, estas transformações podem incluir filtragem, agrupamento e conversão do tipo de dados.)
- Formate dados que devem ser enviados para um documento eletrónico gerado de acordo com o layout e as condições de um formato de ER específico. (Por exemplo, a formatação pode ser feita de acordo com a língua ou cultura solicitadas, ou com a codificação).
- Controle o processo de criação de documentos eletrónicos. (Por exemplo, as expressões podem ativar ou desativar a saída de elementos específicos do formato, dependendo dos dados de processamento. Também podem interromper o processo de criação de documentos ou lançar mensagens aos utilizadores.)
Pode abrir a página do designer de fórmulas quando realizar qualquer uma das seguintes ações:
- Ligar os itens de origem de dados aos componentes do modelo de dados.
- Ligar os itens de origem de dados aos componentes do formato.
- Completar a manutenção de campos calculados que fazem parte de origens de dados.
- Definir as condições de visibilidade dos parâmetros de entrada de utilizador.
- Conceber as transformações de um formato.
- Definir as condições de ativação dos componentes do formato.
- Definir os nomes de ficheiro dos componentes FICHEIRO do formato.
- Definir as condições de validações de controlo de processos.
- Definir o texto das mensagens de validações de controlo de processos.
Enlace de dados
O designer de fórmulas de ER pode ser utilizado para definir uma expressão que transforma dados que são recebidos a partir de origens de dados, para que os dados possam ser introduzidos no consumidor de dados nas seguintes formas no runtime:
- Desde origens de dados de aplicação e parâmetros de runtime até um modelo de dados de ER
- Desde um modelo de dados de ER até um formato de ER
- Desde origens de dados de aplicação e parâmetros de runtime até um formato de ER
A seguinte ilustração mostra o design de uma expressão deste tipo. Neste exemplo, a expressão arredonda o valor do campo Intrastat.AmountMST na tabela Intrastat para duas casas decimais e, em seguida, devolve o valor arredondado.
A seguinte ilustração mostra como pode ser usada uma expressão deste tipo. Neste exemplo, o resultado da expressão desenhada é introduzido no componente Transaction.InvoicedAmount do modelo de dados do modelo de reporte de impostos.
No runtime, a fórmula concebida, ROUND (Intrastat.AmountMST, 2)
arredonda o valor do campo AmountMST para cada registo na tabela Intrastat para duas casas decimais. Em seguida, introduz o valor arredondado no componente Transaction.InvoicedAmount do modelo de dados Reporte de impostos.
Formatação de dados
O designer de fórmulas de ER pode ser utilizado para definir uma expressão que formata dados que são recebidos a partir de origens de dados, para que os dados possam ser enviados como parte do documento eletrónico gerado. Pode ter formatação que deve ser aplicada como uma regra típica que deve ser reutilizada para um formato. Neste caso, pode introduzir essa formatação uma vez na configuração do formato, como uma transformação nomeada que tem uma expressão de formatação. Esta transformação nomeada pode então ser ligada a muitos componentes de formato onde a saída deve ser formatada de acordo com a expressão de formatação que criou.
A seguinte ilustração mostra o design de uma transformação deste tipo. Neste exemplo, a transformação TrimmedString trunca os dados de entrada do tipo de dados String, removendo espaços à esquerda e à direita. Em seguida, devolve o valor da cadeia (de carateres) truncada.
A seguinte ilustração mostra como pode ser usada uma transformação deste tipo. Neste exemplo, vários componentes de formato enviam texto como saída para o documento eletrónico gerado no runtime. Todos estes componentes de formato referem-se à transformação TrimmedString pelo nome.
Quando os componentes do formato, como o componente partyName na ilustração anterior, se referem à transformação de TrimmedString, a transformação envia texto como saída para o documento eletrónico gerado. Este texto não inclui espaços à esquerda e à direita.
Se tiver formatação que deve ser aplicada individualmente, pode introduzir essa formatação como expressão individual de um enlace de um componente de formato específico. A seguinte ilustração mostra uma expressão deste tipo. Neste exemplo, o componente de formato partyType está dependente da origem de dados através de uma expressão que converte os dados de entrada do campo Model.Company.RegistrationType na origem de dados para texto em maiúsculas. A expressão envia então esse texto como saída para o documento eletrónico.
Controlo do fluxo de processo
O designer de fórmulas de ER pode ser utilizado para definir expressões que controlam o fluxo de processo de geração de documentos eletrónicos. Pode executar as seguintes tarefas:
- Definir condições que determinam quando um processo de criação de documento deve ser interrompido.
- Especificar expressões que criam mensagens para o utilizador sobre processos parados ou lançam mensagens de registo de execução sobre o processo contínuo de geração de relatórios.
- Especificar os nomes dos ficheiros dos documentos eletrónicos gerados e controlar as condições da sua criação.
Cada regra do controlo de fluxo de processo é concebida como uma validação individual. A seguinte ilustração mostra uma validação deste tipo. Aqui está uma explicação da configuração neste exemplo:
- A validação é avaliada quando o nó INSTAT é criado durante a geração do ficheiro XML.
- Se a lista de transações estiver vazia, a validação interrompe o processo de execução e devolve FALSE.
- A validação devolve uma mensagem de erro que inclui o texto da etiqueta SYS70894 no idioma preferido do utilizador.
O designer de fórmulas de ER também pode ser utilizado para gerar um nome de ficheiro para um documento eletrónico gerado e para controlar o processo de criação de ficheiros. A seguinte ilustração mostra o design de um controlo de fluxo de processo deste tipo. Aqui está uma explicação da configuração neste exemplo:
- A lista de registos da origem de dados model.Intrastat está dividida em lotes. Cada lote contém até 1000 registos.
- A saída cria um ficheiro zip que contém um ficheiro em formato XML para cada lote que foi criado.
- Uma expressão devolve um nome de ficheiro para gerar documentos eletrónicos, concatenando o nome do ficheiro e a extensão do nome do ficheiro. Para o segundo lote e todos os lotes subsequentes, o nome do ficheiro contém o ID do lote como um sufixo.
- Uma expressão ativa (devolvendo TRUE) o processo de criação de ficheiros para lotes que contenham pelo menos um registo.
Controlo de conteúdos de documentos
O designer de fórmula de ER pode ser utilizado para configurar expressões que controlam que dados serão colocados em documentos eletrónicos gerados no runtime. As expressões podem ativar ou desativar a saída de elementos específicos do formato, dependendo dos dados de processamento e da lógica configurada. Estas expressões podem ser introduzidas para um único elemento de formato no campo Ativado no separador Mapeamento da página do designer de operações. Pode introduzir as expressões como uma condição lógica que devolve um valor booleano:
- Se a condição voltar a ser True, o elemento de formato atual é executado.
- Se a condição voltar a ser False, o elemento de formato atual é ignorado.
A seguinte ilustração mostra expressões deste tipo. (A Versão 11.12.11 da configuração do formato de transferência de crédito ISO20022 (NO) fornecida pela Microsoft é usada como exemplo.) O componente de formato XMLHeader está configurado para descrever a estrutura da mensagem de transferência de crédito de acordo com as normas de mensagem XML ISO 20022. O componente de formato XMLHeader/Document/CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/RmtInf/Ustrd está configurado para adicionar o elemento XML Ustrd à mensagem gerada e colocar a informação de remessa num formato não estruturado como texto dos seguintes elementos XML:
- O componente PaymentNotes é utilizado para gerar o texto das notas de pagamento.
- O componente DelimitedSequence gera números de fatura separados por vírgula que são utilizados para liquidar a transferência de crédito corrente.
Nota
Os componentes PaymentNotes e DelimitedSequence são rotulados através de um ponto de interrogação. Um ponto de interrogação indica que a utilização de um componente é condicional. Neste caso, a utilização dos componentes baseia-se nos seguintes critérios:
A expressão
@.PaymentsNotes <> ""
definida para o componente PaymentNotes permite (devolvendo TRUE) que o elemento XML Ustrd seja preenchido com o texto das notas de pagamento, se esse texto não estiver em branco para a transferência de crédito em vigor.A expressão
@.PaymentsNotes = ""
definida para o componente DelimitedSequence permite (devolvendo TRUE) que o elemento XML Ustrd seja preenchido com uma lista separada por vírgula dos números de fatura que são utilizados para liquidar a transferência de crédito corrente, se o texto das notas de pagamento dessa transferência de crédito estiver em branco.
Com base nesta configuração, a mensagem gerada para cada pagamento do devedor, o elemento XML Ustrd, conterá o texto das notas de pagamento ou, quando esse texto estiver em branco, uma lista separada por vírgula dos números de fatura que são utilizados para liquidar o pagamento.
Validação de fórmulas configuradas
Na página do designer de fórmulas, selecione Test para validar a forma como a fórmula configurada funciona.
Quando forem necessários os valores dos argumentos de fórmula, pode abrir a caixa de diálogo Expressão de teste a partir da página do designer de fórmulas. Na maioria dos casos, estes argumentos devem ser definidos manualmente, porque os enlaces configurados não são executados no momento do design. O separador Resultados do teste na página do designer de fórmulas mostra o resultado da execução da fórmula configurada.
O exemplo a seguir mostra como se pode testar a fórmula configurada para o domínio do comércio externo para garantir que o código de mercadoria Intrastat contém apenas dígitos.
Ao testar esta fórmula, pode utilizar a caixa de diálogo Expressão de teste para especificar o valor do código de mercadoria Intrastat para testes.
Depois de especificar o código de mercadoria Intrastat e selecionar OK, o separador Resultado do teste na página do designer de fórmulas mostra o resultado da execução da fórmula configurada. Em seguida, pode avaliar se o resultado é aceitável. Se o resultado não for aceitável, pode atualizar a fórmula e testá-la novamente.
Algumas fórmulas não podem ser testadas quando são concebidas. Por exemplo, uma fórmula pode devolver um resultado de um tipo de dados que não pode ser mostrado no separador Resultado do teste. Neste caso, recebe uma mensagem de erro que diz que a fórmula não pode ser testada.