Árvore de páginas



01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Logística
Módulo:SIGATMS - Gestão de Transportes 


02. DESCRIÇÃO

Ponto de Entrada localizado no programa TMSXFUND, este Ponto de Entrada permite as validações customizadas do agendamento. A execução do ponto de entrada independe da existência do registro na tabela de agendamentos (DYD).

03. EXEMPLO DE UTILIZAÇÃO

Parâmetros:

Vide exemplo no código fonte


Retorno:

Array of Record {.F., "Descrição do erro"} 


TMSVLDYD
#INCLUDE "PROTHEUS.CH"  

User Function TMSVLDYD()

	Local aRet       := {}
	Local cFilDoc    := PARAMIXB[1] //Filial Documento
	Local cDoc       := PARAMIXB[2] //Nro Documento
	Local cSerie     := PARAMIXB[3] // Serie
	Local cTipAgd    := PARAMIXB[4] // Tipo de Agendamento
	Local dDatAgend  := PARAMIXB[5] //Data Agendamento
	Local cTipPeriod := PARAMIXB[6]
	Local cHoraIni   := PARAMIXB[7] //Hora Inicial Agendamento
	Local cHoraFim   := PARAMIXB[8] //Hora Fim Agendamento
	Local nHoraIni   := PARAMIXB[9] //Hora Inicial Agendamento (numérico) 
	Local nHoraFim   := PARAMIXB[10] //Hora Fim Agendamento  (numérico)
	Local dDatViagem := PARAMIXB[11] //Data Viagem
	Local nHoraViag  := PARAMIXB[12] //Hora Viagem

	Do Case

        // Verifica se o tipo de agendamento eh "Pendente Agendamento"
        Case cTipAgd == "4"
            aRet := {.F.,"Este documento esta pendente de Agendamento de Entrega. Cliente configurado como uso obrigatorio de agendamento."}

        // Verifica se Data da Viagem eh diferente da Data de Agendamento
        Case dDatAgend != dDatViagem
            aRet := {.F.,"Data da viagem diferente da data Agendada"}

        // De
        Case cTipPeriod == "1" .AND.  nHoraIni > nHoraViag
            aRet := {.F.,"A hora de cadastro da viagem deve ser a partir de: " + cHoraIni }

        // Ate
        Case cTipPeriod == "2" .AND.  nHoraFim < nHoraViag
            aRet := {.F.,"A hora de cadastro da viagem foi ate: " + cHoraFim}

        // De / Ate
        Case cTipPeriod == "3" .AND.  !( nHoraIni <= nHoraViag .AND. nHoraFim >= nHoraViag )
            aRet := {.F.,"A hora de cadastro da viagem deve ser entre: " + cHoraIni + " e " + cHoraFim}

        // Na Hora
        Case cTipPeriod == "4" .AND.  nHoraIni != nHoraViag
            aRet := {.F.,"A hora de cadastro da viagem deve ser as: " + cHoraIni}

        OtherWise
            aRet := {.T.,""}
	EndCase

Return aRet 


04. DEMAIS INFORMAÇÕES

Não há.

05. ASSUNTOS RELACIONADOS

Não há.