Árvore de páginas

Como configurar as funções para validar registros do processo de importação de abastecimento

Produto:

Manutenção de Ativos e Gestão de Frotas - SIGAMNT

Versões:

Todas

Ocorrência:

Como funcionam e devem ser configuradas as fuções utilizadas nas validações de registros do processo de importação de abastecimento.

Ambiente:

Todos

Observações:

1. Regras para as funções de Usuário
    • Só pode ser chamada uma única função por registro no campo Função do programa de cadastro de layouts de importação (MNTA715), caso haja necessidade de se chamar mais de uma função, esta deve ser chamada dentro da outra.;

    • Todas as funções recebem por parâmetro aTR6Incl e cRegistro. Caso seja passado algum outro parâmetro na função, esses dois (aTR6Incl e cRegistro) devem ser os dois últimos. Eles não devem ser informados no campo Função do programa de cadastro de layouts de importação (MNTA715);

      • aTR6Incl – Array de duas posições que possuem todos os campos que devem ser inclusos na tabela de abastecimentos importados (TR6);

        • Ex: aAdd(aTR6Incl,{dAbast ,"TR6_DTABAS"}). Onde dAbast é a data de abastecimento e “TR6_DTABAS” é o campo onde o registro será salvo;

      • cRegistro – Caracter com o valor do registro que está sendo lido.

      • Os campos a serem adicionados no array aTR6Incl devem ser tratados via função f716VldCpo(cRegistro,cTipo), que irá validar se o registro informado está formatado conforme as configurações do layout, onde cRegistro é o registro a ser salvo na tabela, sendo que o mesmo deve ser um caracter e estar formatado conforme o cabeçalho do layout. cTipo indica o tipo de registro que está sendo tratado e pode ser, N-Numérico ou D-Data. Os campos da tabela que são em caracter devem ser inclusos apenas respeitando o tamanho da coluna.

2. Regras da função de gravação genérica (fGrvCpoGen).
    • Essa função é utilizada quando o campo do layout indica um tamanho maior do que o campo correspondente na tabela de abastecimentos importados (TR6).

      • Os parâmetros passados para a mesma devem ser cCampo e cTipo onde:

        • cCampo: Campo real da tabela de abastecimentos importados (TR6).

        • cTipo: Tipo do campo na tabela: C-Caracter, N-Numérico e D-Data.

Exemplos:

3. Exemplo de função de usuário.

Importante: a função de usuário poderá validar qualquer tipo de informação, mas somente deverá ser informado o primeiro parâmetro pois os outros dois tem conteúdo default (aTR6Incl e cRegistro).


No exemplo abaixo, o primeiro parâmetro é uma variável lógica que permite validação ou não do campo de CPF do Motorista (TR6_CPFMOT).

Exemplo Valida CPF
#INCLUDE 'Protheus.ch'

//---------------------------------------------------------------------
/*/{Protheus.doc} 
Função Teste - Importação de Abastecimentos

/*/
//---------------------------------------------------------------------
User Function FunTes(lImp,aTR6Incl,cRegistro)

    //Valida campo CPF? 
    If lImp 
        //Validação do tamanho do campo CPF
        If Len(cRegistro) > 10
            MsgInfo("CPF de acordo.")
            aAdd(aTR6Incl,{cRegistro,"TR6_CPFMOT"})
        Else
            MsgInfo("CPF inválido.")
        EndIf
    EndIf
Return .T.