Direcionar atividade por meio do start conditional

Pessoal, boa tarde. Tenho um fluig que inicia automaticamente de tempos em tempos caso uma condição seja satisfatória, porém ele deverá enviar a atividade ora para um usuário A, ora para um usuário B, segue abaixo a função que inicia a atividade.

function checkLiberacao(){

    var select   = DatasetFactory.createConstraint('select','',"SELECT CR_NUM FROM SCR010 S INNER JOIN SC7010 C ON C7_NUM = CR_NUM AND CR_FILIAL = C7_FILIAL INNER JOIN SB1010 B ON B1_COD = C.C7_PRODUTO WHERE CR_EMISSAO >= '20200920' AND CR_USER = '000087' AND B1_TPPROD IN ('0') AND CR_STATUS <> '03' AND CR_FLUIG = ' ' AND S.D_E_L_E_T_ <> '*' AND C.D_E_L_E_T_ <> '*' AND B.D_E_L_E_T_ <> '*' ORDER BY CR_NUM ASC",ConstraintType.MUST);
    var retorno  = DatasetFactory.getDataset("conecta_db_protheus",null,[select],null);

    for(i=0; i < retorno.values.length; i++){   
        pedido = retorno.getValue(i, 'CR_NUM');
        retorno = updateProtheus(pedido);
        return true;
    }
}

No código acima eu verifico se existe um pedido para aprovação e caso sim inicio a atividade. Porém, preciso pegar o usuário que será responsável, isso eu consigo por meio da coluna CR_USER, até ai tudo bem, mas como designar uma atividade via fluig por meio de uma condição? Digamos que o usuário seja o A, então no start conditional eu consigo setar algum campo e designar a atividade para este usuário A?

Segue código completo

function startconditional10() {

    check = checkLiberacao();
    if(check){
        return true;
    }else{
        return false;
    }
}

function checkLiberacao(){

    var select   = DatasetFactory.createConstraint('select','',"SELECT CR_NUM FROM SCR010 S INNER JOIN SC7010 C ON C7_NUM = CR_NUM AND CR_FILIAL = C7_FILIAL INNER JOIN SB1010 B ON B1_COD = C.C7_PRODUTO WHERE CR_EMISSAO >= '20200920' AND CR_USER = '000087' AND B1_TPPROD IN ('0') AND CR_STATUS <> '03' AND CR_FLUIG = ' ' AND S.D_E_L_E_T_ <> '*' AND C.D_E_L_E_T_ <> '*' AND B.D_E_L_E_T_ <> '*' ORDER BY CR_NUM ASC",ConstraintType.MUST);
    var retorno  = DatasetFactory.getDataset("conecta_db_protheus",null,[select],null);

    for(i=0; i < retorno.values.length; i++){   
        pedido = retorno.getValue(i, 'CR_NUM');
        retorno = updateProtheus(pedido);
        return true;
    }
}

function updateProtheus(pedido){
    var update   = DatasetFactory.createConstraint('update','',"UPDATE SCR010 SET CR_FLUIG = '1' WHERE CR_NUM = '"+pedido+"' AND CR_USER = '000087'",ConstraintType.MUST);
    var dsTranslator = DatasetFactory.getDataset("ds_update_protheus", null, [update], null);
    return true;
}
compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags fluig protheus12 ou faça a sua própria pergunta.