import.css=/download/attachments/327912/newLayout.css

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:
NomeTipoDescriçãoDefaultObrigatórioReferência
cCdTbPdCaracterCódigo da tabela
cCodProCaracterCódigo do procedimento
cDenteCaracterCódigo do dente
cFacesCaracterCódigo da face
nQtdNuméricoQuantidade solicitada
dDataDataData do procedimento
cHoraCaracterHora do procedimento
cSequenCaracterSequencia do procedimento.
aDadRDAArray of RecordArray com informações da Rda utilizada.
cLOCALExecCaracter1 - Autorização
2 - Processamento de Conta
cTpLocExecCaracter
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)