Ponto de entrada que valida a sobreposição de insumos no GetDados na rotina de Retorno Simplificado (MNTA415)
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||||||
Segmento: | Manufatura | ||||||||
Módulo: | SIGAMNT - Manutenção de Ativos e Gestão de Frotas | ||||||||
Rotina: |
| ||||||||
País(es): | Todos | ||||||||
Banco(s) de Dados: | Todos | ||||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
Descrição: | Ponto de entrada executado na rotina de Retorno Simplificado (MNTA415) para validação de sobreposição de insumo considerando as informações digitadas do aCols | |||||||||||||||||||||
Localização: | SIGAMNT: Atualizações/Controle de Oficina/Retorno de O.S./Simplificado | |||||||||||||||||||||
Programa Fonte: | MNTA415.prx | |||||||||||||||||||||
Função: | MNT41507() | |||||||||||||||||||||
Parâmetros: |
| |||||||||||||||||||||
Retorno: |
Exemplo do Ponto de Entrada MNT41507()
#Include 'Protheus.ch' User Function MNT41507() Local nPosTP := ParamIXB[1] Local nY,cTpIns := aCols[n][nPosTP] Local nPosCod := ParamIXB[2] Local nPosDtI := ParamIXB[3] Local nPosHrI := ParamIXB[4] Local nPosDtF := ParamIXB[5] Local nPosHrF := ParamIXB[6] For nY := 1 to Len(aCols) If n <> nY .and. !aCols[nY][LEN(aCOLS[nY])] If aCols[n][nPosCod] == aCols[nY][nPosCod] .And. aCols[nY][nPosTP] == cTpIns If ((DtoS(aCols[n][nPosDtI])+aCols[n][nPosHrI] > DtoS(aCols[nY][nPosDtI])+aCols[nY][nPosHrI] .And.; DtoS(aCols[n][nPosDtI])+aCols[n][nPosHrI] < DtoS(aCols[nY][nPosDtF])+aCols[nY][nPosHrF]) .Or.; (DtoS(aCols[n][nPosDtF])+aCols[n][nPosHrF] > DtoS(aCols[nY][nPosDtI])+aCols[nY][nPosHrI] .And.; DtoS(aCols[n][nPosDtF])+aCols[n][nPosHrF] < DtoS(aCols[nY][nPosDtF])+aCols[nY][nPosHrF])) .Or.; ((DtoS(aCols[nY][nPosDtI])+aCols[nY][nPosHrI] > DtoS(aCols[n][nPosDtI])+aCols[n][nPosHrI] .And.; DtoS(aCols[nY][nPosDtI])+aCols[nY][nPosHrI] < DtoS(aCols[n][nPosDtF])+aCols[n][nPosHrF]) .Or.; (DtoS(aCols[nY][nPosDtF])+aCols[nY][nPosHrF] > DtoS(aCols[n][nPosDtI])+aCols[n][nPosHrI] .And.; DtoS(aCols[nY][nPosDtF])+aCols[nY][nPosHrF] < DtoS(aCols[n][nPosDtF])+aCols[n][nPosHrF] )) .Or. ; ((DtoS(aCols[n][nPosDtI])+aCols[n][nPosHrI] == DtoS(aCols[nY][nPosDtI])+aCols[nY][nPosHrI] .And.; DtoS(aCols[n][nPosDtF])+aCols[n][nPosHrF] == DtoS(aCols[nY][nPosDtF])+aCols[nY][nPosHrF])) MsgInfo("Existe sobreposição de horas lançadas para o Insumo: "+aCols[n][nPosCod]+chr(13)+; " Lançamento existente na linha: "+AllTrim(Str(nY))+Chr(13)+; " Data Inicio: "+Substr(DtoS(aCols[nY][nPosDtI]),7,2)+"/"+Substr(DtoS(aCols[nY][nPosDtI]),5,2)+"/"+Substr(DtoS(aCols[nY][nPosDtI]),1,4)+Chr(13)+; " Hora Inicio: "+aCols[nY][nPosHrI]+Chr(13)+; // " Data Fim: "+Substr(DtoS(aCols[nY][nPosDtF]),7,2)+"/"+Substr(DtoS(aCols[nY][nPosDtF]),5,2)+"/"+Substr(DtoS(aCols[nY][nPosDtF]),1,4)+Chr(13)+; 'ATENCAO' +aCols[nY][nPosHrF]+Chr(13)," Hora Fim: ") Return .f. EndIf EndIf EndIf Next nY Return .T.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas