Page tree

Realiza a validação da variação dia do contador.

Características do Requisito

Linha de Produto:

Microsiga Protheus.

Segmento:

Manufatura.

Módulo:

Manutenção de Ativos e Gestão de Frotas.

Rotina:

Rotina

Nome Técnico

MNTUTIL_CONTADOR.

Funções de Contador.

Rotina(s) envolvida(s)

Nome Técnico

MNTA080

Bens.

MNTA090Estrutura de Bens.
MNTA098Rodízio.
MNTA280Solicitação.
MNTA390Retorno das O.S. de Acompanhamento.
MNTA400Retorno das O.S. de Manutenção.
MNTA401Retorno em Lote.
MNTA402Rateio de Insumos.
MNTA410O.S. Manual.
MNTA415Retorno de Insumos Simplificado.
MNTA420O.S. Corretiva.
MNTA450Ordem de Serviço de Reforma.
MNTA470Movimentação de Bens
MNTA480Retorno de Etapas em Lote.
MNTA545Complemento do Sinistro.
MNTA550Transferência de Bens.
MNTA635Consistência de Abastecimento.
MNTA655Abastecimento Manual.
MNTA656Abastecimento em Lote.
MNTA670Conciliação Manual de Posto Interno.
MNTA681Controle de Abastecimento e Lubrificação.
MNTA693Transferência de Bens entre Empresa e Filial.
MNTA700Analise de Consistência.
MNTA735Retorno Check List.
MNTA750Registro das Inspeções Realizadas.
MNTA851Atividades por Turno.
MNTA876Reprocessamento de Contador.
MNTA985Portaria.
MNTA995Calibragem/Medição de Sulco.

Tickets relacionados

3209234.

Requisito/Story/Issue (informe o requisito relacionado):

DNG-1450 / DNG-2033 / DNG-2256.

País(es):

Todos.

Banco(s) de Dados:

Todos.

Sistema(s) Operacional(is):

Todos.

Pode lhe interessar:http://tdn.totvs.com/x/YqG1F

Ponto de Entrada

Descrição:

Ponto de entrada acionado ao fim da validação de variação dia, permitindo a customização do retorno desta validação.

Programa Fonte:

MNTUTIL_CONTADOR

Função:

NGVALIVARD()

Parametros:

Nome

Tipo

Descrição

Obrigatório

 lSaidaLógica

Define se a mensagem deve ser apresentada em tela.

Sim

cBem Caractér

Código do bem.

Sim

nPosCont Numérico

Posição do Contador.

Sim
dDataLeiData

Data de leitura.

Sim
cHoraLeiCaractér

Horário da Leitura.

Sim
nTipoContNumérico

Tipo de Contador: 1 - Primeiro contador ;2 - Segundo contador.

Sim
nVarDCalNumérico

Variação do dia calculada.

Sim
nVarBemNumérico

Variação do dia do bem.

Sim
aChkVarArray
NomeDescriçãoObrigatório
aChkVar[1]Indica Falso caso tenha encontrado alguma inconsistênciaSim
aChkVar[2]Só terá mensagem caso exista alguma inconsistência, se não será uma string vaziaSim
aChkVar[3]Calculo da variação diaSim

O array 'aChkVar' só será utilizado através das rotinas:

  • MNTA635 - Consistência de abastecimento. Somente será utilizado a primeira posição do array.
  • ExecAuto do MNTA735 - Retorno CheckList;
  • MNTA851 - Parte Diária.
Não
Retorno:
TipoDescriçãoObrigatório
Lógico

.T. - Para registros com variação dia validas

.F. - Registros que apresentam alguma inconsistência na variação dia

Sim
TipoDescriçãoObrigatório
Array
PosiçãoTipoDescriçãoObrigatorio
Array[1]Lógico

.T. - Para registros com variação dia validas

.F. - Registros que apresentam alguma inconsistência na variação dia

Sim
Array[2]CaracterMensagem de erro caso encontre alguma inconsistência.Sim
Array[3]NúmericoVariação do dia calculada.Sim
Sim
  • Retorno no tipo array somente será utilizado nas rotinas MNTA635, MNTA735 e MNTA851.

 

Exemplo:

Ponto de Entrada - NGCHECVAR
#include 'protheus.ch'
User Function NGCHECVAR()

    Local lRet     := .T.
    Local lSaida   := ParamIXB[1] // Define se a mensagem deve ser apresentada em tela
    Local cBem     := ParamIXB[2] // Código do bem
    Local nPosCont := ParamIXB[3] // Posição do Contador
    Local dDataLei := ParamIXB[4] // Data de leitura
    Local cHoraLei := ParamIXB[5] // Hora da leitura
    Local nTipCont := ParamIXB[6] // Tipo do contador 1 = Primeiro contador ;2 = Segundo contador
    Local nVarDCal := ParamIXB[7] // Variação do dia calculada
    Local nVarBem  := ParamIXB[8] // Variação do dia do bem
    Local aChkVar  := ParamIXB[9] // ParamIXB[9][1] - validação do sistema, ParamIXB[9][2] - Mensagem a ser apresentada para o usuário, ParamIXB[9][3] - Valor da variação dia
    Local cMsg     := "Variação dia é superior à do bem"

    If nVarDCal > nVarBem
        lRet := .F.
        If lSaida
            MsgInfo(cMsg)
        Else
            // A mensagem só será utilizada no ExecAuto do MNTA735 - Retorno CheckList e MNTA851 - Parte Diária
            aChkVar := { lRet, cMsg, nVARDCAL }
        EndIf
    EndIf

Return IIf( lSaida, lRet, aChkVar )