Alimentar um campo e trazer a informação em outros campos

O campo centro de custo é alimentado pelo dataset ds_centro_de_custo que está assim:
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
dataset.addColumn(“codigo”);
dataset.addColumn(“nome”);
dataset.addColumn(“gestor”);
dataset.addColumn(“email”)

dataset.addRow(["CC001", "Administrativo", "usuarioGestorAdm","adm@email.com"]);
dataset.addRow(["CC002", "TI", "usuarioGestorTI","ti@email.com"]);
dataset.addRow(["CC003", "Financeiro", "usuarioGestorFinanceiro","fin@email.com"]);

return dataset;

}
Criei no formulário dois campos que preciso que ao informar o campo centro de custo preencha com o gestor e o email que está assim no formulário:

Centro de Custo
                <div class="row">
                        <div class = "form-group col-md-6">
                            <label for= "gestor">Gestor</label>
                            <input type="text" name= "gestor" id= "gestor" class = "form-control" readonly>
                        </div>
                        <div class = "form-group col-md-2">
                            <label for= "emailgestor">E-mail do Gestor </label>
                            <input type="email" name= "emailgestor" id= "emailgestor" class = "form-control"  required readonly>
                        </div>
                </div>

Como faço para que traga essas informações?
Usei esse script porem não deu certo:

Vai depender do tipo de campo que irá executar a consulta. Caso seja um campo zoom, você pode trazer todas as informações direto nas especificações do zoom. Nesse caso, seria interessante que em seu formulário tivesse as informações do centro de custo juntamente com os campo do gestor responsável.
Dessa forma, você usaria algo parecido com o campo abaixo:

<input type="zoom" class="form-control" id="user" name="user" data-zoom="
        {
            'displayKey':'centroCusto',
            'placeholder': 'Selecione o centro de custo',
            'datasetId':'dataset_formulario_centro_custo',
            'fields':[{
                'field':'codCentroCusto',
                'label':'Cód. Centro Custo'
            },{
                'field':'centroCusto',
                'label':'Centro Custo',
                'standard':true
            },{
                'field':'gestor',
                'label':'Gestor',
                'visible': 'false'
            },{
                'field':'emailgestor',
                'label':'E-mail',
                'visible': 'false'
            }]
        }">

Em seguida deve ser utilizado a função setSelectedZoomItem(item){} para capturar os dados do gestor e do e-mail ao selecionar o centro de custo.
Você pode ver as funcionalidades completas do zoom na documentação Formulários - Campo Pesquisa (zoom) - TOTVS Fluig - TDN

Outra maneira é realizando a consulta ao dataset através do DatasetFactory, conforme documentação Acessando Datasets - TOTVS Fluig - TDN

<script>

function buscaCentroCusto(codigoSelecionado) {
if (!codigoSelecionado) {
$(“gestor”).val(“”);
$(“#emailgestor”).val(“”);
return;
}

// Monta constraint para filtrar pelo código
var c1 = DatasetFactory.createConstraint("codigo", codigoSelecionado, codigoSelecionado, ConstraintType.MUST);
var constraints = new Array(c1);

// Busca o dataset
var dataset = DatasetFactory.getDataset("ds_centro_de_custo", null, constraints, null);

if (dataset != null && dataset.rowsCount > 0) {
    var linha = dataset.getValue(0, "codigo");

    for (var i = 0; i < dataset.rowsCount; i++) {
        var codigo = dataset.getValue(i, "codigo");
        var nome = dataset.getValue(i, "nome");
        var gestor = dataset.getValue(i, "gestor");
        var email = dataset.getValue(i, "email");

        if (codigo === codigoSelecionado) {
            $("#gestor").val(gestor);
            $("#emailgestor").val(email);
            break;
        }
    }
} else {
    // Se não encontrar, limpa os campos
    $("#gestor").val("");
    $("#emailgestor").val("");
}

}

$(document).ready(function () {
// Quando o campo de centro de custo mudar
$(“#centrocusto”).on(“change”, function () {
var codigoSelecionado = $(this).val();
buscaCentroCusto(codigoSelecionado);
});

// Caso o formulário esteja em modo de edição e já tenha valor preenchido
var valorInicial = $("#centrocusto").val();
if (valorInicial) {
    buscaCentroCusto(valorInicial);
}

});

Tentei fazer dessa forma, porém não trouxe as informaçoes nos outros campos.

Existe diferença quando o DatasetFactory é utilizado via backend e frontend.

No backend você utiliza dataset.rowsCount para verificar a quantidade de valores retornados na consulta e para retornar um valor, utiliza-se dataset.getValue(índice, "colunaDataset");. Nesse caso a variável dataset se refere à variável utilizada para receber o DatasetFactory.getDataset(...).

Já no frontend, primeiro é importar o script responsável por instanciar o DatasetFactory, conforme abaixo.
<script type="text/javascript" src="/webdesk/vcXMLRPC.js"></script>

Em seguida, para resgatar a quantidade de valores retornados pelo dataset, no frontend é utilizado dataset.values.length e para consultar um valor específico é dataset.values[índice].colunaDataset ou dataset.values[índice]["colunaDataset"].