Versão atual:

Como utilizar reloadZoomFilterValues no DataSet WsConsultaSQL

Uso esse dataset aqui para buscar na minha consulta lá no RM os colaboradores com mais de 365 dias de casa.

DATASET utilizado

``` function createDataset(fields, constraints, sortFields) {

var NOME_SERVICO = "WsConsultaSQL"; // Nome do serviço criado no Fluig Studio var CAMINHO_SERVICO = "com.totvs.WsConsultaSQL"; // Caminho do serviço var dataset = DatasetBuilder.newDataset();

try { // Obtem a instancia do serviço var servico = ServiceManager.getServiceInstance(NOME_SERVICO); // Inicializa o serviço var instancia = servico.instantiate(CAMINHO_SERVICO); // Obtem o WebService para consumo var ws = instancia.getRMIwsConsultaSQL(); var serviceHelper = servico.getBean(); // Autenticação no serviço var authService = serviceHelper.getBasicAuthenticatedClient(ws, "com.totvs.IwsConsultaSQL", 'mestre', 'senhamestre');

var parametros ="CODFILIAL=1";

var result = authService.realizarConsultaSQL("FLUIG.0003", parseInt("1") , "G", parametros); log.info("!!! INFO !!!"); log.info(result); if ((result != null) && (result.indexOf("===") != -1)) { var msgErro = result.substring(0, result.indexOf("===")); log.error("Erro: " + msgErro); throw "Erro: " + msgErro; }

// Insere o resultado em um objeto XML para melhor manipulação dos dados var xmlResultados = new XML(result); log.info(xmlResultados); // Cria as colunas que serão retornadas pela consulta SQL e que serão utilizadas dataset.addColumn("CODFILIAL"); dataset.addColumn("FUNCIONARIO"); dataset.addColumn("FUNCAO"); dataset.addColumn("CARGO");

// Adiciona os dados no dataset for each(row in xmlResultados.Resultado) { dataset.addRow(new Array(row.CODFILIAL.toString(), row.FUNCIONARIO.toString(), row.FUNCAO.toString(), row.CARGO.toString() )); }

} catch (e) { if (e == null) e = "Erro conexão Totvs"; var mensagemErro = "Erro na comunicação com o app (linha: " + e.lineNumber + "): " + e; log.error(mensagemErro); log.info(mensagemErro); dataset.addColumn("ERROR"); dataset.addColumn("MESSAGE_ERROR"); dataset.addRow(new Array(-1, mensagemErro)); }

return dataset; } ```

// Consulta SQL

SELECT A.CODFILIAL, A.NOME AS FUNCIONARIO, B.NOME AS FUNCAO, C.NOME AS CARGO
FROM PFUNC A, PFUNCAO B, PCARGO C
WHERE A.CODFUNCAO = B.CODIGO
AND B.CARGO = C.CODIGO
AND DATEDIFF(DAY, A.DATAADMISSAO, GETDATE()) > 365
AND A.CODSITUACAO <> ('D')
AND A.CODFILIAL = :CODFILIAL

Eu queria que assim que o cara escolher a filial no Formulário ele retornasse somente os funcionários daquela filial, vou postar aqui meu formulário com o JS, tem como alguém me ajudar e informar o que está faltando ou no que estou errando?

<div class="form-group row"> <div class="col-md-2"> <label for="unidade">Unidade</label> <select class="form-control" name="unidade" id="unidade"> <option value="">Escolha a Unidade</option> <option value="1">Unidade 1</option> <option value="2">Unidade 2</option> <option value="14">Unidade 14</option> <option value="15">Unidade 15</option> <option value="16">Unidade 16</option> </select> </div> <div class="col-md-5"> <label for="avaliado">Avaliado</label> <input type="zoom" id = "avaliado" name="avaliado" data-zoom="{ 'displayKey':'FUNCIONARIO', 'datasetId':'ds_func_acima_365', 'maximumSelectionLength':'1', 'placeholder':'Escolha o Avaliado', 'fields':[ { 'field':'CODFILIAL', 'label':'FILIAL' },{ 'field':'FUNCIONARIO', 'label':'FUNCIONARIO', 'standard':'TRUE' },{ 'field':'FUNCAO', 'label':'FUNCAO' },{ 'field':'CARGO', 'label':'CARGO' } ] }" /> </div> </div>

JavaScript

$(document).ready(function() {
    $('#unidade').change(function() {
        var filial = $('#unidade').val();
        alert(filial);
        reloadZoomFilterValues(avaliado, "CODFILIAL," + filial);
    });    
});

O que estou errando que não consigo mudar o valor do CODFILIAL no dataset e mudar os colaboradores que são exibidos?

Versão (1):

Ver a versão formatada

Como utilizar reloadZoomFilterValues no DataSet WsConsultaSQL

Comentário

new question