Histórico da Página
Ponto de entrada para
utilizaçãocustomização adicional no Retorno
Mod2Mod. 2
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||
Segmento: | Manufatura | ||||
Módulo: | SIGAMNT - Manutenção de Ativos e Gestão de Frotas | ||||
Rotina: |
| ||||
Chamados Relacionados | DNG-3844 | ||||
País(es): | Todos | ||||
Banco(s) de Dados: | Todos | ||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
Descrição: | Ponto de entrada acionado na validação do Retorno Mod2Modelo 2 (MNTA435) que permite validação adicional antes da gravação dos insumos. | ||||||||||||||||||||||||||||||||||||||||
Localização: | SIGAMNT: Atualizações/Controle de Oficina/Retorno de OS/Retorno Mod2 Mod. 2 (MNTA435) | ||||||||||||||||||||||||||||||||||||||||
Eventos: | Retorno Mod2 Mod. 2 (MNTA435) | ||||||||||||||||||||||||||||||||||||||||
Programa Fonte: | MNTA435.PRW | Função:||||||||||||||||||||||||||||||||||||||||
Funções | FVALIDOKMNTA435N() | ||||||||||||||||||||||||||||||||||||||||
Parâmetros: |
A partir da 2ª posição os parâmetros podem ser diferentes de acordo com o ID, como citado na tabela abaixo:
Demais Parâmetros | VALID_OK | Posição | Tipo | Detalhes
| ||||||||||||||||||||||||||||||||||||
Retorno: |
|
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
| |||
#include |
'protheus.ch' //------------------------------------------------------------------- /*/{Protheus.doc} U_MNTA435 Exemplo da utilização do ponto de entrada MNTA435, ID "VALID_CONFIRM" Neste exemplo o objetivo é não permitir incluir um insumo de MDO com data menor que a data atual @obs @author NG Informática @since 12/02/2019 @return lógico, se obteve sucesso nas validações @obs neste exemplo é utilizado o retorno lógico utilizado para o ID "VALID_CONFIRM" /*/ //------------------------------------------------------------------- User Function MNTA435N() Local aArea := GetArea() Local cId := PARAMIXB[1] //Indica o momento da chamada do PE Local aDadosOS := {} Local aInsumos := {} // |
Array de |
insumos |
realizados |
|
|
|
Local |
nOrdem |
Local nInsumo Local nPosTipReg := |
aScan(aHoBrw2,{|x| Trim(Upper(x[2])) == "TL_TIPOREG"})
Local nPosDtInic := aScan(aHoBrw2,{|x| Trim(Upper(x[2])) == "TL_DTINICI"})
If cId == "VALID_CONFIRM"
//Array com os dados das ordens de serviço
aDadosOS := ParamIXB[2]
//Percorre o array de ordens
For nOrdem := 1 To Len( aDadosOS )
//Verifica se há insumos realizados
If ValType( aDadosOS[ nOrdem, 5 ] ) == "A"
aInsumos := aClone( aDadosOS[ nOrdem, 5 ] )
//Percorre o array de insumos realizados
For nInsumo := 1 to Len( aInsumos )
If !aTail( aInsumos[ nInsumo ] ); //Verifica se não está deletado
.And. aInsumos[ nInsumo, nPosTipReg ] == "M"; //Verifica se é insumo do tipo MDO
.And. aInsumos[ nInsumo, nPosDtInic ] < dDatabase // Verifica se a data é menor que a data atual
//Apresenta para o usuário o número da OS que há uma inconsistência
MsgAlert( "Ordem " + aDadosOS[ nOrdem, 1 ] + ": a data dos insumos tipo mão de obra não pode ser menor que a data atual.")
//Quando há problema, deve retornar falso
RestArea( aArea )
Return .F.
EndIf
Next nInsumo
EndIf
Next nOrdem
//Quando não houver problema retorna sucesso na validação
RestArea( aArea )
Return .T.
EndIf
Return |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas