Árvore de páginas

Versões:Microsiga Protheus 8.11 , Microsiga Protheus 10
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Idiomas:Espanhol , Inglês


Descrição:

Este Ponto de Entrada tem por objetivo customizar a tela das rotinas de Inclusão, Visualização e Estorno da Desmontagem de Produtos.


Programa Fonte

mata242.prx

Parâmetros:

Nome

Tipo

Descrição

Conteúdo

ParamIXB[1]

Objeto (MsDialog)

Objeto da classe MsDialog, que apresenta todos os campos do cabeçalho

Instância do objeto MsDialog

ParamIXB[2]ArrayContém os arrays com o tamanho dos objetos na tela

Array de 5 posições:

  • [1] - Contem um array de 7 posições com as coordenadas da primeira linha
    • [1][1] - Posição inicial da linha (Numérico)
    • [1][2] - Posição inicial da coluna (Numérico)
    • [1][3] - Posição final da linha (Numérico)
    • [1][4] - Posição final da coluna (Numérico)
    • [1][5] - Largura da linha (Numérico)
    • [1][6] - Altura da linha (Numérico)
    • [1][7] - Identificador da linha (Caractere)
  • [2] - Contem um array de 7 posições com as coordenadas da segunda linha
  • [3] - Contem um array de 7 posições com as coordenadas da terceira linha
  • [4] - Contem um array de 7 posições com as coordenadas da quarta linha
  • [5] - Contem um array de 7 posições com as coordenadas da quinta linha
ParamIXB[3]NuméricoOpção executada pelo usuário
  • 2 - Visualizar
  • 3 - Incluir
  • 4 - Estornar
ParamIXB[4]NuméricoNúmero do registro corrente.Número do registro da SD3 atual


Retorno:

O ponto de entrada não espera nenhum retorno.


Exemplo de Utilização:

MT242SCR
#Include 'Totvs.ch'

Static cGet1  := '' //Conteúdo do campo

/*/{Protheus.doc} User Function MT242SCR
    Permite adicionar objetos gráficos ao cabeçalho da desmontagem (MATA242)
    @type  Function
    @author TOTVS
    /*/
User Function MT242SCR()
    Local oDlg   := ParamIXB[1] //Cabeçalho (objeto da clase MsDialog)
    Local aSize  := ParamIXB[2] //Array com a posição dos objetos
    Local nOpc   := ParamIXB[3] //Indica qual a operação
    Local nReg   := ParamIXB[4] //Indica o Recno da SD3 posicionado
    Local nCol1  := 0
    Local nCol2  := 0
    Local nLin1  := 0
    Local nLin2  := 0
    Local nWid   := 0
    Local nHei   := 0
    Local cTit   := ''          //Título do campo customizado
    Local oSay1  := Nil         //Título do campo customizado
    Local oGet1  := Nil         //Campo customizado
    Local nRec   := 0
    Local lEdit  := .T.

    //Coordenadas da linha
    nLin1 := aSize[4][1] //Topo da linha
    nLin2 := aSize[4][3] //Fim da linha
    nCol1 := aSize[4][2] //Coluna inicial
    nCol2 := aSize[4][4] //Coluna final

    //Calcula as posições para o título
    nWid  := nCol2-nCol1 //Largura da linha
    nHei  := nLin2-nLin1 //Altura da linha

    //Ajuste para posicionar o objeto no final da linha
    nCol1 := 2*nWid/3    
    nWid  := nWid/12
    nLin1 += 3 
    nCol1 += 3

    //Inclui o objeto do título
    cTit := 'Cpo Custom'
    oSay1 := TSay():New(nLin1,nCol1,{||cTit},oDlg,,,,,,.T.,,,nWid,nHei,,,,,,,,)

    //Coordenadas da linha
    nLin1 := aSize[4][1] //Topo da linha
    nLin2 := aSize[4][3] //Fim da linha
    nCol1 := aSize[4][2] //Coluna inicial
    nCol2 := aSize[4][4] //Coluna final

    //Calcula as posições para a caixa de texto
    nWid  := nCol2-nCol1 //Largura da linha
    nHei  := nLin2-nLin1 //Altura da linha

    //Ajuste para posicionar o objeto no final da linha
    nCol1 := 2*nWid/3    
    nWid  := nWid/6
    nLin1 += 3 
    nCol1 += 3+nWid/2
    nHei  -= 5

    oGet1 := TGet():New(nLin1,nCol1,{|u|If(PCount()==0,cGet1,cGet1:= u)},oDlg,nWid,nHei;
    ,,,0,,,.F.,,.T.,,.F.,{||lEdit},.F.,.F.,,.F.,.F.,,'cGet1',,,, )

    //Tratamentos para cada tipo de operação
    If nOpc == 3 //Inclusão
        cGet1 := Space(Len(SD3->D3_USUARIO)) //Informar o valor do campo customizado
	    lEdit := .T.
    Else //Visualizar ou estornar
        nRec := SD3->(Recno())
        SD3->(DbGoto(nReg))
        cGet1 := SD3->D3_USUARIO //Informar o valor do campo customizado
        SD3->(DbGoto(nRec))
        lEdit := .F.
    EndIf

Return Nil

/*/{Protheus.doc} User Function MA242D3
    Grava o campo no banco de dados, nas movimentações de Devolução do grid
    @type  Function
    @author TOTVS
    /*/
User Function MA242D3()
    Local nLinha := ParamIXB[1]

    If !aCols[nLinha, Len(aCols[nLinha])] //Registro não deletado
        SD3->D3_USUARIO := cGet1
    EndIf
Return

/*/{Protheus.doc} User Function M242D3IN
    Grava o campo no banco de dados, na movimentação de Requisição do produto do cabeçalho
    @type  Function
    @author TOTVS
    /*/
User Function M242D3IN()
    SD3->D3_USUARIO := cGet1
Return 

Importante

Para gravação dos dados, é necessário usar o Ponto de entrada MTA242I/MA242D3 (gravação por item) ou MTA242IN/M242D3IN (gravação total), e a variável usada no campo adicionado deve ser estática ou pública.


Outras informações

Veja também:

TGet

TSay