Parâmetros do Tipo de Atendimento


Os parâmetros são campos extras que podem ser customizados de acordo com as regras de negócio da empresa. De diferentes tipos de formato, eles atendem a necessidade gravar informações suplementares às pré-definidas no atendimento. Os formatos podem ser:
 
Inteiro = Valores numéricos inteiros.
Ex: Quantidade Dias para Solução Atendimento = 10.
 
String = Informações textuais, sendo necessário limitar o tamanho do parâmetro em caracteres.
Ex.: Complemento da Solicitação = Esta solicitação possui autorização do gestor da área.
 
Real = Valores numéricos fracionados. Números Decimais.
Ex.: Valor da Requisição = R$ 1000,00.
 
Data = Informação referente ao tempo. Dia/Mês/Ano.
Ex.: Data Nascimento Cliente = 01/01/1980.
 
Texto = Informações textuais sem limitação pré-definida.
Ex.: Complemento do Atendimento = Todas as documentações necessárias foram enviadas em formato digital. Favor confirmar resolução e quantidade de arquivos enviados.
 
Lógico = Informações para serem marcadas através de flag´s (Checkbox).
Ex.: Possui carteira de habilitação?   X Sim      Não
 
Link = Informações que ligam a outros componentes. Ele se subdivide em:

Tabela = Informações que são armazenadas através de linhas e colunas nas quais é possível inserir outros tipos de parâmetros, como por exemplo, inteiro, lógico, texto, data etc. A seleção dos registros pode ser dividida em setenças SQL e action´s.

Parâmetro baseado em sentença SQL = Trata-se de um tipo especial de parâmetro, nele o usuário seleciona uma sentença SQL do sistema e ele será apresentado como um lookup, dando a opção do usuário selecionar algum campo resultante dessa sentença para ser o valor do parâmetro. Ao criar a sentença SQL desse parâmetro, é importante ter em mente que nem toda sentença poderá ser usada, ela deve seguir alguma regras importantes de formatação, segue abaixo pontos importantes que devem ser observados:

                                       SELECT CAMPO1, CAMPO2 FROM (

                                                    SUASENTENCA

                                        ) TABELA /*WHERE*/

           Note que nesse caso, a TAG /*WHERE*/ já está no lugar apropriado.

          Sentença válida ideal

          SELECT NOME, CODIGO FROM (
                                                    SELECT NOME, CODIGO FROM PPESSOA
                                        ) TABELA /*WHERE*/


          Sentença inválida

          SELECT NOME, MEUCODIGO FROM (
                          SELECT NOME, (APELIDO + ' - ' + SEXO) AS MEUCODIGO FROM PPESSOA
                          ) TABELA /*WHERE*/

          Motivo dela ser inválida: Essa sentença tem vários problemas

          1 - Será salvo no atendimento o valor do campo MEUCODIGO, esse valor é a concatenação do apelido e do sexo da pessoa, é um valor que pode se repetir causando inconsistência ao se abrir o registro.

          2 - O campo pode ser nulo, fazendo com que o sistema não tenha um valor para salvar.

          3 - O segundo campo é um campo calculado cujo apelido não é uma coluna real do banco.


         Sentença válida porem não ideal

         A seguinte alteração resolve o problema '3' da lista acima, mas a inconsistência ainda ocorrerá caso o campo se repita ou seja nulo:

         SELECT NOME, APELIDO FROM (
                          SELECT NOME, (APELIDO + ' - ' + SEXO) AS APELIDO FROM PPESSOA
                          ) TABELA /*WHERE*/


Observações:
Os parâmetros associados ao tipo de atendimento são apresentados na aba Parâmetros na edição dos atendimentos. Setenças SQL e actions também podem ser vinculadas.

Para sentenças SQL que possuam action , a action será executada na edição do atendimento. Para associar uma Action a sentença sql será necessário que na consulta sql personalizada tenha como colunas a chave primária da action desejada.
Ex: SELECT ASSUNTOOC, CODATENDIMENTO , CODCOLIGADA, CODLOCAL , CODATENDIMENTO FROM HATENDIMENTOBASE Nesse exemplo,  o parâmetro é montado na forma padrão como  lookup . Ele irá utilizar a primeira coluna ASSUNTOOC para ser a descrição do lookup , a segunda coluna CODATENDIMENTO como o código do lookup e ao associar a Action de atendimento CRMATENDIMENTOEXTACTION a essa sentença a chave primária da action será associada as colunas da sentença no caso a chave primária do atendimento (CODCOLIGADA , CODLOCAL , CODATENDIMENTO).