Histórico da Página
...
Com isto, será criada a função básica que deve ser implementada:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function resolve(process,colleague){ var userList = null; /* Para adicionar novos usuários, deve ser um ArrayList, conforme exemplos a seguir */ return userList; } |
...
Um exemplo de retorno de uma relação fixa de usuários é apresentado a seguir:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function resolve(process,colleague){ var userList = new java.util.ArrayList(); userList.add('matricula_1'); userList.add('matricula_2'); userList.add('matricula_3'); return userList; } |
...
Método | Especificação | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
getCardValue("nomeCampo") | Permite acessar o valor de um campo do formulário do processo, onde:
| ||||||||||||||||
getCardData(numProcesso) | Retorna um Mapa com todos os campos e valores do formulário da solicitação.
|
...
Um exemplo de utilização da hAPI, onde será retornado um usuário considerando o campo selecionado no formulário da solicitação:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function resolve(process, colleague) { var userList = new java.util.ArrayList(); var setor = hAPI.getCardValue("setor"); //Criando constraints para retornar os usuário do grupo var cGrupo = DatasetFactory.createConstraint("colleagueGroupPK.groupId", setor, setor, ConstraintType.MUST); var constraintsGroup = new Array(cGrupo); //Chamando dataset "colleagueGroup" para retornar os usuários var colleagues = DatasetFactory.getDataset("colleagueGroup", null, constraintsGroup, null); for (var i = 0; i < colleagues.values.length; i++) { //Adicionando usuário como opção de responsável userList.add(colleagues.getValue(i, "colleagueGroupPK.colleagueId")); } return userList; } |
...
É possível realizar a consulta a um Dataset da Plataforma (interno, formulários ou customizado), a fim, de elaborar o resultado final dos usuários que poderão ser listados para escolha da execução da próxima atividade. Este procedimento pode ser realizado conforme o exemplo a seguir:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function resolve(process,colleague){ var userList = new java.util.ArrayList(); //-- CONSULTA A UM DATASET, DE GRUPO DE USUARIOS FLUIG var dtsGroup = DatasetFactory.getDataset('group',null,null,null); for(var g = 0; g < dtsGroup.values.length; g++){ userList.add( 'Pool:Group:'+dtsGroup.getValue(g.toString(),"groupPK.groupId") ); } //-- CONSULTA A UM DATASET, DE PAPEIS DE USUARIOS FLUIG var dtsRole = DatasetFactory.getDataset('workflowRole',null,null,null); for each(papel in dtsRole.values){ userList.add( 'Pool:Role:'+papel["workflowRolePK.roleId"] ); } return userList; } |
...
A construção de um mecanismo ainda possibilita a utilização de um Serviço de Integração Fluig, que poderá consumir um webservice do tipo SOAP ou do tipo Progress para obter os responsáveis, de acordo com uma regra de negócio provida pelo ERP, por exemplo. Este método pode seguir o modelo abaixo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function resolve(process,colleague){ var userList = new java.util.ArrayList(); //-- CHAMADA A UM SERVICO DE INTEGRACAO FLUIG, COM UM WEBSERVICE ESPECIFICADO var biblioteca = ServiceManager.getService('ECMColleagueService').getBean(); var endpoint = biblioteca.instantiate('com.totvs.technology.ecm.foundation.ws.ECMColleagueServiceServiceLocator'); var webservice = endpoint.getColleagueServicePort(); var usuariosDtoArray = webservice.getSummaryColleagues(1); for each(usuario in usuariosDtoArray.getItem()){ userList.add( usuario.getColleagueId().toString() ); } return userList; } |
...