functionconfigurarCampo(valor,campoId,selectedItem){varcampo=$("#"+campoId);if(selectedItem.InputId=="ID DO CAMPO QUE QUERO PARA ENTRAR NO IF"){if(valor!==undefined&&valor!==null&&valor!==""){campo.prop("readonly",true);campo.val(valor);}else{campo.prop("readonly",false);}}}configurarCampo(selectedItem[" "],"text_exemple",selectedItem);
Percorre dados tabela PxF
$('table.table[tablename="tb_exemplo"] tbody tr:visible').each(function(i,e){varCAMPO=$(e).find('input[name^="NOME DO CAMPO"]').val();console.log(CAMPO);});
nesse evento os dados já foram salvos, pode ser usado para verificar asinformações
functionafterProcessing(form){}
beforeProcessing: Primeiro evento a ser chamado, recebe o form
beforeMovementOptions: É chamado ao chamar o botão movimentar, antes de mosstrar as opções, recebe o número da atividade atual
<script>
var beforeMovementOptions = function(numState) {console.log("_________________ beforeMovementOptions");console.log("numState: "+numState);console.log("valor campo: "+document.form.c7_total.value);if(document.form.c7_total.value==''){throw("Erro: nenhum valor selecionado!");}
return true;
}</script>
beforeSendValidade: É chamado antes de ser movimentado, após já ter selecionado a atividade destino, recebe numero da atividade, e o número da proxima
<script>
var beforeSendValidate = function(numState,nextState){console.log("-beforeSendValidate-");console.log("numState: "+numState);console.log("nextState: "+nextState);throw("Erro Xyz");}</script>
<script>
var beforeSendValidate = function(numState,nextState){console.log("-beforeSendValidate-");console.log("numState: "+numState);console.log("nextState: "+nextState);varisOk=confirm("Deseja realmente enviar o processo ?");returnisOk;}</script>
getFormMode: Retorna o modo atual do form
form.getFormMode()
ADD: inclusão
MOD: edição
VIEW: visualização
NONE: qndo não há comunicação com o form, como na validação
type: o atributo type para este componente obrigatoriamente é 'zoom'
name: nome do campo
data-zoom: parâmetros do zoom em formato json onde:
maximumSelectionLength: limite de registros selecionáveis, caso não seja informado, o valor padrão é 1.
resultLimit: número máximo de resultados que serão listados na busca, o valor padrão é 300.
placeholder: texto de placeholder, que irá aparecer no zoom. Pode ser utilizado para instrução.
displayKey: coluna filtrável e de exibição após selecionado o registro
filterValues: atributo do dataset e valor para serem filtrados. Devem ser colocados em pares, separados por vírgula (,) onde o primeiro valor é o nome do campo e o segundo refere-se ao valor do campo.
datasetId ou cardDatasetId: opte por uma das opções:
datasetId: é o nome do dataset (Built-in, CardIndex ou Customized).
cardDatasetId: é o numero de outro formulário para consulta.
fields: Estrutura do filtro
field: atributo do dataset que será utilizado.
label: descrição da coluna.
standard: a coluna que será utilizada como ordenação padrão e valor do registro selecionado.
getChildrenFromTable: Evento que retorna os campos de um pai filho, passando o nome da table
getChildrenIndexes: Retorna os índices de uma tabela filha, passando o nome da table
functionvalidateForm(form){varindexes=form.getChildrenIndexes("tabledetailname");vartotal=0;for(vari=0;i<indexes.length;i++){varfieldValue=parseInt(form.getValue("valor___"+indexes[i]));if(isNaN(fieldValue)){fieldValue=0;}total=total+fieldValue;log.info(total);}log.info(total);if(total<100){throw"Valor Total da requisição não pode ser inferior a 100";}}
enableFields: É possivel usar o enableFields para os filhos, precisa o indice da linha
Em todos os eventos do processo é possível obter informações da API de Workflow. Cada evento possui acesso ao handle da API de workflow pela variável global hAPI. Os seguintes métodos estão disponíveis através da hAPI:
Método
Especificação
getCardValue("nomeCampo")
Permite acessar o valor de um campo do formulário do processo, onde: nomeCampo = nome do campo do formulário.
Permite definir o valor de um campo do formulário do processo, onde:nomeCampo: nome do campo do formulário; valor: valor a ser definido para o campo do formulário.
nomeCampo: nome do campo do formulário;
valor: valor a ser definido para o campo do formulário.
Método
Especificação
setAutomaticDecision(numAtiv, listaColab, "obs")
A propriedade automaticTasks esta depreciada não havendo mais suporte a partir da atualização 1.5.9 do fluig. É recomendada a utilização da atividade de Serviço ou Gateway Exclusivo.
getActiveStates()
Retorna uma lista das atividades ativas do processo.
getActualThread(numEmpresa, numProcesso, numAtiv)
Retorna a thread da atividade que está ativa, lembrando que em caso de atividades paralelas, retorna 0, 1, 2 e assim sucessivamente.
numEmpresa: número da empresa;
numProcesso: número da solicitação;
numAtiv: número da atividade.
functionafterTaskCreate(colleagueId){varnrProxAtividade=getValue("WKNextState");if(nrProxAtividade=="5"){//atividade entre paralelasvardata=newDate();varnumEmpresa=getValue("WKCompany");//seta o dia, mês (Janeiro é 0) e anodata.setDate(20);data.setMonth(10);data.setFullYear(2010);// Recupera o numero da solicitaçãovarnumProcesso=getValue("WKNumProces");// Seta o prazo para as 14:00hAPI.setDueDate(numProcesso,hAPI.getActualThread(numEmpresa,numProcesso,nrProxAtividade),colleagueId,data,50400);}}
functionremoverDuplicatasEmails(atual){varpalavras=atual.split(";");// split do arrayvarpalavrasUnicas=[];varpalavrasVistas={};for(vari=0;i<palavras.length;i++){varpalavraAtual=palavras[i].trim();if(!palavrasVistas[palavraAtual]){palavrasUnicas.push(palavraAtual);palavrasVistas[palavraAtual]=true;}}varnovaString=palavrasUnicas.join(";");// Quando unificar if(novaString.startsWith(";")){// Se começar com ; removenovaString=novaString.slice(1);}$("#hidden_email").val(novaString);}