API Move - Assignee

Bom dia Fluiggers!

Estou com uma dúvida na API move.

Estava tentando utilizar a mesma para movimentar um processo que está parado em uma tarefa que está atribuída para um grupo. Havia entendido que passando o MovementSequence e o Assignee conseguiria atribuir a tarefa para o usuário que pertence ao grupo e já movimentar a tarefa.

O retorno que recebo é de erro: Verifique se a tarefa está devidamente registrada em nome do usuário informado ou se não está ativa em nome de outro usuário.

Se o Assignee nessa API move não serve para isso, para o que serve então?

Estou tendo que chamar antes disso a API AssumeProcessTask para primeiro atribuir para depois usar o Move.

É a Totvs complicando a vida de quem desenvolve!

Alguém passou por isso e pode me auxiliar tirando essa dúvida?

PS: Não quero voltar ao bom e velho SOAP

Atenciosamente,

Guilherme D. Gesualdo

Você pode testar desta maneira, mas não sei se o usuário destino nesta situação suporta enviar para um grupo… creio que poderia haver um gateway exclusivo após esta atividade que poderá movimentar a atividade para um grupo de acordo com as suas regras:

`/process-management/api/v2/requests/${procesId}/move`

Params:

{
  "movementSequence": 1, // atv atual
  "assignee": "fluig",
  "targetState": 2, // atv destino
  "targetAssignee": "Pool:Group:"+grupo, // grupo destino
  "subProcessTargetState": 0,
  "comment": "movimentado via REST",
  "asManager": false, // gestor
  "formFields": {
    "consultorResponsavel": "jonathan" // campos do formulário
  }
1 curtida

Oi Guilherme, tudo bem!

Tenho uma widget que movimenta demissões em bloco, que vinha dando o mesmo problema. No meu caso eu preciso movimentar para a atividade “Fim” e mesmo preenchendo conforme indicado na documentação, não rolou.

Deixei da forma abaixo e funcionou: Só com as TAGs “Comment”, “asManager” e os campos do formulário.

data : JSON.stringify(
{
“comment” : “MOVIMENTADO AUTOMATICAMENTE”,
“asManager” : false, // gestor
“formFields” : {
“vDtPagamento” : $(“#dtintegra”).val(),
“vAprovado” : “sim”,
“vPeriodo” : “4”
}
}
),

Man, verifica se vc está passando os parametros como String, pois se vc passar em formato de numero ele nao reconhece mesmo.

TargetState = Numero da atividade no fluxo BPM;
TargetAssignee = Matrícula do USER Destino
“targetState”: “03”,
“targetAssignee”: “12345”,

Oie Guilherme, estou com o mesmo problema que você, poderia me dá um exemplo de como fez com a api AssumeProcessTask? Pq acredito que ela já resolva o meu problema.

alguém sabe como utilizar a AssumeProcessTask?

Opa Matheus, o código do dataset que eu uso para assumir é esse:

var body = {
 assumeProcessTaskList: [
          {
            colleagueId: matricula,
            processInstanceId: num_proces,
            movementSequence: num_seq_movto
          }

        ]

};

var clientService = fluigAPI.getAuthorizeClientService();

var data = {
            companyId: "1",
            serviceCode: "servico_rest_fluig", 
            endpoint: "/workflows/assumeProcessTasks",
            method: "post",
            timeoutService: "100",
            params: body,
};

var vo = clientService.invoke(JSONUtil.toJSON(data));

var stringResponse = vo.getResult()

o endpoint cadastrado no serviço é /api/public/2.0