Ir para o final dos metadados
Ir para o início dos metadados

Índice

 

Plataforma

Produto:  fluig

 

Ocorrência

Utilização do hAPI.getCardValue() com campos tipo múltipla escolha.

 

Causa

Campos do tipo múltipla escolha tem um tratamento diferente dos campos simples.

Um campo do tipo 'checkbox', 'radio' ou um 'select' (combo-box) por exemplo, no banco de dados fica armazenado o valor da propriedade 'value' no campo, mas caso não houver esta propriedade, os campos 'radio' e 'checkbox' ficam com o valor "on" no banco de dados, enquanto o 'select' fica com o valor da descrição de uma das opções.

Assim como um campo simples, caso o mesmo não for preenchido ou não for selecionado uma opção em um campo, o retorno no hAPI.getCardValue() será vazio.

 

Solução

Uma boa prática no desenvolvimento de formulários no fluig é sempre utilizar a propriedade 'value'!

Isto faz com que seja armazenado exatamente o valor desejado, sendo possível assim tratar os dados posteriormente em workflows e relatórios por exemplo.
Abaixo tem um exemplo especificamente da propriedade 'value' em alguns campos para melhor entendimento:

Atendimento Faturado? 
<input type="checkbox" name="ckAtendimentoFaturado" id="ckAtendimentoFaturado" value="sim" />
 
Cartão:
<input type="radio" name="cartaoRadio" id="cartaoVisa" value="visa" />
<input type="radio" name="cartaoRadio" id="cartaoMaster" value="master" /> 
<input type="radio" name="cartaoRadio" id="cartaoElo" value="elo" />
 
Cartão:
<select name="cartaoSelect" id="cartaoSelect">
	<option value="visa">Visa</option>
	<option value="master">Master</option>
	<option value="elo">Elo</option>
</select>
 

 

Para recuperar as informações nos wofklows, basta utilizar o hAPI.getCardValue("campoNameNoHTML"). Quando for consultado o valor do campo "Cartão" como no exemplo acima, o retorno será o do 'value', por exemplo: "visa" ou "master". No caso do campo 'ckAtendimentoFaturado' ocorre a mesma coisa, exemplo:

 

if (hAPI.getCardValue("ckAtendimentoFaturado") == "sim"){
 
	//Se foi faturado o atendimento, segue o procedimento
 
	if (hAPI.getCardValue("cartaoRadio") == "visa"){
		//Então aqui pode ter o desenvolvimento de uma rotina qualquer...
	}
}

Observações

Apesar de não ser utilizado aqui, pois é somente um exemplo, é muito importante seguir o fluig Style Guide para o desenvolvimento de formulários!

Para mais detalhes sobre desenvolvimentos sobre a plataforma, verifique as documentações de formulários e processos.