Páginas filhas
  • AXALTERA()

Versões comparadas

Chave

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

Sintaxe

 


AxAltera( <cAlias>, <nReg>, <nOpc>, <aAcho>, <aCpos>, <nColMens>, <cMensagem>, <cTudoOk>, <cTransact>, <cFunc>, <aButtons>, <aParam>, <aAuto>, <lVirtual>, <lMaximized>) 


Propósito 


Permite, por meio de uma interface, que o usuário altere as informações de um arquivo de dados, conforme a necessidade da aplicação. 


Argumentos 


< cAlias > 


Arquivo de dados cujas informações serão alteradas. Esse arquivo está cadastrado no Dicionário de Tabelas do Protheus (SX2). 


< nReg > 


Número do registro (recno) posicionado no alias ativo e que será alterado.

 


< nOpc > 


Número da linha do array aRotina que define o tipo de edição (Inclusão, Alteração, Exclusão e Visualização). A função AxAltera() será executada quando o usuário selecionar a opção Alteração. 


< aAcho > 


Array com o nome dos campos que serão exibidos na interface (tela). Os campos específicos de usuário sempre serão exibidos se não existir no parâmetro um elemento com a expressão “NOUSER”.

 


< aCpos > 


Array com o nome dos campos que poderão ser editados.

 


<nColMens >

 


Parâmetro não utilizado. 


< cMensagem > 


Parâmetro não utilizado. 


< cTudoOk >

 


Função de validação das informações confirmadas pelo usuário após a alteração. Não deve ser passada como bloco de código, mas pode ser passada como uma lista de expressões, desde que a última ação retorne um valor lógico. Exemplo: 


“( Func1(), Func2(), ..., FuncX(), .T. )”

 


< cTransact > 


Função que será executada dentro da transação da AxFunction(). 


< cFunc > 


Função que carregará as variáveis que serão utilizadas pelo objeto Enchoice. Neste caso, o parâmetro lVirtual é definido internamente pela função AxFunction() e executada como verdadeira (.T.). 


< aButtons > 


Botões adicionais que serão adicionados na barra de ferramentas padrão (EnchoiceBar). As informações de cada botão devem ser passadas no seguinte formato:

 


aArray[n][1]  -->  Imagem do botão

...

aArray[n][3]  -->  Título do botão 


< aParam >

 


Funções que serão executadas em pontos pré-definidos da AxFunction(), conforme descrito abaixo: 


aParam[1]  -->  Bloco de código que será processado antes da exibição das informações na tela

...

aParam[4]  -->  Bloco de código que será executado fora da transação da AxFunction() 


< aAuto > 


Indica que a alteração será realizada de forma automática pela própria função, sem a necessidade de exibir a tela de interface e com base nos dados enviados neste parâmetro. 


Esse array é montado no formato utilizado pela função padrão MsExecAuto(). Caso esse array seja informado, a tela de interface não será exibida e será executada a função EnchAuto(). 


O array deve ser montado no seguinte formato: 


aAuto[n][1]  -->  Nome do campo

...

aAuto[n][3]  -->  Validação que será utilizada em substituição às validações definidas no Dicionário de dados SX3 


< lVirtual > 


Indica se a interface utilizará variáveis de memória ou os campos do próprio arquivo de dados na edição.

 


Deve-se informar verdadeiro (.T.) para se utilizar variáveis de memória ou falso (.F.) para os campos do próprio arquivo de dados. 


< lMaximized > 


Indica se a janela será maximizada ou não. 


Deve-se informar verdadeiro (.T.) para se maximizar a janela ou falso (.F.) para não maximizá-la.

 


Utilização 


Esse componente visual é muito utilizado na interface das aplicações para alterar informações incluídas anteriormente.

 

Exemplos


Observação


Essa função pertence ao framework do ERP Protheus.

A variável cCadastro deve ser utilizada como Private no font.


Exemplos 


USER FUNCTION CTJ40Alt

 


LOCAL nReg    := ( cString )->( Recno() )

LOCAL aCpos  := {"PA4_DTINI","PA4_DTFIM"} 


AxAltera(cString,nReg,4,,aCpos)

 


RETURN NIL