01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:


Função:MATA103X/MATA103 - Documento de Entrada
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :


02. DESCRIÇÃO

Ponto de entrada utilizado para habilitar o botão Mais Informações e incluir campos na aba Informações DANFE da rotina documento de entrada.


03. LOCALIZAÇÃO

Função A103CompDanfe - Ao clicar no botão Mais Inf.


04. PARAMETROS

Nome

Tipo

Descrição

PARAMIXB

Array of Record

  • Elemento 1: Tipo lógico informando se a operação é de Inclusão
  • Elemento 2: Tipo lógico informando se a operação é de Alteração
  • Elemento 3: Tipo lógico informando se a operação é de Visualização
  • Elemento 4: Tipo array contendo os campos e seus conteúdos que já tenham sido informados na mesma rotina (ao clicar no botão Mais Inf., informar os conteúdos dos campos, sair, e clicar novamente, devem ser apresentados os mesmos conteúdos)

05. RETORNO

Tipo

Descrição

Array of Record
  • Elemento 1: Código do campo
  • Elemento 2: Conteúdo do campo

Observações:

O ponto de entrada foi concebido com a finalidade de criar uma nova interface de entrada de dados, que é aberta ao clicar no botão Mais Inf., possibilitando a informação de qualquer campo desejado da tabela SF1. 

Pode ser utilizado MSDIALOG ou MBROWSE. Se for utilizado MSDIALOG é necessário o include PROTHEUS.CH.


O retorno deve ser obrigatoriamente um array com o código do campo no primeiro elemento e seu conteúdo no segundo elemento.

06. EXEMPLO DE UTILIZAÇÃO

#INCLUDE "PROTHEUS.CH"

/*/{Protheus.doc} MT103DCF
PE para habilitar botão Mais Inf. e acrescenta campos na aba DANFE
@type     function
@author      
@since       24/10/2024
/*/
User Function MT103DCF()

Local lInclui    := PARAMIXB[1]
Local lAltera    := PARAMIXB[2]
Local lVisual    := PARAMIXB[3]
Local aCamposPar := PARAMIXB[4] // Traz o histórico dos campos e seus conteúdos.
Local aCamposRet := {} // Validações do usuário
Local cRetorno   := ""

If Len(aCamposPar) == 0 // Se estiver vazio, significa que é o primeiro clique do usuário.


  cRetorno := FWInputBox("Informe o conteúdo à gravar no novo campo", "Digite aqui")


  AAdd(aCamposRet, {"F1_CHVNFE", AllTrim(cRetorno)}) // Na primeira posição do array, informe o nome do campo, na segunda posição, informe o conteúdo a ser gravado.

Else // Caso contrário, será um novo clique, assim o sistema traz o histórico do que foi definido anteriormente pelo usuário.


  If FWAlertYesNo("Informação já digitada anteriormente para o novo campo, deseja informar novamente?", "Novo campo")


    cRetorno := FWInputBox("Informe o conteúdo à gravar no novo campo", aCamposPar[1][2])


    AAdd(aCamposRet, {"F1_CHVNFE", AllTrim(cRetorno)}) // Na primeira posição do array, informe o nome do campo, na segunda posição, informe o conteúdo a ser gravado.

  Else
    aCamposRet := aCamposPar
   
  EndIf
EndIf


Return aCamposRet