Ponto de entrada que realiza checagem conforme parametrização na rotina de Abastecimento Manual (MNTA655)
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 Abastecimento Manual (MNTA655) que realiza checagem conforme parametrização se o abastecimento que está sendo incluso/alterado, por exemplo, está dentro do período contábil da empresa. |
Programa Fonte: | MNTA655.prx |
Localização: | SIGAMNT: Atualizações/Controle de Combustíveis/Abastecimento/Abastecimento Manual |
Função: | MNTA6552() |
Retorno: | .T. |
Exemplo do Ponto de Entrada MNTA6552()
#Include 'Protheus.ch' User Function MNTA6552() Local aArea := GetArea() Local nDiaUtil := 0 Local i Local lFeriado := .F. Local hHora := SubStr(AllTrim(GetMv("MV_NGHRCON")),1,2) Local hMinu := SubStr(AllTrim(GetMv("MV_NGHRCON")),4,2) Local nDiasLim := GetMv("MV_NGMAR42") If Inclui .Or. Altera If Month(dDatAb655) <> Month(dDataBase) If IIf(Month(dDatAb655)+1 = 13,01,Month(dDatAb655)+1) = Month(dDataBase) If Day(dDataBase) > 3 + nDiasLim Help(" ",1,"ATENÇÃO",,"Data de abastecimento inválida."+CHR(10)+" Mês inferior ao mês atual e fora do período contábil.",3,1) Return .F. Else For i:= 1 to Day(dDataBase) dDataCheck := CtoD(AllTrim(Str(i))+"/"+AllTrim(Str(Month(dDataBase)))+"/"+AllTrim(Str(Year(dDataBase)))) lFeriado := NGFERIADO(dDataCheck) If Dow(dDataCheck) <> 1 .And. Dow(dDataCheck) <> 7 .AND. !lFeriado nDiaUtil++ EndIf Next If nDiaUtil > nDiasLim Help(" ",1,"ATENÇÃO",,"Data de abastecimento inválida."+CHR(10)+" Mês inferior ao mês atual e fora do período contábil.",3,1) Return .F. EndIf If nDiaUtil == nDiasLim cHrSis := Substr(Time(),1,2) cMinSis := Substr(Time(),4,2) If cHrSis > hHora cMsg := "Lançamento no "+AllTrim(Str(nDiasLim))+"º dia útil permitido somente até "+CHR(10)+" as "+ hHora+":"+hMinu +" horas" Help(" ",1,"ATENÇÃO",,cMsg,3,1) Return .F. Else If cHrSis == hHora .and. cMinSis > hMinu cMsg := "Lançamento no "+AllTrim(Str(nDiasLim))+"º dia útil permitido somente até "+CHR(10)+" as "+ hHora+":"+hMinu +" horas" Help(" ",1,"ATENÇÃO",,cMsg,3,1) Return .F. EndIf EndIf EndIf EndIf EndIf EndIf nDiasAnt := (LastDay(dDataBase)-dDataBase) dMesAnt := (dDataBase - nDiasAnt) nDiaRest := (LastDay(dMesAnt)-FirstDay(dMesAnt))+1 If (dDatAb655+nDiaRest) < dDataBase .And. Month(dDatAb655+nDiaRest) <> Month(dDataBase) Help(" ",1,"ATENÇÃO",,"Data de abastecimento inválida."+CHR(10)+" Período contábil fechado.",3,1) Return .F. EndIf EndIf RestArea(aArea) Return .T.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas