Histórico da Página
Índice
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
|
Plataforma
Produto: TOTVS Fluig Plataforma
Ocorrência
Utilização do hAPI.getCardValue() com campos tipo múltipla escolha.
Causa
Campos do tipo múltipla escolha tem um tratamento um pouco 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 trata-lo posteriormente, 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:
Bloco de código | ||
---|---|---|
| ||
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:
Observações
É importante ter um conhecimento de HTML e Javascript básico para melhor entendimento desta FAQ.
Para mais detalhes sobre desenvolvimento de formulários e processos, por favor verificar nas documentações específicas.
Bloco de código | ||
---|---|---|
| ||
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 a 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.