Histórico da Página
A550BUT - Adiciona botões de ação
Linha de Produto: | Protheus | ||||||||||||
Segmento: | Manufatura | ||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | ||||||||||||
Parâmetro(s): |
| ||||||||||||
Ponto de Entrada: | A550BUT - Adiciona botões de ação | ||||||||||||
Idiomas: | Português, Espanhol, Inglês | ||||||||||||
País(es): | Todos | ||||||||||||
Banco(s) de Dados: | Todos | ||||||||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
Descrição: | O ponto entrada A550BUT adiciona botões de ação nas telas de inclusão e alteração da grade de produtos. |
Localização: | Funções A550GetInc() e A550GetAlt() - responsáveis pelas interfaces de marcação da grade dos produtos a serem gerados, antes da abertura da tela de digitação. |
Eventos: | |
Programa Fonte: | MATA550.PRX |
Sintaxe: | A550BUT - Adiciona botões de ação ( [ PARAMIXB[ 1 ] ][ PARAMIXB[ 2 ] ] ) --> aButtons |
Retorno: | aButtons - vetor contendo a lista de botões para serem adicionados na barra de ações relacionadas da interface de digitação da grade de produtos. |
Observações: | Este ponto de entrada permite, dentre outras opções, gerar um botão para pesquisa das colunas e linhas da grade, como demonstrado adiante. No exemplo, é adicionado um botão de pesquisa em que é possível gerar uma interface gráfica para digitação da coluna e linha específica para ser posicionada na grade de produtos. |
Exemplo:
#Include'Protheus.ch'
UserFunctionA550But()
Local aButtons := {}
Local oDialog :=ParamIxb[ 1 ]
Local oGetDB :=ParamIxb[ 2 ]
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
Adiciona botão para Pesquisa de Celulas na MsGetDados
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Aadd( aButtons, { 'Pesquisar', { || U_A550Pesq( oGetDB ) } ,"Botao de Pesquisa","Pesquisar" } )
ReturnaButtons
UserFunctionA550Pesq( oGetDB )
Local cBuscaLin :=Space( 10 )
Local cBuscaCol :=Space( 10 )
Local nOpca :=0
Local oDlg
Local oBusca
Local lOk :=.F.
Local nTamBVTab :=TamSx3( 'BV_CHAVE' )[ 01 ]
While !lOk
DEFINEMSDIALOGoDlgTITLEOemToAnsi( "Pesquisa por Descriç?o" ) FROM00,0TO100,290OFoMainWndPIXEL
@08,05SAYOemToAnsi( 'Linha:' ) OFoDlgPIXELSIZE25,9
@05,30MSGEToBuscaVARcBuscaLinPICTURE'@!'SIZE50,9OFoDlgPIXEL
@23,05SAYOemToAnsi( 'Coluna:' ) OFoDlgPIXELSIZE25,9
@20,30MSGEToBuscaVARcBuscaColPICTURE'@!'SIZE50,9OFoDlgPIXEL
DEFINESBUTTONoBut1FROM05,110TYPE1ACTION( nOpca:=1,oDlg:End() ) ENABLEOFoDlg
DEFINESBUTTONoBut1FROM20,110TYPE2ACTION( nOpca:=2,oDlg:End() ) ENABLEOFoDlg
ACTIVATEMSDIALOGoDlgCENTERED
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
O trecho de código abaixo pode variar de acordo com a configuração no
Dicionário SX3, e Verifique o tamanho dos campos BV_TABELA e BV_CHAVE para
realizar os comandos de pesquisa.
Este exemplo esta utlizando a configuração:
- B1_COD = 15 posições
- BV_CHAVE = 06 posições
- BV_TABELA = 02 posições
- MV_MASCGRID = 11,02,02
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
IfnOpca==1
nPosLin:=Ascan( aCols ,{ | x | AllTrim( SubStr( x[ 1 ],nTamBVTab ) ) ==AllTrim( cBuscaLin ) } )
nPosCol:=Ascan( aHeader ,{ | x | AllTrim( SubStr( x[ 1 ],nTamBVTab ) ) ==AllTrim( cBuscaCol ) } )
IfnPosLin>0.And.nPosCol>0
oGetDB:oBrowse:nAt :=nPosLin
oGetDB:oBrowse:ColPos :=nPosCol
oGetDB:oBrowse:Refresh()
lOk:=.T.
Else
Alert( 'Falha na Pesquisa !' )
EndIf
Else
Exit
EndIf
End
ReturnNil