Dataset Customizado

Gostaria que o usuário pudesse escolher as empresas de acordo com o grupo que ele está inserido.

Por exemplo, se o usuário está inserido no grupo "SolicitantesAC_01", só poderá abrir solicitação para a "EMPRESA 01" e assim sucessivamente.

Alguém sabe como ajudar?

 function createDataset(fields, constraints, sortFields) {
    var dataset = DatasetBuilder.newDataset();

    dataset.addColumn("cod_empresa");
    dataset.addColumn("nm_empresa");
    dataset.addColumn("cod_grupo");

    dataset.addRow(new Array("01", "EMPRESA 01", "solicitantesAC_01"));
    dataset.addRow(new Array("02", "EMPRESA 02", "solicitantesAC_02"));

    return dataset;
}
function createDataset(fields, constraints, sortFields) {
    var mat = getValue("WKUser");
    var dsEmpresas = DatasetBuilder.newDataset();

    var c1 = DatasetFactory.createConstraint('colleagueGroupPK.colleagueId', mat, mat, ConstraintType.MUST);
    var c2 = DatasetFactory.createConstraint('colleagueGroupPK.groupId', 'solicitantesAC%', 'solicitantesAC%', ConstraintType.MUST);
    c2.setLikeSearch(true);
    var dtsColleague = DatasetFactory.getDataset('colleagueGroup', new Array('colleagueGroupPK.groupId'), new Array(c1,c2), null);

    dsEmpresas.addColumn("CODEMP");
    dsEmpresas.addColumn("EMP");

    for (var i = 0; i < dtsColleague.rowsCount; i++) {
        var verificaEmpresa = dtsColleague.getValue(i, "colleagueGroupPK.groupId");
        var validaEmpresa   = DatasetFactory.createConstraint("cod_grupo", verificaEmpresa, verificaEmpresa, ConstraintType.MUST);
        var constraints     = new Array(validaEmpresa);
        var empresaXgrupo   = DatasetFactory.getDataset("consulta_EmpxGrupo", null, constraints, null);

        for (var r = 0; r <  empresaXgrupo.values.length; r++) {                
            var codigo = empresaXgrupo.getValue(r, "cod_empresa");
            var empresa = empresaXgrupo.getValue(r, "nm_empresa");                
            dsEmpresas.addRow(new Array(codigo, empresa));
        }

    }

    return dsEmpresas;
}
compartilhar
  • O mesmo usuário pode estar em mais de um grupo de uma vez? Tem certeza que esse é o código que você usou nos prints? No caso "empresaXgrupo.values.length" deveria ser "empresaXgrupo.rowsCount"...

    Caio Werneck   14 de Jan de 2020
  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!

1 resposta

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