Partilhar via


Tipos de dados compostos suportados para fórmulas de Relatórios eletrónicos

Este tópico fornece informações sobre os tipos de dados compostos suportados nas expressões de Relatórios eletrónicos (ER). Os tipos de dados compostos são classe, contentor, registo, lista de registos e objeto.

Classe

O tipo de dados classe refere-se a uma classe de aplicação pública. Nos ER, é representado como um registo que contém um campo separado para cada método público da classe referenciada. Quando a chamada do método é parametrizada, também tem de especificar os argumentos obrigatórios dos tipos apropriados numa expressão de ER que está configurada para chamar o método.

Nos componentes de mapeamento e formato de ER, pode adicionar a origem de dados Classe apresentada como uma origem de dados e que devolve um valor do tipo classe. Esta origem de dados expõe métodos públicos da classe que podem ser chamados durante a execução.

Nota

Apenas os métodos que devolvem um valor podem ser chamados a partir de expressões de ER.

Apenas os métodos com um intervalo de zero a oito argumentos podem ser chamados a partir de expressões de ER.

O valor predefinido de uma classe é nulo.

A ilustração seguinte mostra como a origem de dados Informações de sistema (xInfo) do tipo Classe é adicionada para tornar a instância da classe de aplicação xInfo e chamar o método productName() para receber o nome da aplicação atual. O nome da aplicação atual é obtido durante a execução através da execução do enlace xInfo.productName que foi configurada para o campo Nome do software (SoftwareName) do modelo de dados de ER. Este enlace chama o método productName() da classe da aplicação xInfo que está representada no mapeamento de modelos atual como origem de dados Informações do sistema (xInfo).

Configurar uma origem de dados Classe no estruturador de mapeamento de modelos de ER.

A ilustração seguinte mostra como o formato de ER é configurado para colocar o nome da aplicação fornecido em documentos gerados. O campo Nome do software (SoftwareName) do modelo de dados utilizado estava vinculado ao componente Cadeia que está aninhado sob o elemento XML softwareUsed do formato de ER. Assim, o nome da aplicação atual é colocado durante a execução para o elemento XML softwareUsed de um documento gerado no formato XML.

A configurar a estrutura de um documento eletrónico de saída no estruturador de formatos de ER.

Contentor

O tipo de dados contentor contém conteúdo binário. Um valor contentor pode ser utilizado para transmitir informações específicas do armazenamento para um documento gerado. Na arquitetura de ER, este tipo de dados é frequentemente utilizado para colocar conteúdo multimédia como um logótipo da empresa em documentos gerados.

Nota

Embora cada item de multimédia possa ser representado como um valor contentor, nem todos os valores contentor representam um item de multimédia. Portanto, se configurar um formato de ER para que utilize um contentor para colocar uma imagem em documentos gerados, mas o contentor referenciado não devolver conteúdo multimédia, uma exceção semelhante ao exemplo seguinte pode ser iniciada: "Erro ao executar o código: Binário (objeto), método constructFromContainer chamado com parâmetros inválidos".

O valor predefinido de um contentor é nulo.

A ilustração seguinte mostra como o campo Bitmap (Imagem) do tipo Contentor está vinculado ao campo de modelo de dados Logótipo do tipo Contentor no mapeamento de modelos Fatura de vendas. Este enlace torna o logótipo da empresa disponível para qualquer formato de ER estruturado para a definição raiz SalesInvoice e que utiliza este mapeamento de modelos durante a execução.

A vincular um campo do tipo Contentor no estruturador de mapeamento de modelos de ER.

Registo

Um registo é uma coleção de campos com nomes, cada um dos quais está associado a um valor de um tipo de dados primitivos ou de um tipo de dados compostos. Normalmente, um registo é utilizado para representar um único registo de uma lista de registos. Neste caso, cada item representa campos, métodos e relações individuais.

O valor predefinido de um registo é vazio.

Nota

Quando obtém o valor de um campo de um registo vazio, é devolvido o valor predefinido do tipo de dados apropriado.

Um registo pode ser obtido utilizando as seguintes funções:

Para obter mais informações sobre a transformação dos valores registo, consulte Lista de funções de ER na categoria de lista.

Lista de registos

Uma lista de registos é uma lista de itens do tipo registo. Normalmente, uma lista de registos é utilizada para representar a lista de registos que foi obtida de uma tabela de bases de dados.

Por predefinição, os registos de uma lista de registos são acedidos sequencialmente. Para aceder a um registo específico, pode utilizar a função INDEX e especificar o índice de número inteiro.

O valor predefinido de uma lista de registos é vazio. Pode utilizar a função ISEMPTY para avaliar se uma lista de registos está vazia.

Nota

Se uma lista de registos estiver vazia, qualquer tentativa de obter um valor de campo para um registo na mesma causa o início de uma exceção durante a execução. Para saber como pode ajudar a prevenir exceções durante a execução deste tipo, consulte Consideração de casos de lista vazia.

Uma lista de registos pode ser iniciada utilizando as seguintes funções:

Para obter mais informações sobre a transformação dos valores lista de registos, consulte Lista de funções de ER na categoria de lista. Para saber como introduzir itens da lista de registos, preencha-os com dados da aplicação e, em seguida, utilize os dados para gerar documentos empresariais, consulte Estruturar uma nova solução de ER para imprimir um relatório personalizado.

Objeto

Um objeto refere-se a uma instância com estado de uma classe. Normalmente, um objeto é iniciado no código fonte. Em seguida, é transmitido para um mapeamento de modelos de ER e fornece detalhes do contexto de execução.

O valor predefinido de um objeto é nulo.

A ilustração seguinte mostra como a origem de dados ReportDataContract do tipo Objeto é adicionada para transmitir informações sobre uma fatura gerada do código fonte para o mapeamento de modelos de Fatura do projeto. Por exemplo, o texto da instância da fatura é transmitido como parte do contexto de execução. Este texto é retirado do código fonte durante a execução através da execução do enlace ReportDataContract.parmInvoiceInstanceText que foi configurado para o campo Nota do modelo de dados de ER. Este enlace chama o método parmInvoiceInstanceText() da classe da aplicação PSAProjInvoiceContract que está representada no mapeamento de modelos atual como a origem de dados ReportDataContract.

A configurar uma origem de dados Objeto no estruturador de mapeamento de modelos de ER.

Para saber como transmitir os detalhes do contexto de execução do código fonte para a solução de ER em execução, consulte Desenvolver artefactos da aplicação para chamar o relatório estruturado.

Recursos adicionais