sexta-feira, 4 de abril de 2014

OBJETO DE ENTRADA

******************************************************
*- Programa Base de Criação de Objeto de Entrada
********************************************************************
*- O programa deve ser texto com o nome = OBJ_xxxxxx.prg onde x=numero da tela
*- Este arquivo deve ser colocado no diretorio \Linx_sql\Linx\Exclusivos
*******************************************************************************
*- Existem 2 parametros que influem nos objetos de Entrada: 
*  utiliza_objeto_entrada = .f. desliga os objetos de entrada para testar telas sem os mesmos
*  mostra_nome_obj = .t. mostra o nome dos objetos no tooltip em tempo de execução para facilitar o desenvolvimento
*********************************************************************************


*********************************************************************************
* - Atencao !!!!!!!!!!!                                                                                -*
* - Toda vez que houver qualquer alteracao no PRG deve-se apagar o arquivo FXP -*
*********************************************************************************

*
*                 Abaixo segue Programa objeto sem Codigo
*
*
*- Definindo a classe do objeto de entrada que sera criado na Form.
define class obj_entrada as custom
      *- Nome do metodo/função que os objetos linx vão chamar.
      procedure metodo_usuario
            *- Parametros do metodo:
            *- Xmetodo= nome do metodo
            *- Xobjeto= variavel com a referencia ao objeto
            *- Xnome_obj  = nome do objeto
            lparam xmetodo, xobjeto ,xnome_obj
           
            ******************** Metodos chamados pelo FORMSET
            *     USR_INIT
            *     USR_ALTER_BEFORE  ->Return .f. Para o Metodo
            *     USR_ALTER_AFTER   
            *     USR_INCLUDE_AFTER
            *     USR_SEARCH_BEFORE ->Return .f. Para o Metodo
            *     USR_SEARCH_AFTER
            *     USR_CLEAN_AFTER
            *     USR_REFRESH
            *     USR_SAVE_BEFORE   ->Return .f. Para o Metodo
            *     USR_SAVE_AFTER
            *     USR_ITEN_DELETE_BEFORE ->Return .f. Para o Metodo
            *     USR_ITEN_DELETE_AFTER
            *     USR_ITEN_INCLUDE_BEFORE ->Return .f. Para o Metodo
            *     USR_ITEN_INCLUDE_AFTER
            *
            ***************** Metodos que ocorrem dentro da Transaction do Banco de Dados
            *     USR_TRIGGER_AFTER ->Return .f. Para o Salvamento e da Rollback
            *     USR_TRIGGER_BEFORE ->Return .f. Para o Salvamento e da Rollback


            ******************** Metodo chamado pelos Objetos na Validação
            *   USR_VALID -> Return .f. Não deixa o Usuario sair do objeto.



            DO CASE
           
                CASE UPPER(xmetodo) == 'USR_INIT'
                  ThisFormset.Lx_form1.lx_pageframe1.page7.addobject('BTN_IMPORTA','BOTAO1')
                      ThisFormset.Lx_form1.lx_pageframe1.page7.addobject('CAIXA_TEXTO','tx_nf_entrada_obj')
                  *Object.AddObject(cName, cClass [, cOLEClass] [, aInit1, aInit2 ...])
                  CASE UPPER(xmetodo) == 'USR_REFRESH'
                  CASE UPPER(xmetodo) == 'USR_SAVE_BEFORE'
                  CASE UPPER(xmetodo) == 'USR_SAVE_AFTER'
                  CASE UPPER(xmetodo) == 'USR_VALID'
                  CASE UPPER(xmetodo) == 'USR_INCLUDE_AFTER'
                  CASE UPPER(xmetodo) == 'USR_SEARCH_BEFORE'
                  CASE UPPER(xmetodo) == 'USR_SEARCH_AFTER'                
                  CASE UPPER(xmetodo) == 'USR_ALTER_AFTER'
                  CASE UPPER(xmetodo) == 'USR_ALTER_BEFORE'
                  CASE UPPER(xmetodo) == 'USR_VALID'
                  CASE UPPER(xmetodo) == 'USR_TRIGGER_BEFORE'
                 
                 

                  OTHERWISE
                        return .t.       
                                  
            ENDCASE
      ENDPROC
ENDDEFINE


DEFINE CLASS BOTAO1 as COMMANDBUTTON
      caption = 'DESCRICAO BOTAO'
      fontname = 'tahoma'
      fontsize = 8
      Height = 27
      Left = 560
      Top = 10
      Width = 120
      visible = .T.
     
      PROCEDURE click()&&EVENTO
            *comandos a ser execultados
      ENDPROC
ENDDEFINE

DEFINE CLASS label_cmedio as label
      Height = 15
      Left = 333
      Top = 259
      Width = 61
      Name = 'lb_custo_medio'
      visible = .t.
    enabled = .t.
    caption = 'Custo Médio'
    Autosize = .f.
    backstyle = 0
    backcolor = RGB(236,233,216)
    fontsize  = 8
Enddefine   

DEFINE CLASS tx_nf_entrada_obj as lx_textbox_BASE
      ControlSource = 'V_entradas_00.nf_entrada'
      Height = 19
      Left = 516
      Top = 25
      Width = 84
      tabindex = 10
      Name = 'tx_nf_entrada'
      visible = .T.
      p_Tabela_source = 'V_ENTRADAS_00'
      p_tipo_dado = 'CHAVE'
      maxlength = 6
      inputmask = '!!!!!!'
     
      PROCEDURE when &&EVENTO
            *Expressão
      ENDPROC

      Procedure lostfocus()&&EVENTO
            *Expressão
      Endproc


ENDDEFINE 

Nenhum comentário:

Postar um comentário