Árvore de páginas

Ponto de entrada executado após aplicação de insumo para finalização de O.S. via entrada da nota fiscal (MATXFUNB)

Características do Requisito

Linha de Produto:

Microsiga Protheus.

Segmento:

Manufatura.

Módulo:

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

Rotina:

Rotina

Nome Técnico

MATXFUNB

Rotina de manutenção automática

Rotina(s) envolvida(s)

Nome Técnico

NGFIMOS

Finalização de Ordem de Serviço via Documento de Entrada da Nota Fiscal.

País(es):

Todos.

Banco(s) de Dados:

Todos.

Sistema(s) Operacional(is):

Todos.

Ponto de Entrada

Descrição:

Ponto de entrada executado após aplicação de insumo com o intuito de finalizar uma Ordem de Serviço via entrada da nota fiscal.

Pode realizar alterações na entidade de Insumos.

Programa Fonte:

MATXFUNB.prx

Função:

NGFIMOS()

Parâmetros:
NomeTipoDescrição
PARAMIXBCaracterContém o número da O.S. a ser alterada

 


Exemplo do Ponto de Entrada NGFIMOS
#Include "Protheus.ch"

//------------------------------------------------------------------------------
/*/{Protheus.doc} MenuDef
Finalização de Ordem de Serviço via Documento de Entrada da Nota Fiscal

@author NG Informática Ltda.
@since 03/01/2017
@version P11
@param PARAMIXB contém o numero da O.S. a ser alterada.
/*/
//------------------------------------------------------------------------------
User Function NGFIMOS()

    Local aArea := GetArea()
    Local cOrdem := PARAMIXB[1] //O.S. Utilizada no Documento de Entrada

	If cOrdem = NIL
		Help(" ",1,"Nao foi informado a Ordem de Servico")
		Return .F.
	ElseIf Empty(cOrdem)
		Help(" ",1,"Nao foi informado a Ordem de Servico")
		Return .F.
	Else
		DbSelectArea("STL")
		DbSetOrder(1)
		If !DbSeek(xFilial("STL")+cOrdem)
			Help(" ",1,"Ordem de Servico inexistente")
			Return .F.
		EndIf
	EndIf

	dbSelectArea("STL")
    dbSetorder(1)
    If dbSeek( xFilial("STL") + cOrdem )

        //Mensagem apresentando conteúdo antes da alteração
        MsgInfo(STL->TL_OBSERVA, "Observação")

        //Altera conteúdo do campo de observação da O.S.
        RecLock("STL", .F.)
        STL->TL_OBSERVA := "Texto do Campo de observação alterado!"
        STL->(MsUnlock())

        //Mensagem apresentando conteúdo após alteração
        MsgInfo(STL->TL_OBSERVA, "Observação")

    EndIf

    If MsgYesNo("Deseja finalizar a O.S. " + cOrdem + " ?")

        dbSelectArea("STJ")
        dbSetOrder(1)
        If dbSeek(xFilial("STJ") + cOrdem)
            //Finaliza O.S.
            NGFINAL(STJ->TJ_ORDEM,STJ->TJ_PLANO,STJ->TJ_DTPRINI,STJ->TJ_HOPRINI,STJ->TJ_DTPRFIM,STJ->TJ_HOPRFIM)
        EndIf

    EndIf

    RestArea( aArea )

Return