Árvore de páginas

Ponto de entrada para fazer validações antes de finalizar o plano

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

Manutenção de Ativos

Rotina:

Rotina

Nome Técnico

MNTA330

 

Plano/Planejamento

Rotina(s) envolvida(s)

Nome Técnico

MNTA330

Plano/Planejamento

Chamados Relacionados

V118 TVKGJA / V127 TVPD36

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:

Permite fazer validações antes de finalizar o plano e cancelar as OS.

Localização:

SIGAMNT: Consultas/Controle de Oficina/Lubrificação/Planejamento
SIGAMNT: Consultas/Controle de Oficina/Planos de Manutenção/Plano

Eventos:

Plano de Lubrificação.

Plano de Manutenção

Programa Fonte:

MNTA330

 

Função:

MNTA330A()

Retorno:

Nome

Tipo

Descrição

Obrigatório

lRet 

Booleano

Retorna se permite finalizar o plano

Sim

 

Exemplo:

#Include 'Protheus.ch'

 User Function MNTA330A()

    Local nInd := 0
    Local lRet := .F.

    Private cOrdem := ""
    Private cOBS := CRIAVAR("TJ_OBSERVA")

    // Parâmetros
    // Array contendo contendo as OS em abertas no plano a ser finalizado.
    // Cada posição do Array possuí 3 campos: 1- Filial, 2-Ordem de Serviço, 3-Plano

    aOS := PARAMIXB[1]


    If MsgYesNo("Para finalizar o Plano, será necessário informar uma observação para para as OS. Deseja Continuar?")
        For nInd := 1 To Len(aOS)
            cOrdem := aOS[nInd][2]
            If U_MNTPE()
                dbSelectArea("STJ")
                dbSetOrder(1)
                If dbSeek(aOS[nInd][1] + aOS[nInd][2] + aOS[nInd][3])

                    RecLock("STJ",.F.)
                    cObOS := STJ->TJ_OBSERVA
                    STJ->TJ_OBSERVA := IIf(Empty(cObOS), cOBS, Alltrim(STJ->TJ_OBSERVA) + CRLF + cOBS)
                    STJ->(MsUnLock())

                EndIf
            EndIf
            Next nInd
        lRet := .T.
    EndIf

 Return lRet

 User Function MNTPE()

    DEFINE Font oFontB Name "Arial" Size 07,17 Bold
    DEFINE Font oFontN Name "Arial" Size 07,17

    DEFINE MsDialog oDlgP Title "Observação para Finalizar OS" From 000,000 To 180,600 Pixel Style DS_MODALFRAME // Cria Dialog sem o botão de Fechar.

        oDlgP:lEscClose := .F.

        @ 05,008 Say OemToAnsi("Observação para a OS " + cOrdem) Font oFontN Size 400,10 Of oDlgP PIXEL color CLR_HBLUE
        @ 15,008 Get oOBS Var cOBS Of oDlgP Multiline Size 200,40 Pixel

        DEFINE sButton FROM 075,008 Type 1 Enable Of oDlgP Action (oDlgP:End())

    Activate MsDialog oDlgP Centered

 Return .T.