Linha de Produto: | Microsiga Protheus | ||||||||||||||||||||
Segmento: | Manufatura | ||||||||||||||||||||
Módulo: | SIGAMNT - Manutenção de Ativos e Gestão de Frotas | ||||||||||||||||||||
Rotina: |
| ||||||||||||||||||||
Issues Relacionadas | 12.1.17 | ||||||||||||||||||||
País(es): | Todos | ||||||||||||||||||||
Banco(s) de Dados: | Todos | ||||||||||||||||||||
Sistema(s) Operacional(is): | Todos |
Descrição: | Ponto de Entrada que permite inserir opções no relatórios de O.S. a partir das rotinas supracitadas. | |||||||||||||||||||||||||||||||||||||
Localização: | SIGAMNT: Atualizações/Controle de Oificina/Manutenção/Alteração de O.S. SIGAMNT: Atualizações/Controle de Oificina/Retorno de O.S./Retorno SIGAMNT: Atualizações/Controle de Oificina/Ordem de Serviço/Corretiva SIGAMNT: Atualizações/Controle de Oificina/Retorno de O.S./Retorno Mod.2 SIGAMNT: Atualizações/Controle de Oificina/Árvore/Árvore SIGAMNT: Atualizações/Controle de Oificina/Controle de Portaria/Portaria SIGAMNT: Atualizações/Controle de Oificina/Plano de Manutenção/Programação de O.S. | |||||||||||||||||||||||||||||||||||||
Eventos: | Alteração de O.S. (MNTA265) | |||||||||||||||||||||||||||||||||||||
Programa Fonte: | MNTUTIL_OS.PRW MNTA295.prx MNTA990.prx | |||||||||||||||||||||||||||||||||||||
Função: | MNTIMPOS() | |||||||||||||||||||||||||||||||||||||
| Parâmetros: |
|
Exemplo:
#Include 'Protheus.ch'
//-------------------------------------------------------------------
/*/{Protheus.doc} MNTIMPOS
Apresenta Opções Impressão
@author Eduardo Mussi
@since 26/06/2018
@version P11/P12
/*/
//-------------------------------------------------------------------
User Function MNTIMPOS()
Local aOptions := {}
Local nOpt := 0
Local oPnlPai := Nil
Local oDlgImp := Nil
Local lRot265 := cPrograma == 'MNTA265'
Private nOpRe := 1
Define MsDialog oDlgImp From 00,00 To 270,600 Title 'Modelo de Impressão 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, 'Opções', oPnlPai,,,.T.)
If lRot265
aOptions := { 'Opção de Impressão 1' }
Else
aOptions := { 'Opção de Impressão 1', 'Opção de Impressão 2' }
EndIf
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(lRot265, nOpRe)
Endif
Return
//-------------------------------------------------------------------
/*/{Protheus.doc} fOpcUser
Função Generica para apresentar O.S. Posicionada nas demais chamadas
do ponto de entrada
@author Eduardo Mussi
@since 26/06/2018
@version P12
@param cOrdem, Caractér, Numero da O.S. Posicionada
@param nRecOs, Numérico, Recno da O.S. Posicionada
/*/
//-------------------------------------------------------------------
Static Function fOpcUser(cOrdem, nRecOs)
MsgInfo('OS : ' + cOrdem + ' | Recno : ' + cValToChar(nRecOs) , 'ATENCAO')
Return
//-------------------------------------------------------------------
/*/{Protheus.doc} fOpcUser2
Função Generica para apresentar O.S. selecionadas na rotina MNTA265
@author Eduardo Mussi
@since 26/06/2018
@version P12
@param aMatOs, Array, Contém informações da O.S.
/*/
//-------------------------------------------------------------------
Static Function fOpcUser2(aMatOs)
Local cOrdens := ''
Local nX
For nX := 1 To Len(aMatOs)
cOrdens += 'Ordem : ' + aMatOs[nX, 2] + ' | - Plano : ' + aMatOs[nX, 1] + CRLF
Next nX
If !Empty(cOrdens)
MsgInfo(cOrdens, 'ATENCAO')
EndIf
Return
//-------------------------------------------------------------------
/*/{Protheus.doc} fValRot
Valida chamada de Rotina
@author Eduardo Mussi
@since 26/06/2018
@version P12
@param lRot265, Lógico, Valida se chamada é feita pela Rotina MNTA265
@param nOpRe, Numérico, Opção escolhida pelo usuário
/*/
//-------------------------------------------------------------------
Static Function fValRot(lRot265, nOpRe)
Local cOrdem := PARAMIXB[2]
aMatSx1 := PARAMIXB[7]
If lRot265
//Tratativa realizada para chamada através da rotina MNTA265
aMatOs := PARAMIXB[6]
aMatSx16 := PARAMIXB[8]
cDePlano := PARAMIXB[4]
cAtePlano := PARAMIXB[5]
Do Case
// Executa função de impressão selecionada
Case nOpRe == 1
fOpcUser2( aMatOs ) // Opção Usuário
EndCase
Else
nRecOs := STJ->( Recno() )
// Executa função de impressão selecionada
Do Case
Case nOpRe == 1
fOpcUser( cOrdem, nRecOs ) // Opção Usuário
Case nOpRe == 2
// Chamada de relatório especifico
U_RelEspe( cOrdem, nRecOs ) // Opção Usuário
EndCase
EndIf
Return |