Bloco de código |
---|
language | vb |
---|
theme | Eclipse |
---|
title | Exemplo |
---|
linenumbers | true |
---|
| #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
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 |
---|
label | Anterior a [DATA_EXPEDIÇÃO |
---|
| Ponto de EntradaDescriçã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: | Nome | Tipo | Descrição | lVal | Lógico | Reservado | cPla | Carácter | De Plano | cPla2 | Carácter | Até Plano | aMatOs | Array | Contém as O.S.'s selecionadas no Browse Nome | Tipo | Descrição | Array[ x, 1 ] | Carácter | Plano O.S. | Array[ x, 2 ] | Carácter | Ordem de Serviço |
|
|
Bloco de código |
---|
language | vb |
---|
theme | Eclipse |
---|
title | Exemplo |
---|
linenumbers | true |
---|
| #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 |
|
|