Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagejava
themeMidnight
titleF667APROP 
#INCLUDE "TOTVS.CH"

/*/{Protheus.doc} User Function F667APROP
    (Monta validação customizada para desligar a aprovação do próprio viajante)
    @type  Function
    @author Cassio S Dias
    @since 04/12/2023
    @version 12.1.2310
    @return lRet, logical
    @see (https://tdn.totvs.com/x/9itAM)
    /*/
User Function F667APROP() as logical

//posiconado nas tabelas
/*
FLD - Adiantamento de Viagem        
FLJ - Aprovadores da Reserva        
FLU - Passageiro por Pedido         
RD0 - Pessoas/Participantes         
*/
	Local cPartic	as character  
	Local cSolic   	as character
	Local cViagem  	as character
	Local cItem  	as character
	Local lAprov   	as logical
	Local nLimit   	as numeric

	cPartic	:= FLD->FLD_PARTIC
	cViagem := FLD->FLD_VIAGEM
	cItem  	:= FLD->FLD_ITEM
	lAprov  := .T.
	nValor  := FLD->FLD_VALOR
	nLimit  := Paramixb

	//0=Negado;1=Solicitado;2=Aprovado;3=Liberado Pagamento;4=Pago;6=Bloqueado;7=Sem Valor;8=Avaliação Gestor;9=Cancelado

	//Busca aprovadores na FLJ
	FLJ->(dbSeek( xFilial('FLJ') +  cViagem + cItem))
	While FLJ->FLJ_FILIAL + FLJ->FLJ_VIAGEM + FLJ->FLJ_ITEM == xFilial('FLJ') +  cViagem + cItem .AND. nValor < nLimit

		If cPartic == FLJ->FLJ_PARTIC
			lAprov := .T.
			FLD->FLD_STATUS := '2' //Aprovado.
			FLD->FLD_APROV  := cPartic
			FLD->FLD_DTAPRO := dDataBase
			FLD->FLD_VALAPR := nValor
		else
			lAprov :=.F.
			FLD->FLD_STATUS := '0' //Negado.
			FLD->FLD_APROV  := cPartic
			FLD->FLD_DTAPRO := dDataBase
			FLD->FLD_VALAPR := 0
		EndIf
		FLJ->(dbSkip())

	EndDo

Return lAprov

...