Á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 manual.


Aviso
titleAtençã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. manual. 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 > Manual.

Programa Fonte:

MNTA410.prx

Função:

NG410INLI() / MNTA410Del

Parâmetros:
Númerico
NomeTipoDescriçãoObrigatório
ParamIXB[1]ArrayLista de insumos reportados na O.S.Sim
ParamIXB[2]NúmericoLinha posicionada que encontra-se em validaçãoNãoSim
ParamIXB[3]ArrayLista de campos contidos na listagem de insumo.SimParamIXB[4]Define a operação que está em execução (3 - Inclusã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. MNTA410D
linenumberstrue
#Include 'Totvs.ch'
 
User Function MNTA410D()

	Local aCols  aColsUse  := ParamIXB[1]
    Local nPos     := ParamIXB[2]
    Local aHeaderaHeadUse  := ParamIXB[3]
    Local nOption  := ParamIXB[4]
    Local lRet     := .T.
    Local nPosAlmx := aScan( aHeaderaHeadUse, { |x| Trim( Upper( x[2] ) ) == 'TGTL_LOCAL'   } )
    Local nPosProd := aScan( aHeaderaHeadUse, { |x| Trim( Upper( x[2] ) ) == 'TGTL_CODIGO'  } )
    Local nPosTpRg := aScan( aHeaderaHeadUse, { |x| Trim( Upper( x[2] ) ) == 'TGTL_TIPOREG' } )
 
    If nPosAlmx > 0 .And. nPosProd > 0 .And. nPosTpRg > 0 .And. ( ValType( nPos ) == 'N' .And. nPos > 0 )
 
        If aColsaColsUse[nPos,nPosTpRg] == 'P' .And. nOption == 3
 
            If aColsaColsUse[nPos,nPosAlmx] == '01' .And. Trim( aColsaColsUse[nPos,nPosProd] ) == 'PRD01'
                 
                lRet := .F.
                MsgAlert( 'Local de estoque não deve ser utilizado para o produto: ' + Trim( aColsaColsUse[nPos,nPosProd] )  )
 
            EndIf
 
        EndIf
 
    EndIf

Return lRet