Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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):

NomeTipoDescriçãoObrigatório

PARAMIXB[1]
oDlg

Object

Objeto de interface gráfica contendo informações e atributos sobre a tela gerada para digitação da grade de produtos

X

PARAMIXB[2]

oGet

ObjectObjeto do tipo grid contendo informações e atributos sobre a grade de produtos para digitação e pesquisa na Grade.X

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

nto

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