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 |
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.
MATA103X.PRW
MT103DCF - Habilita botão Mais Inf. e acrescenta campos na aba DANFE ( [ PARAMIXB ] ) --> aCamposRet
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) |
- (array_of_record)
- Elemento 1: Código do campo
Elemento 2: Conteúdo do campo
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.
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