Ponto-de-Entrada: MNTA6552 - Checagem de Abastecimento
Abrangências: | Microsiga Protheus 10 |
Versões: | Microsiga Protheus 10 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Descrição:
Ponto de entrada de checagem conforme parametrização se o abastecimento que está sendo incluso/alterado, por exemplo, está dentro do período contábil da empresa, também chamado na alteração.
Eventos
- Na função de validação do campo tqn_hrabas;
- Ao clicar no botão Alterar faz checagem.
Programa Fonte
MNTA655.PRX
Sintaxe
MNTA6552 - Checagem de Abastecimento ( [ ] ) --> .T. / .F.
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência | ||||||||||||
Array of Record |
Retorno
-
.T. / .F.()
Exemplos
User Function MNTA6552()Local aArea := GetArea()Local nDiaUtil := 0Local 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 EndIfRestArea(aArea)Return .T.
Variáveis
Nome | Tipo | Escopo | Pode Alterar | descrição | ||||||||||
Array of Record | Global | Não |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas