Criar uma nova solução ER para imprimir um relatório personalizado
As etapas a seguir explicam como um usuário no administrador do sistema, no desenvolvedor de relatórios eletrônicos ou na função consultor funcional de relatórios eletrônicos pode configurar parâmetros da estrutura ER, criar as configurações de ER necessárias de uma nova solução ER para acessar os dados de um domínio comercial específico e gerar um relatório personalizado no formato do Microsoft Office. Essas etapas podem ser concluídas na empresa USMF.
Criar um mapeamento de modelo para o modelo de dados configurado
Crie uma nova configuração de mapeamento de modelo
- Criar um novo componente de mapeamento de modelos
- Adicionar fontes de dados para acessar tabelas de aplicativos
- Adicionar fontes de dados para acessar enumerações de aplicativos
- Adicionar rótulos de ER para gerar um relatório em um idioma especificado
- Adicionar uma fonte de dados para transformar os resultados da comparação de valores de enumeração em um valor de texto
- Associar fontes de dados a campos do modelo de dados
- Concluir o design de mapeamento do modelo
-
Desenvolver artefatos de aplicativos para chamar o relatório criado
-
- Adicionar uma classe de contrato de dados
- Adicionar uma classe do construtor de interface de usuário
- Adicionar uma classe de provedor de dados
- Adicionar um arquivo de rótulos
- Adicionar uma classe de serviço de relatório
- Adicionar uma classe de controlador de relatório
- Adicionar um item de menu
- Adicionar um item de menu a um menu
- Criar um projeto do Visual Studio
-
Ajustar uma solução de ER criada
Modifique um mapeamento de modelo
- Adicionar fontes de dados para acessar um objeto de contrato de dados
- Adicionar uma fonte de dados para acessar registros de mapeamento de formato ER
- Adicionar uma fonte de dados para acessar um registro de mapeamento de formato de um formato de ER em execução
- Inserir o nome do formato de ER em execução no modelo de dados
- Concluir o design de mapeamento do modelo
Executar um formato do aplicativo para visualizá-lo como um documento PDF
Neste exemplo, você criará uma nova solução ER para o módulo Questionário. Essa nova solução ER permite criar um relatório usando uma planilha do Microsoft Excel como modelo. Em seguida, você pode gerar o relatório Questionário no formato Excel ou PDF, além de gerar o relatório Serviços de Relatório do SQL Server (SSRS) existente. Você também pode modificar o novo relatório posteriormente, quando solicitado. Nenhum código é necessário.
Para executar o relatório existente, acesse Questionário>Design>Relatório Questionários.
Na caixa de diálogo Relatório Questionários, especifique os critérios de seleção. Aplique um filtro para que o relatório inclua somente o questionário SBCCrsExam.
A ilustração a seguir mostra a versão gerada do relatório SSRS para o questionário SBCCrsExam.
Configurar a estrutura de ER
Como usuário na função de Desenvolvedor de Relatório Eletrônico, você deve configurar o conjunto mínimo de parâmetros de ER antes de começar a usar a estrutura de ER para criar uma nova solução ER.
Configurar parâmetros de ER
Acesse Administração da organização>Espaços de trabalho>Relatório eletrônico.
No espaço de trabalho Relatório eletrônico, selecione Parâmetros de relatório eletrônico.
Na página Parâmetros de relatório eletrônico, na guia Geral, defina a opção Habilitar modo de design como Sim.
Na guia Anexos, defina os seguintes parâmetros:
- Defina o campo Configurações como Arquivo para a empresa USMF.
- Defina os campos Arquivo de trabalho, Temporário, Linha de base e Outros como Arquivo.
Para obter mais informações sobre parâmetros de ER, consulte Configurar a estrutura de ER.
Ativar um provedor de configuração de ER
Toda configuração de ER é marcada como pertencente a um provedor de configuração de ER. Por isso você deve ativar um provedor de configuração de ER no espaço de trabalho Relatório eletrônico antes de começar a adicionar ou editar configurações de ER.
Observação
Somente o proprietário de uma configuração de ER pode editá-la. Assim, para que uma configuração de ER possa ser editada, o provedor de configuração de ER apropriado deve estar ativado no espaço de trabalho Relatório eletrônico.
Examinar a lista de provedores de configuração de ER
- Acesse Administração da organização>Espaços de trabalho>Relatório eletrônico.
- No espaço de trabalho Relatório eletrônico, na seção Links relacionados, selecione Provedores de configuração.
- Na página Provedores de configuração, cada registro de provedor de configuração tem um nome e uma URL únicos. Examine o conteúdo dessa página. Se já existir um registro para Litware, Ltda. (
https://www.litware.com
), ignore o próximo procedimento, Adicionar um novo provedor de configuração de ER.
Adicionar um novo provedor de configuração de ER
- Na página Provedores de configuração, selecione Novo.
- No campo Nome, insira Litware, Ltda.
- No campo Endereço na Internet, insira
https://www.litware.com
. - Selecione Salvar.
Ativar um provedor de configuração de ER
- Acesse Administração da organização>Espaços de trabalho>Relatório eletrônico.
- No espaço de trabalho Relatório eletrônico, selecione o provedor de configuração Litware, Inc..
- Selecione Definir como ativo.
Para obter mais informações sobre provedores de configuração de ER, consulte Criar provedores de configuração e marcá-los como ativos.
Criar um modelo de dados de domínio específico
Você deve criar uma nova configuração de ER que contenha um componente de modelo de dados para o domínio comercial Questionário. Esse modelo de dados será usado posteriormente como uma fonte de dados quando você criar um formato ER para gerar o relatório Questionário.
Ao concluir as etapas na seção Importar uma nova configuração do modelo de dados, você pode importar o modelo de dados necessário do arquivo XML fornecido. Como alternativa, você pode concluir as etapas na seção Criar uma nova configuração do modelo de dados para criar esse modelo de dados desde o início.
Importar uma nova configuração de modelo de dados
- Baixe o arquivo Questionnaires model.version.1.xml e salve-o no computador local.
- Acesse Administração da organização>Espaços de trabalho>Relatório eletrônico.
- No espaço de trabalho Relatório eletrônico, selecione Configurações de relatórios.
- No Painel de Ação, selecione Troca>Carregar de um arquivo XML.
- Selecione Procurar e, depois, localize e selecione o arquivo Questionnaires model.version.1.xml.
- Selecione OK para importar a configuração.
Para continuar, ignore o próximo procedimento, Criar uma nova configuração de modelo de dados.
Criar uma nova configuração de modelo de dados
- Acesse Administração da organização>Espaços de trabalho>Relatório eletrônico.
- No espaço de trabalho Relatório eletrônico, selecione Configurações de relatórios.
- Selecione Criar configuração.
- Na caixa de diálogo suspensa, no campo Nome, insira Modelo de questionário.
- Selecione Criar configuração para criar a configuração.
Nomear o modelo de dados
- Na página Configurações, na árvore de configurações, selecione Modelo de questionário.
- Selecione Designer.
- Na página Designer de modelo de dados, na FastTab Geral, no campo Nome, insira Questionários.
Adicionar novos campos de modelo de dados
Na página Designer de modelo de dados, selecione Novo.
Na caixa de diálogo suspensa para adicionar um nó de modelo de dados, siga estas etapas:
- Selecione Raiz do modelo como o tipo do novo nó.
- No campo Nome, insira Raiz.
- Selecione Adicionar para adicionar o novo nó.
Esse descritor raiz será usado para fornecer dados para o relatório Questionário. Um único modelo de dados pode ter vários descritores. Cada descritor pode ser especificado para um único formato ER, a fim de identificar os dados necessários para gerar o relatório.
Selecione Novo novamente e, na caixa de diálogo suspensa para adicionar um nó de modelo de dados, siga estas etapas:
- Selecione Filho de um nó ativo como o tipo do novo nó.
- No campo Nome, insira CompanyName.
- No campo Tipo de item, selecione String.
- Selecione Adicionar para adicionar o novo campo.
Este campo é necessário para passar o nome da empresa atual para um relatório ER que consome esse modelo de dados como uma fonte de dados.
Selecione Novo novamente e, na caixa de diálogo suspensa para adicionar um nó de modelo de dados, siga estas etapas:
- Selecione Filho de um nó ativo como o tipo do novo nó.
- No campo Nome, insira Questionário.
- No campo Tipo de item, selecione Lista de registros.
- Selecione Adicionar para adicionar o novo campo.
Este campo será usado para passar a lista de questionários para um relatório ER que consome esse modelo de dados como uma fonte de dados.
Selecione o nó Questionário.
Continue a adicionar os campos obrigatórios do modelo de dados editável da mesma forma até concluir a estrutura de modelo de dados a seguir.
Caminho do campo Tipo de dados Designação de campo/valor retornado Raiz O ponto de referência para solicitar dados de questionário. Raiz\CompanyName Sequência de caracteres O nome da empresa atual. Raiz\ExecutionContext Registrar Detalhes da execução de formato. Raiz\ExecutionContext\FormatName Sequência de caracteres O nome do formato ER que está sendo executado. Raiz\Questionário Lista de registros A lista de questionários Raiz\Questionário\Ativo Sequência de caracteres O status do questionário atual. Raiz\Questionário\Código Sequência de caracteres O código do questionário atual. Raiz\Questionário\Descrição Sequência de caracteres A descrição do questionário atual. Raiz\Questionário\QuestionnaireType Sequência de caracteres O tipo do questionário atual. Raiz\Questionário\QuestionOrder Sequência de caracteres A ordem numérica do questionário atual. Raiz\Questionário\ResultsGroup Registrar As parâmetros de resultado do questionário atual. Raiz\Questionário\ResultsGroup\Código Sequência de caracteres O código de identificação do grupo de resultados atual. Raiz\Questionário\ResultsGroup\Descrição Sequência de caracteres A descrição do grupo de resultados atual. Raiz\Questionário\ResultsGroup\MaxNumberOfPoints Real O número máximo de pontos a ser obtido. Raiz\Questionário\Pergunta Lista de registros A lista de perguntas do questionário atual. Raiz\Questionário\Pergunta\CollectionSequenceNumber Inteiro O número de sequência da coleção de respostas atual. Raiz\Questionário\Pergunta\Id Sequência de caracteres O código de identificação da pergunta atual. Raiz\Questionário\Pergunta\MustBeCompleted Sequência de caracteres Um sinalizador que indica se a pergunta atual deve ser respondida. Raiz\Questionário\Pergunta\PrimaryQuestion Sequência de caracteres Um sinalizador que indica se a pergunta atual é a principal. Raiz\Questionário\Pergunta\SequenceNumber Inteiro O número de sequência da pergunta atual. Raiz\Questionário\Pergunta\Texto Sequência de caracteres O texto da pergunta atual. Raiz\Questionário\Pergunta\Resposta Lista de registros A lista de respostas para a pergunta atual. Raiz\Questionário\Pergunta\Resposta\CorrectAnswer Sequência de caracteres Um sinalizador que indica se a pergunta resposta atual está correta. Raiz\Questionário\Pergunta\Resposta\Pontos Real Os pontos ganhos quando a resposta atual é selecionada. Raiz\Questionário\Pergunta\Resposta\SequenceNumber Inteiro O número de sequência da resposta atual. Raiz\Questionário\Pergunta\Resposta\Texto Sequência de caracteres O texto da resposta atual. A ilustração a seguir mostra o modelo de dados editável preenchido na página Designer do modelo de dados.
Salve as alterações.
Feche a página Designer de modelo de dados.
Concluir o design do modelo de dados
- Acesse Administração da organização>Relatório eletrônico>Configurações.
- Na página Configurações, na árvore de configurações, selecione Modelo de questionário.
- Na FastTab Versões, selecione a versão de configuração com o status Rascunho.
- Selecione Alterar status>Concluir.
O status da versão 1 dessa configuração é alterado de Rascunho para Concluído. A versão 1 não pode mais ser alterada. Esta versão contém o modelo de dados configurado e pode ser usada como base para outras configurações de ER. A versão 2 dessa configuração é criada e tem um status Rascunho. Você pode editar esta versão para ajustar o modelo de dados Questionário.
Para obter mais informações sobre como usar versões para configurações de ER, consulte Visão geral de relatório eletrônico (ER).
Observação
O modelo de dados configurado é sua representação abstrata do domínio comercial de Questionário e não contém relações para artefatos que são específicos do Microsoft Microsoft Dynamics 365 Finance.
Criar um mapeamento de modelo para o modelo de dados configurado
Como usuário na função de Desenvolvedor de Relatório Eletrônico, você deve criar uma nova configuração de ER que contenha um componente de mapeamento de modelos para o modelo de dados Questionário. Como esse componente implementa o modelo de dados configurado para o Finance, ele é específico do Finance. Você deve configurar o componente de mapeamento de modelos para especificar os objetos de aplicativo que devem ser usados para preencher o modelo de dados configurado com os dados do aplicativo no tempo de execução. Para concluir essa tarefa, você deve estar ciente dos detalhes da implementação da estrutura de dados do domínio comercial Questionário no Finance.
Ao concluir as etapas na seção Importar uma nova configuração de mapeamento de modelo a seguir, você pode importar a configuração de mapeamento de modelo necessário a partir do arquivo XML fornecido. Como alternativa, você pode concluir as etapas na seção Criar uma nova configuração de mapeamento do modelo para criar esse mapeamento de modelo do zero.
Importar uma nova configuração de mapeamento de modelo
- Baixe o arquivo Questionnaires mapping.version.1.1.xml e salve-o no computador local.
- Acesse Administração da organização>Espaços de trabalho>Relatório eletrônico.
- No espaço de trabalho Relatório eletrônico, selecione Configurações de relatórios.
- No Painel de Ação, selecione Troca>Carregar de um arquivo XML.
- Selecione Procurar e, depois, localize e selecione o arquivo Questionnaires mapping.version.1.1.xml.
- Selecione OK para importar a configuração.
Para continuar, ignore o próximo procedimento, Criar uma nova configuração de mapeamento de modelo.
Criar uma nova configuração de mapeamento de modelo
Acesse Administração da organização>Relatório eletrônico>Configurações.
Na página Configurações, na árvore de configurações, selecione Modelo de questionário.
Selecione Criar configuração.
Na caixa de diálogo suspensa, siga estas etapas:
- No campo Novo, selecione Mapeamento de modelo baseado no modelo de dados Questionários.
- No campo Nome, insira Mapeamento de questionário.
- No campo Definição do modelo de dados, selecione a definição Raiz.
- Selecione Criar configuração para criar a configuração.
Criar um novo componente de mapeamento de modelos
- Na página Configurações, na árvore de configurações, selecione Mapeamento de questionário.
- Selecione Designer para abrir a lista de mapeamentos.
- Selecione o mapeamento Mapeamento de questionários que foi adicionado automaticamente à definição Raiz
- Selecione Designer começar a configurar o mapeamento selecionado.
Um novo mapeamento é adicionado automaticamente à definição Raiz. Esse mapeamento tem a direção Para modelo. Portanto, esse mapeamento pode ser usado para preencher um modelo de dados com os dados necessários.
Adicionar fontes de dados para acessar tabelas de aplicativos
Você deve configurar fontes de dados para acessar as tabelas do aplicativo que contêm detalhes do questionário.
Na página Designer de mapeamento de modelo, no painel Tipos de fontes de dados, selecione Dynamics 365 for Operations\Registros de tabela.
Adicione uma nova fonte de dados que será usada para acessar a tabela KMCollection, em que cada registro representa um único questionário:
- No painel Fontes de dados, selecione Adicionar raiz.
- Na caixa de diálogo, no campo Nome , insira Questionário.
- No campo Tabela, insira KMCollection.
- Defina a opção Pedir consulta como Sim. Em seguida, será possível especificar opções de filtragem dessa tabela na caixa de diálogo consulta do sistema no runtime.
- Selecione OK para adicionar a nova fonte de dados.
No painel Tipos de fonte de dados, selecione Dynamics 365 for Operations\Registros de tabela.
Adicione uma nova fonte de dados que será usada para acessar a tabela KMQuestion, em que cada registro representa uma única pergunta em um questionário:
- No painel Fontes de dados, selecione Adicionar raiz.
- Na caixa de diálogo, no campo Nome , insira Pergunta.
- No campo Tabela, insira KMQuestion.
- Selecione OK para adicionar a nova fonte de dados.
No painel Tipos de fonte de dados, selecione Dynamics 365 for Operations\Registros de tabela.
Adicione uma nova fonte de dados que será usada para acessar a tabela KMAnswer, em que cada registro representa uma única resposta a uma pergunta em um questionário:
- No painel Fontes de dados, selecione Adicionar raiz.
- No campo Nome, insira Resposta.
- No campo Tabela, insira KMAnswer.
- Selecione OK para adicionar a nova fonte de dados.
No painel Tipos de fonte de dados, selecione Funções\Campo calculado.
Adicione um novo campo calculado que será usado para acessar um registro da tabela KMQuestionResultGroup a partir de cada registro da tabela KMCollection pai:
- No painel Fontes de dados, selecione Questionário.
- Selecione Adicionar.
- Na caixa de diálogo, no campo Nome, insira $ResultGroup.
- Selecione Editar fórmula.
- No campo Editor de fórmula ER, no campo Fórmula, insira FIRSTORNULL(@.'<Relations'.KMQuestionResultGroup) para usar o caminho da relação um para muitos entre as tabelas KMCollection e KMQuestionResultGroup.
- Selecione Salvar e feche o editor de fórmula.
- Selecione OK para adicionar o novo campo calculado.
No painel Tipos de fonte de dados, selecione Funções\Campo calculado.
Adicione um novo campo calculado que será usado para acessar registros de perguntas da tabela KMQuestion a partir de cada registro da tabela KMCollectionQuestion pai:
- No painel Fontes de dados, selecione Questionário.
- Expanda o nó <Relações que contém relações um para muitos da tabela KMCollection.
- Selecione a tabela KMCollectionQuestion relacionada e selecione Adicionar.
- Na caixa de diálogo, no campo Nome , insira $Question.
- Selecione Editar fórmula.
- No editor de fórmulas, no campo Fórmula, insira FIRSTORNULL (FILTER(Question, Question.kmQuestionId = @.kmQuestionId)) para retornar os registros de pergunta apropriados da tabela KMQuestion.
- Selecione Salvar e feche o editor de fórmula.
- Selecione OK para adicionar o novo campo calculado.
No painel Tipos de fonte de dados, selecione Funções\Campo calculado.
Adicione um novo campo calculado que será usado para acessar registros de resposta da tabela KMAnswer a partir de cada registro da tabela KMQuestion pai:
- No painel Fontes de dados, selecione Questionnaire.<Relations.KMCollectionQuestion.$Question e então selecione Adicionar.
- Na caixa de diálogo, no campo Nome, insira $Answer.
- Selecione Editar fórmula.
- No editor de fórmulas, no campo Fórmula, insira FILTER (Answer, Answer.kmAnswerCollectionId = @.kmAnswerCollectionId) para retornar os registros de resposta apropriados da tabela KMAnswer.
- Selecione Salvar e feche o editor de fórmula.
- Selecione OK para adicionar o novo campo calculado.
No painel Tipos de fonte de dados, selecione Dynamics 365 for Operations\Tabela.
Adicione uma nova fonte de dados que será usada para acessar métodos da tabela CompanyInfo. Observe que o método find() dessa tabela retorna um registro que representa uma empresa da atual instância de Finanças que este mapeamento é chamado nesse contexto.
- No painel Fontes de dados, selecione Adicionar raiz.
- Na caixa de diálogo, no campo Nome , insira CompanyInfo.
- No campo Tabela, insira CompanyInfo.
- Selecione OK para adicionar a nova fonte de dados.
Adicionar fontes de dados para acessar enumerações de aplicativos
Você deve configurar fontes de dados para acessar enumerações de aplicativos e comparar valores com os valores dos campos do tipo Enumeração nas tabelas de aplicativos. Você deve usar o resultado da comparação para preencher os campos adequados do modelo de dados.
Na página Designer de mapeamento de modelo, no painel Tipos de fontes de dados, selecione Dynamics 365 for Operations\Enumeração.
Adicione uma nova fonte de dados que será usada para acessar valores da enumeração EnumAppNoYes.
- No painel Fontes de dados, selecione Adicionar raiz.
- Na caixa de diálogo, no campo Nome , insira EnumAppNoYes.
- No campo Enumeração, insira NoYes.
- Selecione OK para adicionar a nova fonte de dados.
No painel Tipos de fonte de dados, selecione Dynamics 365 for Operations\Enumeração.
Adicione uma nova fonte de dados que será usada para acessar os valores da enumeração KMCollectionQuestionMode.
- No painel Fontes de dados, selecione Adicionar raiz.
- Na caixa de diálogo, no campo Nome, insira EnumAppQuestionOrder.
- No campo Enumeração, insira KMCollectionQuestionMode.
- Selecione OK para adicionar a nova fonte de dados.
Adicionar rótulos de ER para gerar um relatório em um idioma especificado
Você pode adicionar rótulos de ER para configurar algumas fontes de dados para retornar valores que dependam do idioma definido no contexto da chamada do mapeamento de modelos.
Na página Designer de mapeamento de modelo, no painel Fontes de dados, selecione Responder e Editar.
Ative o campo Rótulo.
Selecione Traduzir.
Na caixa de diálogo Tradução de texto, siga estas etapas:
- No campo Id do rótulo, insira PositiveAnswer.
- No campo Texto no idioma padrão, insira Sim.
- Selecione Traduzir.
- No campo Id do rótulo, digite NegativeAnswer.
- No campo Texto no idioma padrão, insira Não.
- Selecione Traduzir.
Feche a caixa de diálogo Tradução de texto.
Selecione Cancelar.
Você inseriu rótulos de ER somente para o idioma padrão. Para obter informações sobre como os rótulos ER podem ser traduzidos para outros idiomas, consulte Criar relatórios multilíngues.
Adicionar uma fonte de dados para transformar os resultados da comparação de valores de enumeração em um valor de texto
Como você deve transformar os resultados da comparação entre valores de enumeração e valores de texto várias vezes para diferentes fontes, convém configurar essa lógica como uma única fonte de dados. No entanto, para tornar essa fonte de dados reutilizável, você deve configurá-la como a fonte de dados parametrizada. Para obter mais informações, consulte Suporte a chamadas parametrizadas de fontes de dados do ER do tipo do campo Calculado.
Na página Designer de mapeamento de modelo, no painel Tipos de fontes de dados, selecione Geral\Contêiner vazio.
Adicionar uma nova fonte de dados de contêiner:
- No painel Fontes de dados, selecione Adicionar raiz.
- Na caixa de diálogo, no campo Nome , insira Auxiliar.
- Selecione OK para adicionar a nova fonte de dados de contêiner.
No painel Tipos de fonte de dados, selecione Funções\Campo calculado.
Adicionar uma nova fonte de dados:
No painel Fontes de dados, selecione Auxiliar.
Selecione Adicionar.
Na caixa de diálogo suspensa, no campo Nome , insira NoYesEnumToString.
Selecione Editar fórmula.
No editor de fórmulas, selecione Parâmetros.
Siga estas etapas para especificar parâmetros para a expressão configurada:
- Selecione Novo.
- Na caixa de diálogo, no campo Nome , insira Argumento.
- No campo Tipo, selecione o tipo de dados Booliano.
- Selecione OK.
No campo Fórmula, insira IF (Argument = true, @"GER‑LABEL:PositiveAnswer", "GER‑LABEL:NegativeAnswer") para retornar o texto do rótulo de ER apropriado, dependendo do idioma do contexto de execução e do valor do parâmetro especificado.
Selecione Salvar e feche o editor de fórmula.
Selecione OK para adicionar a nova fonte de dados.
Associar fontes de dados a campos do modelo de dados
Você deve vincular fontes de dados configuradas aos campos do modelo de dados para especificar como o modelo de dados será preenchido com os dados do aplicativo no tempo de execução.
Na página Designer de mapeamento de modelo, no painel Modelo de dados, selecione CompanyName.
No painel Fontes de dados, expanda CompanyInfo e siga estas etapas:
- Expanda o nó CompanyInfo.find() que representa o método find() da tabela CompanyInfo.
- Selecione CompanyInfo.find().Name.
- Selecione Associar para preencher o nome da empresa com o qual o mapeamento de modelo configurado é chamado no contexto de tempo de execução.
No painel Modelo de dados, selecione Questionário.
No painel Fontes de dados, selecione Questionário e, depois, Adicionar para preencher registros de questionário.
No painel Modelo de dados, expanda Questionário e siga estas etapas:
- No painel Modelo de dados, selecione Ativo.
- No painel Modelo de dados, selecione Editar.
- No campo Fórmula, insira Helper.NoYesEnumToString (@.Active = EnumAppNoYes.Yes) para preencher o resultado dependente de texto e dependente do idioma da comparação entre valores de enumeração.
Continue a associar fontes de dados a campos de modelo de dados da mesma maneira até atingir o resultado a seguir.
Caminho do campo Tipo de dados Ação Expressão de associação CompanyName Sequência de caracteres Associar CompanyInfo.'find()'.Name Questionário Lista de registros Associar Questionário Questionário\Ativo Sequência de caracteres Editar Helper.NoYesEnumToString(@.active = EnumAppNoYes.Yes) Questionário\Código Sequência de caracteres Associar @.kmCollectionId Questionário\Descrição Sequência de caracteres Associar @.Description Questionário\QuestionnaireType Sequência de caracteres Associar @.'>Relations'.kmCollectionTypeId.Description Questionário\QuestionOrder Sequência de caracteres Editar CASE (@.questionMode,
EnumAppQuestionOrder.Conditional, "Conditional",
EnumAppQuestionOrder.Random, "aleatório (porcentagem no questionário)",
EnumAppQuestionOrder.RandomGroup, "aleatório (porcentagem no grupo de resultados)",
EnumAppQuestionOrder.Sequence, "Sequencial",
"")Questionário\ResultsGroup Registrar Questionário\ResultsGroup\Code Sequência de caracteres Associar @.'$ResultGroup'.kmQuestionResultGroupId Questionário\ResultsGroup\Descrição Sequência de caracteres Associar @.'$ResultGroup'.description Questionário\ResultsGroup\MaxNumberOfPoints Real Associar @.'$ResultGroup'.maxPoint Questionário\Pergunta Lista de registros Associar @.'<Relations'.KMCollectionQuestion Questionário\Pergunta\CollectionSequenceNumber Inteiro Associar @.answerCollectionSequenceNumber Questionário\Pergunta\Id Sequência de caracteres Associar @.kmQuestionId Questionário\Pergunta\MustBeCompleted Sequência de caracteres Editar Helper.NoYesEnumToString(@.mandatory = EnumAppNoYes.Yes) Questionário\Pergunta\PrimaryQuestion Sequência de caracteres Associar @.parentQuestionId Questionário\Pergunta\SequenceNumber Inteiro Associar @.SequenceNumber Questionário\Pergunta\Texto Sequência de caracteres Associar @.'$Question'.text Questionário\Pergunta\Resposta Lista de registros Associar @.'$Question'.'$Answer' Questionário\Pergunta\Resposta\CorrectAnswer Sequência de caracteres Editar Helper.NoYesEnumToString(@.correctAnswer = EnumAppNoYes.Yes) Questionário\Pergunta\Resposta\Pontos Real Associar @.point Questionário\Pergunta\Resposta\SequenceNumber Inteiro Associar @.sequenceNumber Questionário\Pergunta\Resposta\Texto Sequência de caracteres Associar @.text A ilustração a seguir mostra o estado final do mapeamento de modelo configurado na página Designer de mapeamento de modelo.
Salve as alterações.
Feche a página Designer de mapeamento de modelo.
Concluir o design de mapeamento de modelo
- Acesse Administração da organização>Relatório eletrônico>Configurações.
- Na página Configurações, na árvore de configurações, selecione Mapeamento de questionário.
- Na FastTab Versões, selecione a versão de configuração com o status Rascunho.
- Selecione Alterar status>Concluir.
O status da versão 1.1 dessa configuração é alterado de Rascunho para Concluído. A versão 1.1 não pode mais ser alterada. Esta versão contém o mapeamento de modelo configurado e pode ser usada como base para outras configurações de ER. A versão 1.2 dessa configuração é criada e tem um status Rascunho. Você pode editar esta versão para ajustar a configuração de Mapeamento de questionário.
Observação
O mapeamento de modelo configurado é a implementação específica do Finance do modelo de dados abstratos que representa o domínio comercial de Questionário.
Criar um modelo para um relatório personalizado
A estrutura de ER gera usa modelos predefinidos para gerar relatórios nos formatos do Microsoft Office (pastas de trabalho do Excel ou documentos do Word). Enquanto o relatório necessário está sendo gerado, um modelo é preenchido com os dados necessários de acordo com o fluxo de dados configurado. Portanto, você deve primeiro criar um modelo para o relatório personalizado. Esse modelo deve ser criado como uma pasta de trabalho do Excel cuja estrutura representa o layout de um relatório personalizado. Você deve nomear todos os itens do Excel que pretende preencher com os dados necessários.
- Baixe o arquivo Questionnaires report template.xlsx e salve-o no computador local.
- Abra o arquivo no Excel e revise a estrutura da pasta de trabalho.
Como mostra a ilustração a seguir, o modelo baixado foi projetado para imprimir questionários especificados que apresentam as perguntas de um questionário junto com as respostas apropriadas.
Os nomes do Excel foram adicionados a este modelo para preencher os detalhes do questionário. Você pode usar o Gerenciador de nomes para revisar os nomes do Excel.
Os rótulos de relatório foram adicionados como texto fixo no idioma inglês. Você pode substituir os rótulos de relatório por novos nomes do Excel que preenchem os rótulos com o texto dependente do idioma, usando os rótulos do formato ER, como fez para expressões dependentes de idioma no mapeamento de modelo configurado. Nesse caso, os rótulos de ER devem ser adicionadas ao formato ER editável.
Como mostra a ilustração a seguir, o cabeçalho do relatório personalizado foi especificado para habilitar a paginação do Excel.
Criar um formato
Como usuário na função de consultor funcional de relatório eletrônico, você deve criar uma nova configuração do ER contendo um componente de formato. Você deve configurar o componente de formato para especificar como um modelo de relatório será preenchido com dados necessários no tempo de execução.
Ao concluir as etapas na seção Importar uma configuração de formato projetado, você pode importar o formato necessário a partir do arquivo XML fornecido. Como alternativa, você pode concluir as etapas na seção Criar uma nova configuração de formato para criar esse formato do zero.
Importar uma configuração de formato criado
- Baixe o arquivo Questionnaires format.version.1.1.xml e salve-o no computador local.
- Acesse Administração da organização>Espaços de trabalho>Relatório eletrônico.
- No espaço de trabalho Relatório eletrônico, selecione Configurações de relatórios.
- No Painel de Ação, selecione Troca>Carregar de um arquivo XML.
- Selecione Procurar e, depois, localize e selecione o arquivo Questionnaires format.version.1.1.xml.
- Selecione OK para importar a configuração.
Para continuar, ignore o próximo procedimento, Criar uma nova configuração de formato.
Criar uma nova configuração de formato
Acesse Administração da organização>Relatório eletrônico>Configurações.
Na página Configurações, na árvore de configurações, selecione Modelo de questionário.
Selecione Criar configuração.
Na caixa de diálogo suspensa, siga estas etapas:
No campo Novo, selecione Formato baseado no modelo de dados Questionários.
No campo Nome, insira Relatório de questionário.
No campo Versão de modelo de dados, selecione 1.
Observação
- Se você selecionar uma versão específica do modelo de dados básicos, a estrutura da versão correspondente do modelo de dados será apresentada como a estrutura da fonte de dados Modelo no formato criado.
- Este campo pode ser deixado em branco. Nesse caso, a estrutura da versão de Rascunho do modelo de dados será apresentada como a estrutura da fonte de dados Modelo no formato criado. Em seguida, você pode ajustar o modelo e ver imediatamente esses ajustes no seu formato. Esta abordagem pode melhorar a eficiência do design da solução ER quando você configura o modelo de dados, o mapeamento de modelos e o formato simultaneamente.
- Se você selecionar uma versão específica do modelo de dados básicos, poderá alternar para o uso da versão Rascunho posteriormente, ao começar a editar um formato.
No campo Definição do modelo de dados, selecione a definição Raiz.
Selecione Criar configuração para criar a configuração.
Importar um modelo do relatório
Na página Configurações, na árvore de configurações, selecione Relatório de questionário.
Selecione Designer para começar a configurar um formato personalizado.
Na página Designer de formato, no Painel de Ações, selecione Importar>Importar do Excel.
Na caixa de diálogo, siga estas etapas:
- Selecione Adicionar modelo.
- Localize e selecione arquivo Questionnaires report template.xslx salvo localmente e selecione Abrir.
- Selecione OK para importar o modelo.
O formato Excel\Arquivo é adicionado automaticamente ao formato editável como um elemento raiz. Além disso, o elemento de formato Excel\Intervalo ou o elemento de formato Excel\Célula é automaticamente adicionado a cada nome do Excel reconhecido do modelo importado. O formato Excel\Cabeçalho que tem o elemento Cadeia de caracteres aninhado é automaticamente adicionado para refletir as configurações de cabeçalho do modelo importado.
Configurar um formato
Na página Designer de formato, na árvore de formatos, selecione o elemento raiz do Excel.
Na guia Formatar no lado direito da página, no campo Nome, insira Relatório.
No campo Preferência de idioma, selecione a Preferência de usuário para executar o relatório no idioma preferencial do usuário.
No campo Preferência de cultura, selecione a Preferência de usuário para executar o relatório na cultura preferencial do usuário.
Para obter informações sobre como especificar o idioma e os contextos de cultura para um processo ER, consulte Criar relatórios multilíngues.
Na árvore de formatos, expanda o nó raiz e selecione ResultsGroup.
Na guia Formatar, no campo Direção da replicação, selecione Sem replicação, porque você não espera ter vários grupos de resultados para um único questionário.
Selecione Salvar.
Definir a associação de dados para um título de relatório
Você deve especificar uma associação de dados para um elemento de formato que é usado para preencher o título de um relatório gerado.
Na página Designer de formato, na guia Mapeamento à direita, selecione o elemento Relatório\ReportTitle.
Selecione Editar fórmula.
No editor de fórmulas, selecione Traduzir.
Na caixa de diálogo Tradução de texto, siga estas etapas:
- No campo ID do rótulo, insira ReportTitle.
- No campo Texto no idioma padrão, insira Relatório Questionários.
- Selecione Traduzir e, depois, Salvar.
- Selecione Traduzir para fechar a caixa de diálogo Tradução de texto.
Feche o editor de fórmulas.
Você pode usar essa técnica para tornar todos os outros rótulos do modelo atual dependentes de idioma. Para obter informações sobre como os rótulos adicionados de uma única configuração de ER podem ser traduzidos em todos os idiomas com suporte, consulte Criar relatórios multilíngues.
Analisar a fonte de dados do modelo
- Na página Designer de formato, na guia Mapeamento, selecione a fonte de dados modelo que representa o modelo de dados base deste formato ER.
- Selecione Editar.
- Revise as informações na caixa de diálogo Propriedades da fonte de dados. Essa fonte de dados representa a versão 1 do componente do modelo de dados Questionários que reside na configuração ER do modelo Questionários.
Associar elementos a campos da fonte de dados
Para especificar como um modelo é preenchido no tempo de execução, você deve associar todos os elementos de formato associados a um nome do Excel apropriado a um único campo da fonte de dados desse formato.
Na página Designer de formato, na árvore de formatos, selecione o elemento Relatório\CompanyName.
Na guia Mapeamento, selecione o campo de fonte de dados model.CompanyName do tipo Cadeia de caracteres.
Selecione Associar para inserir um nome de empresa em um modelo.
Na árvore de formatos, selecione o elemento Relatório\Questionário.
Na guia Mapeamento, selecione o campo de fonte de dados model.Questionnaire do tipo Lista de registros.
Selecione Associar.
Selecione Mostrar detalhes para ver mais detalhes dos elementos de formato.
O elemento de formato do intervalo Questionário é configurado como replicado verticalmente. Quando ele está associado a uma fonte de dados do tipo Lista de registros, o intervalo de Questionário apropriado do modelo do Excel é repetido para cada registro da fonte de dados associada.
Como o intervalo Questionário do modelo do Excel é definido entre as linhas 5 e 14, essas linhas são repetidas para todos os questionários relatados.
Configure associações semelhantes para os elementos de formato restantes, conforme descrito na tabela a seguir.
Observação
Nesta tabela, as informações na coluna "Caminho da fonte de dados" supõem que o recurso do ER caminho relativo está ativado.
Caminho do elemento de formato Caminho da fonte de dados Excel\ReportTitle @"GER_LABEL:ReportTitle" Excel\CompanyName model.CompanyName Excel\Questionário model.Questionnaire Excel\Questionário\Ativo @.Active, onde @ é model.Questionnaire Excel\Questionário\Código @.Code Excel\Questionário\Descrição @.Description Excel\Questionário\QuestionnaireType @.QuestionnaireType Excel\Questionário\QuestionOrder @.QuestionOrder Excel\Questionnaire\ResultsGroup\Code_ @.ResultsGroup.Code Excel\Questionnaire\ResultsGroup\Description_ @.ResultsGroup.Description Excel\Questionário\ResultsGroup\MaxNumberOfPoints @.ResultsGroup.MaxNumberOfPoint Excel\Questionário\Pergunta @.Question Excel\Questionário\Pergunta\CollectionSequenceNumber @.CollectionSequenceNumber, onde @ é model.Questionnaire.Question Excel\Questionário\Pergunta\Id @.Id Excel\Questionário\Pergunta\MustBeCompleted @.MustBeCompleted Excel\Questionário\Pergunta\PrimaryQuestion @.PrimaryQuestion Excel\Questionário\Pergunta\SequenceNumber @.SequenceNumber Excel\Questionário\Pergunta\Texto @.Text Excel\Questionário\Pergunta\Resposta @.Answer Excel\Questionário\Pergunta\Resposta\CorrectAnswer @.CorrectAnswer, onde @ é model.Questionnaire.Answer Excel\Questionário\Pergunta\Resposta\Pontos @.Points Excel\Questionário\Pergunta\Resposta\Texto @.Text Quando terminar, selecione Salvar.
A ilustração a seguir mostra o estado final de associações de dados configuradas na página Designer de formato.
Importante
Toda a coleção de fontes de dados e associações especificadas representa um componente de mapeamento de formato do formato configurado. Esse mapeamento de formato é chamado quando você executa o formato configurado para a geração de relatórios.
Executar um formato criado a partir do ER
Agora você pode executar um formato criado para fins de teste na página Configurações.
- Acesse Administração da organização>Relatório eletrônico>Configurações.
- Na página Configuração, na árvore de configurações, expanda Modelo de questionário e selecione Relatório de questionário.
- Selecione Designer para a versão de formato que tem um status Rascunho.
- Na página Designer de formato, selecione Executar.
- Na caixa de diálogo Parâmetros de ER, na FastTab Registros a serem incluídos, configure a opção de filtragem para que somente o questionário SBCCrsExam seja incluído.
- Selecione OK para confirmar a opção de filtragem.
- Selecione OK para executar o relatório.
- Revise o relatório gerado.
Por padrão, um relatório gerado é entregue como um arquivo do Excel que pode ser baixado. As ilustrações a seguir mostram duas páginas do relatório gerado no formato Excel.
Ajustar um formato criado
Modificar um formato para alterar o nome de um documento gerado
Por padrão, um documento gerado é nomeado usando o alias do usuário atual. Ao modificar o formato, você pode alterar esse comportamento para que um documento gerado seja nomeado com base na lógica personalizada. Por exemplo, o nome de um documento gerado pode se basear na data e na hora da sessão atual e no título do relatório.
- Na página Designer de formato, selecione o item de raiz Relatório.
- Na guia Mapeamento, selecione Editar nome do arquivo.
- No campo Fórmula, insira CONCATENATE (@"GER‑LABEL:ReportTitle", " - ", DATETIMEFORMAT(SESSIONNOW(), "aaaa-MM-dd hh-mm-ss")).
- Selecione Salvar e feche o editor de fórmula.
- Selecione Salvar.
Modificar um formato para alterar a ordem das perguntas
As perguntas não são ordenadas corretamente em um relatório gerado. Você pode alterar a ordem modificando o formato.
Na página Designer de formato, selecione o item de raiz Relatório.
Na guia Mapeamento, na árvore de formatos, expanda Relatório\Questionário\Pergunta.
Na guia Mapeamento, selecione model.Questionnaire.
Selecione Adicionar>Funções\Campo calculado e, no campo Nome, insira OrderedQuestions.
Selecione Editar fórmula.
No editor de fórmulas, no campo Fórmula, insira ORDERBY (model.Questionnaire.Question, model.Questionnaire.Question.SequenceNumber) para ordenar a lista de perguntas do questionário atual pelo número da ordem de sequência.
Selecione Salvar e feche o editor de fórmula.
Selecione OK para concluir a entrada de um novo campo calculado.
Na guia Mapeamento, selecione model.Questionnaire.OrderedQuestions.
Na árvore de formatos, selecione Excel\Questionário\Pergunta.
Selecione Associar e confirme se o caminho model.Questionnaire.Questions atual é substituído pelo novo caminho model.Questionnaire.OrderedQuestions em todas as associações de elementos aninhados.
Selecione Salvar.
Executar um formato modificado a partir de ER
Agora você pode executar um formato modificado para fins de teste a partir da estrutura de ER.
- Na página Designer de formato, selecione Executar.
- Na caixa de diálogo Parâmetros de ER, na FastTab Registros a serem incluídos, configure a opção de filtragem para que somente o questionário SBCCrsExam seja incluído.
- Selecione OK para confirmar a opção de filtragem.
- Selecione OK para executar o relatório.
- Revise o relatório gerado.
A ilustração a seguir mostra um relatório gerado no formato Excel, no qual as perguntas estão corretamente ordenadas.
Concluir a criação do formato
- Acesse Administração da organização>Relatório eletrônico>Configurações.
- Na página Configurações, na árvore de configurações, expanda Modelo de questionário e selecione Relatório de questionário.
- Na FastTab Versões, selecione a versão de configuração com o status Rascunho.
- Selecione Alterar status>Concluir.
O status da versão 1.1 dessa configuração é alterado de Rascunho para Concluído. A versão 1.1 não pode mais ser alterada. Esta versão contém o formato configurado e pode ser usada para imprimir o relatório personalizado. A versão 1.2 dessa configuração é criada e tem um status Rascunho. Você pode editar esta versão para ajustar a formatar o relatório Questionário.
Observação
O formato configurado é o design do relatório Questionário e não contém relações com artefatos específicos do Finance.
Desenvolver artefatos de aplicativos para chamar o relatório criado
Como um usuário na função Administrador do sistema, você deve desenvolver uma nova lógica para que o formato ER configurado possa ser chamado a partir da interface do usuário do aplicativo (IU) para gerar o relatório personalizado. No momento, o ER não oferece recursos para a configuração desse tipo de lógica. Portanto, é necessário algum trabalho de engenharia.
Para desenvolver a nova lógica, você deve implantar uma topologia que dê suporte à compilação contínua. Para obter mais informações, consulte Implantar topologias que dão suporte à contínua automação de compilações e testes. Você também deve ter acesso ao ambiente de desenvolvimento para essa topologia. Para obter mais informações sobre a API de ER disponível, consulte API da estrutura de ER.
Modificar o código-fonte
Adicionar uma classe de contrato de dados
Adicione a nova classe QuestionnairesErReportContract ao projeto Microsoft Visual Studio e escreva o código que especifica o contrato de dados que deve ser usado para executar o formato ER configurado.
/// <summary>
/// This class is the data contract class for the <c>QuestionnairesErReportDP</c> class.
/// </summary>
/// <remarks>
/// This is the data contract class for the Questionnaires ER report.
/// </remarks>
[
DataContractAttribute,
SysOperationContractProcessingAttribute(classStr(QuestionnairesErReportUIBuilder))
]
public class QuestionnairesErReportContract extends ERFormatMappingRunBaseContract implements SysOperationValidatable
{
ERFormatMappingId formatMapping;
/// <summary>
/// Validates the report parameters.
/// </summary>
/// <returns>
/// true if no errors; otherwise, false.
/// </returns>
public boolean validate()
{
boolean ret = true;
if (!formatMapping)
{
ret = checkFailed(strFmt("@SYS26332", new SysDictType(extendedTypeNum(ERFormatMappingId)).label()));
}
return ret;
}
[
DataMemberAttribute('FormatMapping'),
SysOperationLabelAttribute(literalstr("@ElectronicReporting:FormatMapping")),
SysOperationHelpTextAttribute(literalstr("@ElectronicReporting:FormatMapping"))
]
public ERFormatMappingId parmFormatMapping(ERFormatMappingId _formatMapping = formatMapping)
{
formatMapping = _formatMapping;
return formatMapping;
}
}
Adicionar uma classe do construtor de interface de usuário
Adicione a nova classe QuestionnairesErReportUIBuilder ao projeto do Visual Studio e escreva o código para gerar uma caixa de diálogo em tempo de execução que será usada para pesquisar a ID de mapeamento do formato do formato de ER que deve ser executado. O código fornecido pesquisa somente os formatos de ER que contêm uma fonte de dados do tipo Modelo de dados, que se refere ao modelo de dados Questionários, por meio do uso da definição Raiz.
Observação
Como alternativa, você pode usar os pontos de integração de ER para filtrar os formatos de ER. Para obter mais informações, consulte API para mostrar uma pesquisa de mapeamento de formato.
/// <summary>
/// The UIBuilder class for Questionnaires ER report
/// </summary>
class QuestionnairesErReportUIBuilder extends SysOperationAutomaticUIBuilder
{
public const str ERQuestionnairesModel = 'Questionnaires';
public const str ERQuestionnairesDataContainer = 'Root';
/// <summary>
/// Action after build of the dialog UI.
/// </summary>
public void postBuild()
{
DialogField formatMapping;
super();
formatMapping = this.bindInfo().getDialogField(this.dataContractObject(),
methodStr(QuestionnairesErReportContract, parmFormatMapping));
formatMapping.registerOverrideMethod(
methodStr(FormReferenceControl, lookupReference),
methodStr(QuestionnairesErReportUIBuilder, formatMappingLookup),
this);
}
/// <summary>
/// Performs the lookup form for format mapping.
/// </summary>
/// <param name="_referenceGroupControl">
/// The control to perform lookup form.
/// </param>
public void formatMappingLookup(FormReferenceControl _referenceGroupControl)
{
ERObjectsFactory::createFormatMappingTableLookupForControlAndModel(
_referenceGroupControl,
ERQuestionnairesModel,
ERQuestionnairesDataContainer).performFormLookup();
}
}
Adicionar uma classe de provedor de dados
Adicione a nova classe QuestionnairesErReportDP ao projeto Visual Studio e escreva o código que apresenta o provedor de dados que deve ser usado para executar o formato de ER configurado. O código fornecido inclui somente o contrato de dados deste provedor de dados.
/// <summary>
/// Data provider class for Questionnaires ER report.
/// </summary>
public class QuestionnairesErReportDP
{
QuestionnairesErReportContract contract;
public static QuestionnairesErReportDP construct()
{
QuestionnairesErReportDP dataProvider;
dataProvider = new QuestionnairesErReportDP();
return dataProvider;
}
}
Adicionar um arquivo de rótulos
Adicione o novo arquivo de rótulos QuestionnairesErReportLabelsen-US ao projeto do Visual Studio e especifique os rótulos a seguir para novos recursos da interface do usuário:
- O rótulo @QuestionnairesReport de um novo item de menu que contém o seguinte texto em inglês dos EUA (en-US): Relatório Questionários (alimentado pelo ER)
- O rótulo @QuestionnairesReportBatchJobDescription de um cargo de lote se um formato de ER selecionado for agendado para execução como um trabalho em lotes
Adicionar uma classe de serviço de relatório
Adicione a nova classe QuestionnairesErReportService ao projeto do Visual Studio e escreva o código que chama um formato de ER, o identifica por uma ID de mapeamento de formato e fornece um contrato de dados como um parâmetro.
using Microsoft.Dynamics365.LocalizationFramework;
/// <summary>
/// The electronic reporting service class for Questionnaires ER report
/// </summary>
class QuestionnairesErReportService extends SysOperationServiceBase
{
public const str ERModelDataSourceName = 'model';
public const str DefaultExportedFileName = 'Questionnaires report';
public const str ParametersDataSourceName = 'RunTimeParameters';
/// <summary>
/// Generates report by using Electronic reporting framework
/// </summary>
/// <param name = "_contract">The Questionnaires report contract</param>
public void generateReportByGER(QuestionnairesErReportContract _contract)
{
ERFormatMappingId formatMappingId;
QuestionnairesErReportDP dataProvider;
dataProvider = QuestionnairesErReportDP::construct();
formatMappingId = _contract.parmFormatMapping();
if (formatMappingId)
{
try
{
ERIModelDefinitionParamsAction parameters = new ERModelDefinitionParamsUIActionComposite()
.add(new ERModelDefinitionObjectParameterAction(ERModelDataSourceName, ParametersDataSourceName, _contract, true));
// Call ER to generate the report.
ERIFormatMappingRun formatMappingRun = ERObjectsFactory::createFormatMappingRunByFormatMappingId(formatMappingId, DefaultExportedFileName);
if (formatMappingRun.parmShowPromptDialog(true))
{
formatMappingRun.withParameter(parameters);
formatMappingRun.withFileDestination(_contract.getFileDestination());
formatMappingRun.run();
}
}
catch
{
// An error occurred while exporting data.
error("@SYP4861341");
}
}
else
{
// There is no data available.
info("@SYS300117");
}
}
}
Quando você precisa usar um formato de ER que executa dados de aplicativo, deve configurar uma fonte de dados do tipo Modelo de dados no mapeamento de formato. Essa fonte de dados se refere a uma parte específica do modelo de dados especificado usando uma única definição de raiz. Quando o formato de ER é executado, ele chama essa fonte de dados para acessar o mapeamento do modelo de ER apropriado configurado para determinada definição de modelo e raiz.
Todas as informações que você pode preparar no código-fonte e no armazenamento como parte do contrato de dados podem ser passadas para o formato de ER em execução usando um mapeamento do modelo de ER deste tipo. No mapeamento do modelo de ER, você deve configurar uma fonte de dados do tipo Objeto que se refere à classe QuestionnairesErReportContract. Para identificar um mapeamento de modelos, você deve especificar uma fonte de dados que chame esse mapeamento de modelo. No código fornecido, essa fonte de dados especificada pela constante ERModelDataSourceName que tem o valor do modelo. Para identificar qual fonte de dados é usada para expor o contrato de dados no mapeamento do modelo, você deve especificar um nome de fonte de dados. No código fornecido, esse nome é especificado pela constante ParametersDataSourceName que tem o valor RunTimeParameters.
Observação
Em um novo ambiente, talvez seja necessário atualizar os metadados ER para que esse tipo de classe esteja disponível no designer de mapeamento do modelo ER. Para obter mais informações, consulte Configurar a estrutura do ER.
Adicionar uma classe de controlador de relatório
Adicione a nova classe QuestionnairesErReportController ao projeto do Visual Studio e escreva o código que executa um formato de ER no modo síncrono ou no modo de lotes, como preferir, na caixa de diálogo criada com base na lógica da classe QuestionnairesErReportUIBuilder fornecida.
/// <summary>
/// The controller for Questionnaires ER report
/// </summary>
class QuestionnairesErReportController extends ERFormatMappingRunBaseController
{
/// <summary>
/// The main entrance of the controller
/// </summary>
/// <param name = "args">The arguments</param>
public static void main(Args args)
{
QuestionnairesErReportController operation;
operation = new QuestionnairesErReportController(
classStr(QuestionnairesErReportService),
methodStr(QuestionnairesErReportService, generateReportByGER),
SysOperationExecutionMode::Synchronous);
operation.startOperation();
}
/// <summary>
/// Gets caption of the dialog.
/// </summary>
/// <returns>Caption of the dialog</returns>
public ClassDescription defaultCaption()
{
ClassDescription batchDescription;
batchDescription = "Questionnaires report (powered by ER)";
return batchDescription;
}
}
Adicionar um item de menu
Adicione o novo item de menu QuestionnairesErReport ao projeto do Visual Studio. Na propriedade Objeto, esse item de menu se refere à classe QuestionnairesErReportController e é usado para especificar uma permissão de usuário para selecionar e executar um formato de ER. Na propriedade Rótulo, esse item de menu se refere ao rótulo @QuestionnairesReport que você criou anteriormente, de forma que o texto correto seja apresentado na interface do usuário do aplicativo.
Adicionar um item de menu a um menu
Adicione o menu KM existente ao projeto do Visual Studio. Você deve adicionar um novo item QuestionnairesErReport do tipo Saída a este menu. Este item deve se referir ao item de menu QuestionnairesErReport descrito na seção anterior.
Criar um projeto do Visual Studio
Crie seu projeto para disponibilizar um novo item de menu para os usuários.
Executar um formato do aplicativo
Acesse Questionário>Design>Relatório Questionários (alimentado pelo ER).
Na caixa de diálogo, no campo Mapeamento de formato, selecione relatório Questionários.
Selecione OK.
Na caixa de diálogo Parâmetros de relatório eletrônico, na FastTab Registros a serem incluídos, configure a opção de filtragem para que somente o questionário SBCCrsExam seja incluído.
Selecione OK para confirmar a opção de filtragem.
Selecione OK para executar o relatório.
Revise o relatório gerado.
Ajustar uma solução de ER criada
Você pode modificar a solução de ER configurada de forma que use a classe de provedor de dados que desenvolveu para acessar detalhes da execução do formato de ER e para que ela insira o nome do formato de ER em um relatório gerado.
Modificar um mapeamento de modelo
Adicionar fontes de dados para acessar um objeto de contrato de dados
- Acesse Administração da organização>Relatório eletrônico>Configurações.
- Na página Configurações, na árvore de configurações, expanda Modelo de questionário e selecione Mapeamento de questionário.
- Selecione Designer para abrir a página Modelo para mapeamento de fonte de dados.
- Selecione Designer para abrir o mapeamento selecionado no designer de mapeamento de modelo.
- Na página Designer de mapeamento de modelo, no painel Tipos de fontes de dados, selecione Dynamics 365 for Operations\Objeto.
- No painel Fontes de dados, selecione Adicionar raiz.
- Na caixa de diálogo, no campo Nome, insira RunTimeParameters, conforme definido no código-fonte da classe QuestionnairesErReportService.
- No campo Classe, insira QuestionnairesErReportContract, que foi codificado anteriormente.
- Selecione OK.
- Expanda RunTimeParameters.
A fonte de dados adicionada fornece informações sobre a ID de registro do mapeamento de formato de ER em execução.
Adicionar uma fonte de dados para acessar registros de mapeamento de formato de ER
Continue para editar o mapeamento de modelos selecionado, adicionando uma fonte de dados para acessar registros de mapeamento de formato de ER.
- Na página Designer de mapeamento de modelo, no painel Tipos de fontes de dados, selecione Dynamics 365 for Operations\Registros de tabela.
- No painel Fontes de dados, selecione Adicionar raiz.
- Na caixa de diálogo, no campo Nome , insira ER1.
- No campo Tabela, insira ERFormatMappingTable.
- Selecione OK.
Adicionar uma fonte de dados para acessar um registro de mapeamento de formato de um formato de ER em execução
Continue para editar o mapeamento de modelos selecionado, adicionando uma fonte de dados para acessar o registro de mapeamento do formato de ER em execução.
- Na página Designer de mapeamento de modelo, no painel Tipos de fontes de dados, selecione Funções\Campo calculado.
- No painel Fontes de dados, selecione Adicionar raiz.
- Na caixa de diálogo, no campo Nome , insira ER2.
- Selecione Editar fórmula.
- No editor de fórmulas, no campo Fórmula, insira FIRSTORNULL (FILTER(ER1, ER1.RecId = RunTimeParameters.parmFormatMapping)).
- Selecione Salvar e feche o editor de fórmula.
- Selecione OK.
Inserir o nome do formato de ER em execução no modelo de dados
Continue para editar o mapeamento de modelo selecionado, de forma que o nome do formato ER em execução seja inserido no modelo de dados.
- Na página Designer de mapeamento de modelo, no painel Modelo de dados, expanda ExecutionContext e selecione ExecutionContext\FormatName.
- No painel Modelo de dados, selecione Editar para configurar uma associação de dados para o campo do modelo de dados selecionado.
- No editor de fórmulas, no campo Fórmula, insira FIRSTORNULL (ER2.'>Relations'.Format).Name.
- Selecione Salvar e feche o editor de fórmula.
Como você utilizou o campo FormatName, o mapeamento do modelo configurado agora expõe o nome de um formato de ER que chama esse mapeamento de modelo durante a execução.
Concluir o design de mapeamento de modelo
- Na página Designer de mapeamento de modelo, selecione Salvar.
- Feche a página.
- Feche a página de mapeamentos de modelo.
- Na página Configurações, na árvore de configurações, verifique se a configuração de Mapeamento de questionário ainda está selecionada. Na FastTab Versões, selecione a versão de configuração com o status Rascunho.
- Selecione Alterar status>Concluir.
O status da versão 1.2 dessa configuração é alterado de Rascunho para Concluído. A versão 1.2 não pode mais ser alterada. Esta versão contém o mapeamento de modelo configurado e pode ser usada como base para outras configurações de ER. A versão 1.3 dessa configuração é criada e tem um status Rascunho. Você pode editar esta versão para ajustar o mapeamento de modelo Questionário.
Modificar um formato
Você pode modificar o formato de ER configurado de forma que o nome dele apareça no rodapé de um relatório que é gerado quando o formato de ER é executado.
Adicionar um novo elemento de formato
- Acesse Administração da organização>Relatório eletrônico>Configurações.
- Na página Configurações, na árvore de configurações, expanda Modelo de questionário e selecione Relatório de questionário.
- Selecione Designer.
- Na página Designer de formato, selecione o item de raiz Relatório.
- Selecione Adicionar para adicionar um novo elemento de formato aninhado ao item raiz Relatório selecionado.
- Selecione Excel\Rodapé.
- No campo Nome, insira Rodapé.
- Selecione Relatório\Rodapé e, depois, Adicionar.
- Selecione Texto\Cadeia de caracteres.
Vincular o elemento de formato adicionado
- Na página Designer de formato, na guia Mapeamento, selecione a árvore de formatos para o elemento Rodapé\Cadeia de caracteres ativo e selecione Editar fórmula
- No editor de fórmulas, no campo Fórmula, insira CONCATENATE ("&C&10", FORMAT("Generated by'%1' ER solution", model.ExecutionContext.FormatName)).
- Selecione Salvar e feche o editor de fórmula.
- Selecione Salvar.
O formato configurado foi modificado para que o nome dele seja inserido no rodapé de um relatório gerado usando o elemento Rodapé\Cadeia de caracteres.
Concluir a criação do formato
- Feche a página Designer de formato.
- Na página Configurações, na árvore de configurações, verifique se a configuração de Relatório de questionário ainda está selecionada. Na FastTab Versões, selecione a versão de configuração com o status Rascunho.
- Selecione Alterar status>Concluir.
O status da versão 1.2 dessa configuração é alterado de Rascunho para Concluído. A versão 1.2 não pode mais ser alterada. Esta versão contém o formato configurado e pode ser usada como base para outras configurações de ER. A versão 1.3 dessa configuração é criada e tem um status Rascunho. Você pode editar esta versão para ajustar o relatório Questionário.
Executar um formato do aplicativo
- Acesse Questionário>Design>Relatório Questionários (alimentado pelo ER).
- Na caixa de diálogo, no campo Mapeamento de formato, selecione relatório Questionários.
- Selecione OK.
- Na caixa de diálogo Parâmetros de ER, na FastTab Registros a serem incluídos, configure a opção de filtragem para que somente o questionário SBCCrsExam seja incluído.
- Selecione OK para confirmar a opção de filtragem.
- Selecione OK para executar o relatório.
- Revise o relatório gerado no formato Excel.
Observe que o rodapé do relatório gerado contém o nome do formato de ER que foi usado para gerá-lo.
Executar um formato de ER
- Acesse Administração da organização>Relatório eletrônico>Configurações.
- Na página Configurações, na árvore de configurações, expanda Modelo de questionário e selecione Relatório de questionário.
- No Painel de Ação, selecione Executar.
- Na caixa de diálogo Parâmetros de relatório eletrônico, na FastTab Registros a serem incluídos, configure a opção de filtragem para que somente o questionário SBCCrsExam seja incluído.
- Selecione OK para confirmar a opção de filtragem.
- Selecione OK para executar o relatório.
- Revise o relatório gerado no formato Excel.
Observe que o rodapé do relatório gerado não contém o nome do formato de ER que foi usado para gerá-lo, pois o objeto de contrato de dados não foi passado para o mapeamento do modelo em execução quando ele foi chamado pelo formato de ER executado a partir de ER.
Configurar um destino de formato para versão prévia na tela
- Acesse Administração da organização>Relatório eletrônico>Destino de relatório eletrônico.
- Na página Destino do relatório eletrônico, adicione um registro de destino para o formato de ER configurado para o formato de ER Relatório de questionário.
- Na Guia Rápido Destino do arquivo, configure o destinoda Tela para o componente de formato de Relatório que foi adicionado como o elemento-raiz do formato de ER do Relatório Questionário configurado.
- Na FastTab Configurações de conversão de PDF, configure o destino para converter um relatório em formato PDF que usa a orientação de página Paisagem.
Executar um formato do aplicativo para visualizá-lo como um documento PDF
Acesse Questionário>Design>Relatório Questionários (alimentado pelo ER).
Na caixa de diálogo, no campo Mapeamento de formato, selecione relatório Questionários.
Selecione OK.
Na caixa de diálogo Parâmetros de relatório eletrônico, na FastTab Registros a serem incluídos, configure a opção de filtragem para que somente o questionário SBCCrsExam seja incluído.
Selecione OK para confirmar a opção de filtragem.
Na FastTab Destinos, observe que o campo Saída está definido como Tela. Se desejar alterar o destino configurado, selecione Alterar.
Selecione OK para executar o relatório.
Revise o relatório gerado no formato PDF.