Manuais
PHC GO Como criar uma análise de registo
 
Uma análise de registo constitui uma análise que apenas pode ser acedida/executada a partir de um registos de um ecrã (ex: a partir da consulta de um registo do ecrã de Clientes), ao invés de uma Análise Global que pode ser acedida/executada a partir do menu Análises e Listagens.

Para melhor entendimento de como criar criar uma análise de registo, iremos abordar neste tópico, um exemplo prático de criação de uma análise de Encomendas a fornecedor deste artigo, que estará disponível exclusivamente a partir do ecrã de Artigos quando estiver a consultar um registo desse ecrã.

Iniciaremos com a explicação em detalhe da configuração da análise de registo, para depois terminarmos com a execução da mesma.

Configuração da análise de registo


1. Configuração da análise registo



  1. Aceda ao menu localizado no lado esquerdo da página, e navegue até Configuração de análises ( Menu > Definições > Reporting );

  2. Pressione o botão Introduza configuração de análise;

  3. Preencha os seguintes campos:
     
    • Descrição da análise: Encomendas a fornecedor deste artigo

    • Grupo: Fornecedores e compras
    • Nota

      O Campo Descrição da análise representa o título que a análise irá assumir. O campo Grupo serve para determinar em que agrupador se vai localizar a análise dentro do ecrã de Artigos e Serviços.
    • Tipo: Normal
    • Notas

      Tem a possibilidade de construir até 6 Tipos de Análises, para mais informações sobre a forma como cada uma é configurada clique no link respetivo.


      • Normal

        Análises tipicamente construídas através de uma Expressão SQL ou através de programa em linguagem VB.NET.


      • Anual

        Análises para verificar o comportamento anual de uma entidade, por exemplo, a rentabilidade anual da empresa.


      • Mensal

        Análises para observar o comportamento de determinadas variáveis ao mês.


      • Extrato

        Análises para avaliar a evolução de um conjunto de movimentos com a apresentação do respetivo saldo.


      • Comparação Anual

        Análises que exibem dados comparativos entre dois anos selecionados pelo utilizador.


      • Ranking

        Análises que comparam dados num período de datas definido com um período homólogo, exibindo os dados ordenados por importância.

    • No separador Detalhes preenchemos o campo Descrição completa, com uma descrição sucinta do âmbito da análise. Na prática, esta descrição virá refletida quando executar a análise e passar com o cursor do rato sobre o icone localizado à direita do nome da análise.

    • É uma análise de registo: Sim

    • É uma análise de ecrã: Sim
    • Nota

      Se o campo É análise de ecrã estiver ativado, então irá determinar que se trata de uma análise associada a um ecrã. Caso o campo esteja desativado, então a análise será considerada global, ou seja, que pode ser executada a partir do menu Análises e Listagens sem depender de nenhum ecrã.

    • Ecrã: Artigos e Serviços

    • Plano mínimo: Selecionar o plano Corporate
    • Nota

      A seleção do Plano Corporate prende-se com o facto que só a partir deste plano do PHC GO se tem acesso a gestão de fornecedores e seus documentos.

  4. Abra o separador Dados iniciais, neste local é onde se definem os filtros que a análise irá ter uma vez acedida. Caso não tenha dados iniciais, então a análise uma vez acedida é desde logo executada sem qualquer tipo de condição. No exemplo iremos preencher com os seguintes valores:


  5. No separador Normal, preencher os seguintes dados:

    • É uma expressão SQL: Sim

    • Código:

    • 
      if '#1#'='Todas'
      select bo.bostamp as stamp,bo.dataobra as dataobra,ano=year(bo.dataobra),
      nomedoc=bo.nmdos+' '+CAST(bo.obrano AS VARCHAR (10)),
      case when bo.estab>0 then ltrim(rtrim(bo.nome))+' - '+
      convert(varchar(10),bo.no)+' - '+
      convert(varchar(10),bo.estab)
      else bo.nome+ ' - ' +convert(varchar(10),bo.no)
      end as nome,
      bi.ref,qtt=sum(bi.qtt),
      ettdeb=sum((case when bi.ivaincl='1' then (bi.edebito/(iva/100)+1)
      else bi.edebito end)*bi.qtt),
      case fechada when 0 then 'Aberto'
      else 'Fechado'
      end estado
      from bo (nolock)
      inner join bi (nolock) on bi.bostamp=bo.bostamp
      inner join st (nolock) on st.ref=bi.ref
      where bi.resfor=1 and year(bo.dataobra)='#2#'
      and st.ststamp='#STAMP#' and bo.anulada=0
      group by bo.bostamp,bo.nmdos,bo.obrano,bo.nome,bo.estab,
      bo.no, bo.dataobra,bi.ref, bo.fechada
      order by bo.dataobra,bo.nmdos,bo.obrano

      if '#1#'='Fechadas'
      select bo.bostamp as stamp,bo.dataobra as dataobra, ano=year(bo.dataobra),
      nomedoc=bo.nmdos+' '+CAST(bo.obrano AS VARCHAR (10)),
      case when bo.estab>0 then ltrim(rtrim(bo.nome))+' - '+
      convert(varchar(10),bo.no)+' - '+
      convert(varchar(10),bo.estab)
      else bo.nome+ ' - ' +convert(varchar(10),bo.no)
      end as nome,bi.ref,qtt=sum(bi.qtt),
      ettdeb=sum((case when bi.ivaincl='1' then (bi.edebito/(iva/100)+1)
      else bi.edebito end)*bi.qtt),
      case fechada when 0 then 'Aberto'
      else 'Fechado' end estado
      from bo (nolock)
      inner join bi (nolock) on bi.bostamp=bo.bostamp
      inner join st (nolock) on st.ref=bi.ref
      where bi.resfor=1 and bo.fechada=1 and year(bo.dataobra)='#2#'
      and st.ststamp='#STAMP#' and bo.anulada=0
      group by bo.bostamp,bo.nmdos,bo.obrano,bo.nome,bo.estab,
      bo.no, bo.dataobra,bi.ref, bo.fechada
      order by bo.dataobra,bo.nmdos, bo.obrano

      if '#1#'='Abertas'
      select bo.bostamp as stamp,bo.dataobra as dataobra,ano=year(bo.dataobra),
      nomedoc=bo.nmdos+' '+CAST(bo.obrano AS VARCHAR (10)),
      case when bo.estab>0 then ltrim(rtrim(bo.nome))+' - '+
      convert(varchar(10),bo.no)+' - '+
      convert(varchar(10),bo.estab)
      else bo.nome+ ' - ' +convert(varchar(10),bo.no)
      end as nome,bi.ref,qtt=sum(bi.qtt),
      ettdeb=sum((case when bi.ivaincl='1' then (bi.edebito/(iva/100)+1)
      else bi.edebito end)*bi.qtt),
      case fechada when 0 then 'Aberto'
      else 'Fechado'
      end estado
      from bo (nolock)
      inner join bi (nolock) on bi.bostamp=bo.bostamp
      inner join st (nolock) on st.ref=bi.ref
      where bi.resfor=1 and bo.fechada<>1
      and year(bo.dataobra)='#2#'
      and st.ststamp='#STAMP#' and bo.anulada=0
      group by bo.bostamp,bo.nmdos,bo.obrano,bo.nome,bo.estab,
      bo.no, bo.dataobra,bi.ref, bo.fechada
      order by bo.dataobra,bo.nmdos,bo.obrano

    • Colunas expressão SQL: stamp;dataobra;nomedoc;nome;qtt;ettdeb;estado
    • Nota

      Este campo serve para indicar o nome das colunas que a expressão SQL retorna, separados por ponto e vírgula. É sensível a maiúsculas e minúsculas.
    • Tipo de dados para cada coluna: c;d;c;c;n;mb;c
    • Nota

      Os valores das colunas que a expressão SQL pode retornar são:

        n para valores numéricos,
        qtt para quantidades,
        pct para percentagens,
        c para carateres,
        l para lógicos,
        d para datas,
        mb para moeda base,
        me para moeda estrangeira,

        Os diversos tipos que indicar neste campo, devem vir separados sempre por ponto e vírgula.

        Além disso, pode definir o tamanho de cada coluna. Para isso, após o tipo de dado de cada coluna deve acrescentar ":" seguido de um valor em pixéis. (Por exemplo mb:80)
    • Títulos das expressões SQL: Stamp;Data;Dossier;Fornecedor;Quantidade;Total;Estado
    • Nota

      Este campo destina-se ao preenchimento dos títulos das colunas que a expressão de SQL retorna, separados por ponto e vírgula. Estes títulos são aqueles que virão exibidos nas colunas da análise quando esta for executada na prática.
    • Calcula totais: Sim


    • Colunas a calcular: 5,6 (neste caso serão as colunas Quantidade e Total que irão exibir totalizadores)


    • Permite navegar para um ecrã: Sim


    • Nome da tabela a ligar: Dossiers
      Ao preencher estes 2 últimos campos, estamos a determinar que a análise irá permitir navegação para registos de documentos de faturação. As análises configuradas desta forma, quando executadas irão exibir ao fim da última coluna o icone que indica que é passível de navegação para um registo.
    Dica

    Caso queira saber mais informações de como configurar navegações para uma análise, pode aceder aqui
  6. No separador Acessos é onde se estabelecem os acessos que a análise terá, podendo a mesma ser disponibilizada em função de um acesso por perfil ou acesso por área. Os acessos estão diretamente relacionadas com os Perfis associados aos Utilizadores da aplicação.
    No exemplo selecione a área das Compras.
  7. Nota

    Se não for definido um acesso por perfil ou se não for indicada uma área de acesso, presume-se que todos os utilizadores podem consultar a análise. Ao definir um dos acessos, determina-se que apenas os utilizadores com acesso a essa área ou a esse perfil poderão consultá-la.

  8. Pressione o botão Grave.

Execução da análise de registo


2. Execução da análise de registo



  1. Aceda ao menu localizado no lado esquerdo da página, e navegue até Artigos e Serviços ( Menu > Artigos e Serviços );

  2. Consultar a ficha de um artigo;

  3. Pressionar o tabulador Análises;

  4. Pressionar o separador Fornecedores e compras;

  5. Pressionar sobre a análise Encomendas a fornecedor deste artigo (a análise mostra dados desde que o artigo selecionado esteja associado a encomendas a fornecedores).