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 acima. | |||||||||||||||||||||||||||||||||||||
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 aMatOs := Nil
Local aOptions := {}
Local cOrdem := PARAMIXB[2]
Local lHabPar := .F. //Habilita Botão de Parâmetros
Local nOpt := 0
Local nOpImp := 0
Local nRecOs := 0
Local oPnlPai := Nil
Local oSay1 := Nil
Local oDlgImp := Nil
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, "Opções", oPnlPai,,,.T.)
aOptions := {"Básica", "Simplificada", "Padrão Normal","Padrão Gráfica", "Completa Normal", "Completa Gráfica", "OS Interna", "Opção Usuário"}
TRadMenu():New( 015, 035, aOptions, {|u| IIf( PCount() == 0, nOpImp, nOpImp := u )}, oPnlPai,,,,,,,, 60, 10,,,, .T.)
Activate MsDialog oDlgImp On Init EnchoiceBar( oDlgImp, {|| nOpt := 1, IIF(nOpImp != 0, oDlgImp:End(), MsgInfo("Escolha uma Opção!", "INVALIDO")) }, {|| oDlgImp:End() }) Centered
If nOpt != 0
If cPrograma == "MNTA265"
aMatOs := PARAMIXB[6]
Else
nRecOs := STJ->( Recno() )
EndIf
Do Case
Case nOpImp == 1
MNTBA676(lHabPar, nRecOs, aMATOS, aMATSX1)
Case nOpImp == 2
MNTSI676(lHabPar, nRecOs, aMATOS, aMATSX1)
Case nOpImp == 3
MNTR675(lHabPar,,, aMATOS, 1, aMATSX1, nRecOs)
Case nOpImp == 4
MNTR675(lHabPar,,, aMATOS, 2, aMATSX1, nRecOs)
Case nOpImp == 5
MNTR675(lHabPar,,, aMATOS, 3, aMATSX1, nRecOs)
Case nOpImp == 6
MNTR675(lHabPar,,, aMATOS, 4, aMATSX1, nRecOs)
Case nOpImp == 7 .And. cPrograma != "MNTA265"
MNTR422(cOrdem)
Case nOpImp == 8
If cPrograma != "MNTA265"
fOpcUser(cOrdem, nRecOs)
Else
fOpcUser2(aMatOs)
EndIf
EndCase
Endif
Return
//-------------------------------------------------------------------
/*/{Protheus.doc} fOpcUser2
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) ,"ATENÇÃO")
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, 1] + " Plano : " + aMatOs[nX, 2] + CRLF
Next nX
If !Empty(cOrdens)
MsgInfo(cOrdens, "ATENÇÃO")
EndIf
Return |