Controle de Filtro
O Filtro para pesquisas, em vários relatórios, utiliza uma interface simples, intuitiva e de fácil usabilidade. Os itens seguintes apresentam estas funcionalidades com mais detalhes.
Aba Tags
Essa sessão foi dividida em 5 partes destacadas em vermelho na imagem abaixo.
Funcionalidade de filtro da árvore de tags por categorias. Ao selecionar as categorias no combo box a árvore irá mostrar apenas as tags das categorias selecionadas.
Funcionalidade de filtro da árvore de tags por nome. Três opções de pesquisa:
Digitar apenas um texto. A pesquisa será feita buscando tags que iniciam com esse texto.
Inserir o texto entre o caractere %. A pesquisa será feita buscando tags que contém esse texto. Exemplo: %CT%
Inserir N textos entre o caractere %. A pesquisa será feita buscando tags que contém todos os textos. Exemplo: %CT%83%
Ao assinalar a check box dos nós da árvore de tags. Elas iram ser selecionadas e mostradas no grid.
Funcionalidade de salvar filtros.
Combo box mostra os filtros salvos. Ao selecionar um filtro, o mesmo será carregado.
Botão novo insere um novo filtro. O nome do mesmo será questionado ao usuário.
Botão Excluir excluirá o filtro selecionado.
Botão Limpar reseta toda a tela para configuração inicial.
Botão Filtrar executa o filtro na tela em que foi aberto.
Observação: Se o total de tags individuais incluídos na consulta exceder a 100 a consulta não será executada. Neste caso deve-se refinar a seleção.
Data / Hora
Nessa sessão o usuário tem a opção de filtrar por data/hora inicial e final. E em algumas telas a opção de filtro por intervalo hora: minuto também é mostrada.
Historian
Essa sessão está disponível apenas para o histórico de medidas. Nela, o usuário tem a opção de mostrar o Mínimo, Máximo e Média do filtro selecionado, assim como a data e hora da ocorrência dos máximos e mínimos. Para mostrar esses dados, basta selecionar a opção desejada na aba 'Historian' e em seguida clicar no botão de filtrar. Apenas históricos com qualidade igual a 192 (quando a tabela de históricos está configurada para salvar a qualidade) e históricos com valores não nulos são computados.
A tabela abaixo exemplifica a seleção das três caixas (máximo, média e mínimo) e a forma que os dados são mostrados para o usuário após a aplicação do filtro.
Também no histórico de medidas, quando a tabela de históricos estiver configurada para salvar a qualidade, os resultados que tiverem a qualidade diferente de 192 terão um risco em seu valor, para alertar o usuário do relatório de medidas se os valores mostrados em tela são confiáveis ou se no momento em que foram gravados havia algum problema em relação a comunicação com o campo que possa ter causado uma má qualidade dos dados. Um exemplo de um caso de má qualidade é mostrado abaixo:
Aplicação de filtro
Tela | Tag | Tipo |
| Tag.zz_system.HistEvents.TagsFilterSQL | Text |
Tag.zz_system.HistEvents.DateFilter.StartDateTime | DateTime | |
Tag.zz_system.HistEvents.DateFilter.FinishDateTime | DateTime | |
AN_HistoricMeasuresQuery | Tag.zz_system.GenericFilter.HistoricMeasures | DataTable |
AN_TagsSummary | Tag.zz_system.TagsSummary.LastRefreshTime | DateTime |
Tag.zz_system.TagsSummary.GridDataSource | DataTable | |
AN_TrendsScreen | Tag.zz_system.NewPens[].PenLabel | Text |
Tag.zz_system.NewPens[].TagName | Text | |
Tag.zz_system.NewPens[].Visible | Digital | |
Tag.zz_system.NewTrend.StartDateTime | DateTime | |
Tag.zz_system.NewTrend.Duration | TimeSpan |
Serviço Custom Export - Alarmes
Apresentação
Este é um serviço de exportação customizado de alarmes que pode ser utilizado em substituição a funcionalidade de exportação do controle tAlarmWindow. Utiliza construção de strings com uso de um delimitador específico ("|") e criação de arquivo em disco a partir de uma tabela de alarmes. Utiliza um método robusto e é ideal para uso em operações de exportação de pesquisas com mais de 100 mil registros.
Utiliza como tags de apoio as tags Tag.ZZ_System.Export.ExportingStatus e Tag.ZZ_System.Export.IsExportRunningFlag.
Estas tags podem ser utilizadas para demonstrar o status da operação de exportação.
Como usar
No codebehind da tela selecionada para o uso da exportação, insira a definição de uma variável do tipo SPIN.ActionNet.Service.Wpf, SPIN.ActionNet.Biz e System.Threading.Tasks.
No método responsável pela chamada da exportação, faça a chamada do método ExportAlarmToCsvAsync para chamada em modo assíncrono ou ExportAlarmToCsv para chamada em modo síncrono.
Estes métodos têm como parâmetros a serem passados um DataTable que corresponda a tabela de alarmes do Action.Net, uma flag indicando se deve haver atualização de valor para uso como valor de estado (EnumerationSets) e o nome de uma tag para atualização de mensagens de status.
Dica
A quantidade total de elementos selecionados a serem exportados é relativa à quantidade de memória principal instalada e disponível no computador do usuário (ram), portanto caso seja observado que foi selecionada uma quantidade de elementos inferior ao limite do excel e a exportação resultar em uma quantidade inferior à selecionada, deve ser feita essa exportação em mais de uma etapa ou o upgrade do hardware do computador.
Para pesquisas na tabela de alarme do projeto, recomenda-se o uso de uma Dataset Query. No código acima, foi usada uma query denominada ExportAlms.
Mostrando o status
Para mostrar uma barra de progresso com o status da operação de exportação, crie um retângulo na tela e dentro do mesmo insira um controle TextBlock como mostrado abaixo:
Configure as dinâmicas do controle retângulo como mostrado nas figuras abaixo.
Para as dinâmicas do controle TextBlock, configure-as como mostrado a seguir:
Abrindo o arquivo csv
Para exibição dos dados do arquivo csv, abra o excel e na aba "Dados", clique no botão "De texto".
Selecione o arquivo csv exportado. O assistente de importação de texto abrirá. Selecione como origem do arquivo a opção "¨5001: Unicode (UTF-8).
Clique em avançar. Na janela seguinte, selecione como delimitador o caractere de barra vertical ("|").
Conclua a importação de dados pelo assistente clicando no botão "Avançar".
Para colunas de data / hora, clique no cabeçalho da coluna com o botão direito e selecione a opção "Formatar células...". Selecione a opção personalizado e na caixa de texto "Tipo" insira a formatação "dd/mm/aaaa hh:mm:ss,000". Clique no botão "OK" para finalizar.
Observação: Para a visualização, o Excel é limitado a 1,048,576 linhas e 16,384 colunas.
Serviço Custom Export - Históricos de Medidas
Apresentação
Este é um serviço de exportação customizado de medidas de históricos que pode ser utilizado em substituição a funcionalidade de exportação padrão csv. Utiliza como entrada da função apenas uma string que contém o diretório, nome e formato (.xml) do arquivo a ser salvo. A criação do arquivo em disco é feita a partir da tabela de históricos, tag zz_system.GenericFilter.HistoricMeasures.
Como usar
No codebehind da tela selecionada para o uso da exportação, insira a definição de uma variável do tipo SPIN.ActionNet.Biz.
Em seguida, dentro de alguma função, basta declarar em alguma variável do tipo 'string' o diretório, nome e formato (.xml) do arquivo a ser salvo, e passar para a chamada da função MeasuresBiz.ExportXmlMeasures() essa string, como no exemplo abaixo:
string fileName = @"C:\Users\username.SPINENGENHARIA\Desktop\Medida.xml" MeasuresBiz.ExportXmlMeasures(fileName);
Abrindo o arquivo xml
Após salvar a tabela de medidas de históricos com a função MeasuresBiz.ExportXmlMeasures(), basta abrir o arquivo com o excel. Ao abrir, irá aparecer uma mensagem perguntando de qual forma deve ser aberto o arquivo. Selecione a opção de abrir o arquivo como uma tabela xml e na próxima pergunta clique 'Ok', na opção de criar um schema para o arquivo.
Por fim, será exibido os dados do arquivo salvo normalmente, exemplificado abaixo:
Nesta página: