Árvore de páginas

Ponto de entrada que permite incluir novas validações no processo de deleção de insumo em um O.S. preventiva.


Atenção

Tratativas referentes a insumos realizadas pela rotina de OS Manual (MNTA410), a partir de outubro/2019, passará a substituir o uso da tabela STG pelo uso da tabela STL.


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

MNTA410

O.S. Manual

Tickets relacionados

4571101

Issue:

DNG-3516

Países:

Todos.

Bancos de Dados:

Todos.

Sistemas Operacionais:

Todos.

Ponto de Entrada

Descrição:

Ponto de entrada acionado na consistência de insumos da O.S. preventiva durante o processo de deleção. Permitindo assim a inclusão de novas validações neste processo.

Localização:

SIGAMNT: Em Atualizações > Controle de Oficina > Ordens de Serviço > Manual.

Programa Fonte:

MNTA410.prx

Função:

MNTA410DEL()

Parâmetros:
NomeTipoDescriçãoObrigatório
ParamIXB[1]ArrayLista com detalhes do insumo posicionado que está em validação.Sim
ParamIXB[2]NúmericoLinha posicionada que encontra-se em validaçãoSim
ParamIXB[3]ArrayLista de campos contidos na listagem de insumo.Sim

Retorno:

Tipo

Descrição

Obrigatório

Lógico

Indica se as validações foram realizadas com êxito.

Sim

 

Exemplo: P.E. MNTA4100
#Include 'Totvs.ch'
 
User Function MNTA4100()

	Local aColsUse := ParamIXB[1]
	Local nPos     := ParamIXB[2]
	Local aHeadUse := ParamIXB[3]
	Local lRet     := .T.
	Local nPosAlmx := aScan( aHeadUse, { |x| Trim( Upper( x[2] ) ) == 'TL_LOCAL'   } )
	Local nPosProd := aScan( aHeadUse, { |x| Trim( Upper( x[2] ) ) == 'TL_CODIGO'  } )
	Local nPosTpRg := aScan( aHeadUse, { |x| Trim( Upper( x[2] ) ) == 'TL_TIPOREG' } )
	Local nPosRec  := aScan( aHeadUse, { |x| Trim( Upper( x[2] ) ) == 'TL_REC_WT'  } )

	If nPosAlmx > 0 .And. nPosProd > 0 .And. ( nPosRec > 0 .And. aColsUse[nPos,nPosRec] > 0 ) .And. ( nPosTpRg > 0 .And.;
	   aColsUse[nPos,nPosTpRg] == 'P' ) .And. ( !Empty( aColsUse[nPos,nPosAlmx] ) .And. !Empty( aColsUse[nPos,nPosProd] ) )

		If aColsUse[nPos,nPosAlmx] == '01' .And. Trim( aColsUse[nPos,nPosProd] ) == 'PRD01'
				
			lRet := .F.
			MsgAlert( 'Deleção não permitida para o local de estoque: ' + Trim( aColsUse[nPos,nPosAlmx] ) + ' e produto: ' + Trim( aColsUse[nPos,nPosProd] ), 'Atenção' )

		EndIf

	EndIf

Return lRet