Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

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

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:

code

languagedelphi
themeMidnight
titleExemplo A550BUT
linenumberstrue

#Include

'Protheus.ch'


User

Function

A550BUT

A550But()


Local

aButtons

  :=

{}


Local

oDialog

   :=

PARAMIXB

ParamIxb[ 1 ]

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Adiciona botao para pesquisa de celulas da MsGetDados ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


Local oGetDB    :=ParamIxb[ 2 ]

/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
        Adiciona botão para Pesquisa de Celulas na MsGetDados
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/

Aadd( aButtons,

{ 'Pesquisar', { || U_A550Pesq(

oDialog

oGetDB ) } ,"

Botão

Botao de

pesquisa

Pesquisa","Pesquisar" } )



Return

aButtons



User

Function

A550Pesq(

oWindow

oGetDB )


Local

cBuscaLin

 :=

Space( 10 )


Local

cBuscaCol

 :=

Space( 10 )


Local

nOpca

     :=

0


Local

oDlg


Local

oBusca


Local

lOk

       :=

.F.


Local

nTamBVTab

 :=

TamSX3

TamSx3(

"

'BV_

TABELA"

CHAVE' )[

1

01 ]



While

!lOk


    DEFINE

MSDIALOG

oDlg

TITLE

OemtoAnsi

OemToAnsi( "Pesquisa

por

descrição

Descriç?o" )

FROM

00,0

TO

100,290

OF

oMainWnd

PIXEL @

PIXEL

    @08,05

SAY

OemToAnsi(

"LINHA

'Linha:

"

' )

Of

OFoDlg

PIXEL

SIZE

25

,9

@


    @05,30

MSGET

oBusca

VAR

cBuscaLin

PICTURE

"

'@!

"

'SIZE

50,

9

OF

oDlg

PIXEL @

PIXEL
    @23,05

SAY

OemToAnsi(

"COLUNA

'Coluna:

"

' )

Of

OFoDlg

PIXEL

SIZE

25

,9

@


    @20,30

MSGET

oBusca

VAR

cBuscaCol

PICTURE

"

'@!

"

'SIZE

50,

9

OF

oDlg

PIXEL

    DEFINE

SBUTTON

oBut1

FROM

05,

110

TYPE

1

ACTION

(

nOpca

:=

1,

oDlg:End()

)

ENABLE

of oDlg DEFINE SBUTTON oBut1 FROM 20, 110 TYPE 2 ACTION ( nOpca := 0,

OFoDlg
    DEFINESBUTTONoBut1FROM20,110TYPE2ACTION( nOpca:=2,oDlg:End()

)

ENABLE

of oDlg ACTIVATE MSDIALOG oDlg CENTERED If nOpca == 1 //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Essa sessao de codigo pode variar de acordo com o dicionario SX3, portanto, ³ //³ altere-a conforme necessario. Verifique o tamanho dos campos BV_TABELA e BV_CHAVE ³ //³ para realizar os comandos abaixo. Nesse exemplo, o ambiente esta configurado como a seguir: ³ //³ Tamanho B1_COD = 15 ³ //³ Tamanho BV_CHAVE = 6 ³ //³ Tamanho BV_TABELA = 2 ³ //³ MV_MASCGRD = 11,02,02 ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ nPosLin := Ascan(aCols ,{|x| Alltrim(Substr(x[1],nTamBVTab + 4)) == AllTrim(cBuscaLin) }) nPosCol := Ascan(aHeader,{|x| Alltrim(Substr(x[1],nTamBVTab + 4)) == AllTrim(cBuscaCol) }) If nPosLin > 0 .And. nPosCol > 0 oWindow:oCtlFocus:nAt := nPosLin oWindow:oCtlFocus:colpos := nPosCol oWindow:Refresh() lOk := .T. Else Alert("Falha na pesquisa !") EndIf Else Exit EndIf End Return

OFoDlg

    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