Pegar os usuarios de um determinado papel e popular um select

Boa tarde, Gostaria de saber onde eu posso pegar os usuários de um determinado papel e popular um campo select em um formulário.

Obrigado.

Att,

O dataset workflowColleagueRole vai te retornar as matrículas dos usuários e os códigos dos papéis onde eles estão inseridos.

Depois, é só cruzar com o dataset colleague, que te retornará todos os dados dos usuários.

Com as informações dos usuários, é só popular seu select via javascript puro ...

Abs.

@Thiago,

Criei um dataset onde trás os usuários dos Papéis, você pode passar esse parâmetro "workflowColleagueRolePK.roleId" no dataset com seu Papel que irá trazer todos os usuários que fazem parte dele:


function defineStructure() {

}

function onSync(lastSyncDate) {

}

function createDataset(fields, constraints, sortFields) {
    log.info("#### Dataset Usuarios de um Papel ####");

    var newDataset = DatasetBuilder.newDataset();

    var datasetRole = DatasetFactory.getDataset("workflowColleagueRole", null, constraints, null);

    // Carrega as colunas do Dataset de Papel
    for(var i = 0; i < datasetRole.columnsName.length; i++) {
        newDataset.addColumn(datasetRole.columnsName[i]);
    }

    for(var i = 0; i < datasetRole.rowsCount; i++) {
        var companyId   = datasetRole.getValue(i, "workflowColleagueRolePK.companyId");
        var colleagueId = datasetRole.getValue(i, "workflowColleagueRolePK.colleagueId");
        var roleId      = datasetRole.getValue(i, "workflowColleagueRolePK.roleId");

        var constraint = new Array();
        constraint.push(DatasetFactory.createConstraint("colleaguePK.colleagueId", colleagueId, colleagueId, ConstraintType.MUST));

        var datasetUser = DatasetFactory.getDataset("colleague", null, constraint, null);

        if (i == 0) {
            // Carrega as colunas do Dataset de Usuários
            for(var j = 0; j < datasetUser.columnsName.length; j++) {
                newDataset.addColumn(datasetUser.columnsName[j]);
            }
        }

        // Carrega os dados no Dataset
        var dados = new Array(companyId, colleagueId, roleId);
        if (datasetUser.values.length > 0) {
            for(var k = 3; k < newDataset.columnsName.length; k++) {
                dados.push(datasetUser.getValue(0, newDataset.columnsName[k]));
            }
        }

        newDataset.addRow(dados);
    }

    return newDataset
}

function onMobileSync(user) {

}