Histórico da Página
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: |
| ||||||||||||
Issues Relacionadas | 12.1.17 | ||||||||||||
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 clicar no botão imprimir O.S. das rotinas de Alteração de O.S. e Programação de O.S. | |||||||||||||||||||||||||||||
Localização: | SIGAMNT: Atualizações/Controle de Oficina/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 Fonte: | MNTA295.prx MNTA990.prx | |||||||||||||||||||||||||||||
Função: | IMPOSMNT() | |||||||||||||||||||||||||||||
Parâmetros: |
|
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#Include 'Protheus.ch' //------------------------------------------------------------------- /*/{Protheus.doc} IMPOSMNT Apresenta Opções Impressão @author Eduardo Mussi @since 2613/0611/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} fOpcUser2fOpcUsr Função Generica para apresentar O.S. selecionadas nas rotinas MNTA265 e MNTA990 @author Eduardo Mussi @since 2613/0611/2018 @version P12 @param aMatOs, Array, Contém informações da, [ x, 1 ] - Plano [ x, 2 ] - O.S. /*/ //------------------------------------------------------------------- Static Function fOpcUser2fOpcUsr( 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 2613/0611/2018 @version P12 @param nOpRe , Numérico, Opção escolhida pelo usuário @param aMatOs, Array, [ x, 1 ] - Plano [ x, 2 ] - ContendoO.S. /*/ //------------------------------------------------------------------- Static Function fValRot( nOpRe, aMatOs ) Default aMatOs := {} // Executa função de impressão selecionada If nOpRe == 1 .And. !Empty( aMatOs ) fOpcUser2fOpcUsr( aMatOs ) // Opção Usuário EndIf Return |