Home

Linha Microsiga Protheus

Páginas filhas
  • PLVLPROAUT - Validação de Procedimentos

Ponto-de-Entrada: PLVLPROAUT - Validação de Procedimentos
Descrição:
O ponto de entrada PLVLPROAUT permite realizar validações ao informar um procedimento, ao realizar uma liberação/autorização e no momento de mudança de fase de uma guia.
Ao desenvolver o ponto, o cliente pode criar uma regra específica, retornando ao sistema se o procedimento foi liberado ou criticado.

Obs: O ponto é acionado no início da verificação do procedimento. Após a execução do ponto, o sistema realiza todas as verificações padrões. Caso seja encontrada uma crítica de sistema, ela é apresentada.
Programa Fonte
PLSXAUT
Sintaxe

PLVLPROAUT - Validação de Procedimentos ( [ cCdTbPd ], [ cCodPro ], [ cDente ], [ cFaces ], [ nQtd ], [ dData ], [ cHora ], [ cSequen ], [ aDadRDA ], [ cLOCALExec ], [ cTpLocExec ] ) --> aRet

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
cCdTbPd Caracter Código da tabela
cCodPro Caracter Código do procedimento
cDente Caracter Código do dente
cFaces Caracter Código da face
nQtd Numérico Quantidade solicitada
dData Data Data do procedimento
cHora Caracter Hora do procedimento
cSequen Caracter Sequencia do procedimento.
aDadRDA Array of Record Array com informações da Rda utilizada.
cLOCALExec Caracter 1 - Autorização
2 - Processamento de Conta
cTpLocExec Caracter
Retorno
    aRet(array_of_record)
  • Array contendo:
    aRet[1] - Boolean -> .T.- Procedimento liberado / .F. -> Procedimento criticado

    Caso a posição [1] for .F. (houve crítica), os seguintes retornos se tornam obrigatórios:

    aRet[2] - aCodCri -> Array com as informações da crítica para montagem do grid de retorno. Para montagem do mesmo, consulte o exemplo disponível abaixo.
    aRet[3] -> Alias da crítica (BE2_NIVAUT)
    aRet[4] -> Chave Nivel (BE2_CHVNIV)
    aRet[5] -> Boolean Guia paga no ato. (Default .F.)
Exemplos
#define __aCriTeste {"7XX","Impossivel realizar procedimentos em dente ja extraido"} //Critica usado pelo cliente criada na tabela BCTUser Function PLVLPROAUTLocal cCdTbPd    := paramixb[1]Local cCodPro    := paramixb[2]Local cDente     := paramixb[3]Local cFaces     := paramixb[4]Local nQtd       := paramixb[5]Local dData      := paramixb[6]Local cHora      := paramixb[7]Local cSequen    := paramixb[8]Local aDadRDA    := paramixb[9]Local cLOCALExec := paramixb[10]      Local cTpLocExec := paramixb[11]Local aRet := {}   Local aCodCri := {}                            If //Regra do cliente    //Foi encontrada critica, montado array de retorno   PLSPOSGLO(PLSINTPAD(),__aCriTeste[1],__aCriTeste[2],cLOCALExec,nil,cTpLocExec)   aadd(aCodCri,{__aCriTeste[1],PLSBCTDESC(),"",BCT->BCT_NIVEL,BCT->BCT_TIPO,cCdTbPd,cCodPro})   aadd(aCodCri,{"","O dente " + cDente + "já foi extraido",cCodPro,"","",cCdTbPd,cCodPro}) //"Critica de dente ja extraido"   aRet := {.F.,aCodCri,"1","",.F.} Else   aRet := {.T.}//Nao foi encontrada nenhuma criticaEndIf   Return(aRet)