Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Ponto de entrada que permite incluir novas validações no processo de inserção

,

e alteração

e deleção

de insumos em uma O.S corretiva.

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

MNTA420

O.S. Corretiva

Rotinas RelacionadasNome Técnico
MNTA490Liberação de O.S.
MNTA265Alteração de O.S.
MNTA990Programação de O.S.

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. corretiva durante os processos de inclusão

/

e alteração

/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 > Corretiva.

Programa Fonte:

MNTA420.prx

Função:

NG420DELI() / NG420CHKLIN

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
ParamIXB[3]NúmericoDefine a operação que está em execução (3 - Inclusão / 4 - Alteração / 5 - Exclusão)Sim

Retorno:

Tipo

Descrição

Obrigatório

Lógico

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

Sim

 

Bloco de código
languagesql
titleExemplo: P.E. MNTA420K
linenumberstrue
#Include 'Totvs.ch'
 
User Function MNTA420K()

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

	
    If nPosAlmx > 0 .And. nPosProd > 0 .And. nPosTpRg > 0 .And. nPosRecnPos > 0

		        If aCols[nPos,nPosTpRg] == 'P' .And. ( nOption == 3 .Or. ( nOption

            If aCols[nPos,nPosAlmx] == 5'01' .And. Trim( aCols[nPosRecnPos,nPosProd] >) 0 ) )

			== 'PRD01'

                lRet := MaAvalPerm( 3, { aCols[nPosAlmx], aCols[nPosProd], nOption } )

		EndIf

	 .F.
                MsgAlert( 'Local de estoque não deve ser utilizado para o produto: ' + Trim( aCols[nPos,nPosProd] )  )

            EndIf

        EndIf

    EndIf

Return lRet