Árvore de páginas

Versões comparadas

Chave

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

Impressão de O.S.

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

MNTA265

Alteração de O.S

MNTA990Programação O.S.

Rotina(s) envolvida(s)

Nome Técnico

MNTA265

Alteração de O.S.

MNTA990Programação O.S.

Issues Relacionadas

12.1.17

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Deck of Cards
startHiddenfalse
effectDuration0.5
historyfalse
idsamples
effectTypefade
Card
defaulttrue
id1
labelVersão Atual
Aviso

Os detalhes abaixo aplicam-se às versões posteriores ou igual à  dos fontes MNTA265.PRX e MNTA990.PRX

Ponto de Entrada

Descrição:

Ponto de Entrada executado após clicar no botão imprimir O.S. nas rotinas de Alteração de O.S. e Programação de O.S.

Localização:

SIGAMNT: Atualizações/Controle de Oficina/Plano de Manutenção/Alteração de O.S.

SIGAMNT: Atualizações/Controle de Oficina/Plano de Manutenção/Programação de O.S.

Eventos:

Alteração de O.S. (MNTA265)
Programação O.S. (MNTA990)

Programa Fonte:

MNTA265.prx

MNTA990.prx

Função:

IMPOSMNT()

Parâmetros:
NomeTipoDescrição
PARAMIXB[1]LógicoReservado
PARAMIXB[2]CarácterDe Plano
PARAMIXB[3]CarácterAté Plano
PARAMIXB[4]Array

Contém as O.S.'s selecionadas no Browse

NomeTipoDescrição
Array[ x, 1 ]CarácterPlano O.S.
Array[ x, 2 ]CarácterOrdem de Serviço
PARAMIXB[5]Caracter

Alias utilizado para acessar os registros temporários.

Informações
titleObservação

Somente é necessária a utilização Este parâmetro tem utilidade apenas ao acionar o relatório pela rotina   Programação de O.S. - MNTA990.

 

Bloco de código
languagevb
themeEclipse
titleExemplo
linenumberstrue
#Include 'Protheus.ch'

//-------------------------------------------------------------------
/*/{Protheus.doc} IMPOSMNT
Apresenta Opções Impressão

@author  Eduardo Mussi
@since   13/11/2018
@version P11/P12
/*/
//-------------------------------------------------------------------
User Function IMPOSMNT()

    Local aArea     := GetArea()
    Local aOptions  := { 'Opcao de Impressao 1' }
    Local nOpt      := 0
    Local oPnlPai   := Nil
    Local oDlgImp   := Nil
	Local lVal		:= ParamIXB[1]
	Local cPla		:= ParamIXB[2]
	Local cPla2		:= ParamIXB[3]
	Local aMatOs	:= ParamIXB[4]

    Private nOpRe   := 1

    Define MsDialog oDlgImp From 00,00 To 270,600 Title 'Modelo de Impressao da Ordem' Pixel

    oPnlPai := TPanel():New(00,00,,oDlgImp,,,,,,320,200,.F.,.F.)
    oPnlPai:Align := CONTROL_ALIGN_ALLCLIENT

    oGroup1  := TGroup():New( 005, 030, 095, 130, 'Opcoes', oPnlPai,,,.T.)

    TRadMenu():New( 015, 035, aOptions, {|u| IIf( PCount() == 0, nOpRe, nOpRe := u )}, oPnlPai,,,,,,,, 60, 10,,,, .T.)

    Activate MsDialog oDlgImp On Init EnchoiceBar( oDlgImp, {|| nOpt := 1, oDlgImp:End() }, {|| oDlgImp:End() }) Centered

    If nOpt != 0

        fValRot( nOpRe, aMatOs )

    EndIf

    RestArea(aArea)

Return

//-------------------------------------------------------------------
/*/{Protheus.doc} fOpcUsr
Função Generica para apresentar O.S. selecionadas

@author  Eduardo Mussi
@since   13/11/2018
@version P12
@param   aMatOs, Array, [ x, 1 ] - Plano
                        [ x, 2 ] - O.S.
/*/
//-------------------------------------------------------------------
Static Function fOpcUsr( aMatOs )

    Local cOrdens := ''
    Local nX

    For nX := 1 To Len(aMatOs)
        // Verifica se a O.S. já foi adicionada, caso não, adiciona a O.S. e o Plano na string cOrdens.
        If !( aMatOs[ nX, 2 ] $ cOrdens )
            cOrdens += 'Ordem : ' + aMatOs[nX, 2] + ' | - Plano : ' + aMatOs[nX, 1] + CRLF
        EndIf
    Next nX

    If !Empty(cOrdens)
        MsgInfo(cOrdens, 'ATENCAO')
    EndIf

Return

//-------------------------------------------------------------------
/*/{Protheus.doc} fValRot
Valida chamada de Rotina e chama função 
responsável para apresentar O.S.'s em tela

@author  Eduardo Mussi
@since   13/11/2018
@version P12
@param   nOpRe , Numérico, Opção escolhida pelo usuário
@param   aMatOs, Array, [ x, 1 ] - Plano
                        [ x, 2 ] - O.S.
/*/
//-------------------------------------------------------------------
Static Function fValRot( nOpRe, aMatOs )

    Default aMatOs := {}

    // Executa função de impressão selecionada
    If nOpRe == 1 .And. !Empty( aMatOs )
        fOpcUsr( aMatOs ) // Opção Usuário
    EndIf

Return
Card
labelVersão Antiga
Aviso

Os detalhes abaixo aplicam-se às versões anteriores à  dos fontes MNTA265.PRX e MNTA990.PRX

Ponto de Entrada

Descrição:

Ponto de Entrada executado após clicar no botão imprimir O.S. nas rotinas de Alteração de O.S. e Programação de O.S.

Localização:

SIGAMNT: Atualizações/Controle de Oficina/Plano de Manutenção/Alteração de O.S.

SIGAMNT: Atualizações/Controle de Oficina/Plano de Manutenção/Programação de O.S.

Eventos:

Alteração de O.S. (MNTA265)
Programação O.S. (MNTA990)

Programa Fonte:

MNTA265.prx

MNTA990.prx

Função:

IMPOSMNT()

Parâmetros:
NomeTipoDescrição
lValLógicoReservado
cPlaCarácterDe Plano
cPla2CarácterAté Plano
aMatOsArray

Contém as O.S.'s selecionadas no Browse

NomeTipoDescrição
Array[ x, 1 ]CarácterPlano O.S.
Array[ x, 2 ]CarácterOrdem de Serviço

 

Bloco de código
languagevb
themeEclipse
titleExemplo
linenumberstrue
#Include 'Protheus.ch'

//-------------------------------------------------------------------
/*/{Protheus.doc} IMPOSMNT
Apresenta Opções Impressão

@author  Eduardo Mussi
@since   13/11/2018
@version P11/P12
/*/
//-------------------------------------------------------------------
User Function IMPOSMNT(lVal, cPla, cPla2, aMatOs)

    Local aArea     := GetArea()
    Local aOptions  := { 'Opcao de Impressao 1' }
    Local nOpt      := 0
    Local oPnlPai   := Nil
    Local oDlgImp   := Nil

    Private nOpRe   := 1

    Define MsDialog oDlgImp From 00,00 To 270,600 Title 'Modelo de Impressao da Ordem' Pixel

    oPnlPai := TPanel():New(00,00,,oDlgImp,,,,,,320,200,.F.,.F.)
    oPnlPai:Align := CONTROL_ALIGN_ALLCLIENT

    oGroup1  := TGroup():New( 005, 030, 095, 130, 'Opcoes', oPnlPai,,,.T.)

    TRadMenu():New( 015, 035, aOptions, {|u| IIf( PCount() == 0, nOpRe, nOpRe := u )}, oPnlPai,,,,,,,, 60, 10,,,, .T.)

    Activate MsDialog oDlgImp On Init EnchoiceBar( oDlgImp, {|| nOpt := 1, oDlgImp:End() }, {|| oDlgImp:End() }) Centered

    If nOpt != 0

        fValRot( nOpRe, aMatOs )

    EndIf

    RestArea(aArea)

Return

//-------------------------------------------------------------------
/*/{Protheus.doc} fOpcUsr
Função Generica para apresentar O.S. selecionadas

@author  Eduardo Mussi
@since   13/11/2018
@version P12
@param   aMatOs, Array, [ x, 1 ] - Plano
                        [ x, 2 ] - O.S.
/*/
//-------------------------------------------------------------------
Static Function fOpcUsr( aMatOs )

    Local cOrdens := ''
    Local nX

    For nX := 1 To Len(aMatOs)
        // Verifica se a O.S. já foi adicionada, caso não, adiciona a O.S. e o Plano na string cOrdens.
        If !( aMatOs[ nX, 2 ] $ cOrdens )
            cOrdens += 'Ordem : ' + aMatOs[nX, 2] + ' | - Plano : ' + aMatOs[nX, 1] + CRLF
        EndIf
    Next nX

    If !Empty(cOrdens)
        MsgInfo(cOrdens, 'ATENCAO')
    EndIf

Return

//-------------------------------------------------------------------
/*/{Protheus.doc} fValRot
Valida chamada de Rotina e chama função 
responsável para apresentar O.S.'s em tela

@author  Eduardo Mussi
@since   13/11/2018
@version P12
@param   nOpRe , Numérico, Opção escolhida pelo usuário
@param   aMatOs, Array, [ x, 1 ] - Plano
                        [ x, 2 ] - O.S.
/*/
//-------------------------------------------------------------------
Static Function fValRot( nOpRe, aMatOs )

    Default aMatOs := {}

    // Executa função de impressão selecionada
    If nOpRe == 1 .And. !Empty( aMatOs )
        fOpcUsr( aMatOs ) // Opção Usuário
    EndIf

Return