Árvore de páginas

Ponto-de-Entrada: MT103DCF - Habilita botão Mais Inf. e acrescenta campos na aba DANFE


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


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.
LOCALIZAÇÃO: Função A103CompDanfe.
EM QUE PONTO: Ao clicar no botão Mais Inf.
Programa Fonte
MATA103X.PRW
Sintaxe

MT103DCF - Habilita botão Mais Inf. e acrescenta campos na aba DANFE ( [ PARAMIXB ] ) --> aCamposRet

Parâmetros:



Nome

Tipo

Descrição

Default

Obrigatório

Referência

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)











Retorno
aCamposRet
    (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.


Exemplo:

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_XNOVO", 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_XNOVO", 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