Sintaxe

 

AxInclui( <cAlias>, <nReg>, <nOpc>, <aAcho>, <cFunc>, <aCpos>, <cTudoOk>, <lF3>, <cTransact>, <aButtons>, <aParam>, <aAuto>, <lVirtual>, <lMaximized>)

 

Propósito

 

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

 

Argumentos

 

< cAlias >

 

Arquivo de dados no qual as informações serão incluídas. Esse arquivo está cadastrado no Dicionário de Tabelas do Protheus (SX2).

 

< nReg >

 

Número do registro (recno) posicionado no alias ativo.

 

< 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 AxInclui() será executada quando o usuário selecionar a opção Incluir.

 

< 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”.

 

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

 

< aCpos >

 

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

 

< cTudoOk >

 

Função de validação das informações confirmadas pelo usuário e que serão gravadas. 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. )”

 

< lF3 >

 

Indica se a interface está sendo criada em uma consulta F3 para utilizar variáveis de memória.

 

< cTransact >

 

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

 

< 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][2]  -->  Bloco de código contendo a ação que o botão executará

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[2]  -->  Bloco de código para processamento na validação da confirmação das informações

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

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

 

< aAuto >

 

Indica que a inclusã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][2]  -->  Conteúdo 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.

 

< lMaximized >

 

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

 

Utilização

 

Esse componente visual é muito utilizado na interface das aplicações para que o usuário digite as informações.

 

Observação

 

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

 

Exemplos

 

nOpcA := AxInclui( cAlias, nReg, 1,,"U_A110LeReg()",,,,,aButtons,,,.T.)