Setar valor padrão campo zoom

Olá,

Preciso setar a tag no campo zoom conforme registro padrão.

No ato do carregamento do form, tenho os valores padrões por exemplo CODCOLIGADA=1, CODFILIAL=97.

HTML (Campo Zoom)


<div class="row form-group topo">
    <div class="col-xs-12 col-sm-12 col-md-12">
         <div><input type="zoom" class="form-control" id="PROPRIEDADE" 
                 name="PROPRIEDADE" dataset="dsFLUIG000000002" datasetvalue="NOMEFANTASIA" zoomvalue="NOMEFANTASIA"
                 data-zoom="{'displayKey':'NOMEFANTASIA',
                             'datasetId':'dsFLUIG000000002', 
                             'maximumSelectionLength':'1', 
                             'resultLimit':'300',
                             'placeholder':'Escolha a propriedade',
                 'fields':[{'field':'CODCOLIGADA',
                            'label':'CODCOLIGADA',                                                                                        
                            'visible':'false'
                           },{'field':'CODFILIAL',
                            'label':'CODFILIAL',                                                                                        
                            'visible':'false'
                           },{'field':'NOMEFANTASIA',
                            'label':'NOMEFANTASIA',
                            'standard':'true',
                            'visible':'true'}]}"> 
                      <input type="hidden" name="CODFILIAL" id="CODFILIAL" class="required">
         </div>
    </div>
</div>

Javascript (Executado no carregamento do formulário)


reloadZoomFilterValues("PROPRIEDADE", "CODCOLIGADA," + $("#CODCOLIGADA").val() + ",CODFILIAL," + $("#CODFILIAL").val());

Neste momento tenho apenas um registro no campo zoom, conforme retorno do reloadZoomFilterValues.

Preciso criar uma lógica para obter este registro (sem a necessidade de clicar no zoom) retornando as colunas (CODFILIAL e NOMEFANTASIA) e passar para a função setZoomData para formar uma tag.

Exemplo Similar:


setZoomData("NOMEFANTASIA", "[" + **ValorCODFILIAL** + "] " + **ValorNOMEFANTASIA**);    

function setZoomData(instance, value){ 
    window[instance].setValue(value); 
}

Alguém teria alguma ideia de como poderia implementar.

Obrigado

Olá, teriam alguma ideia de como resolver? s

Você tem os valores para filtrar o campo de zoom; Você aplica o filtro usando reloadZoomFilterValues; Acho que só tem que executar o dataset, via javaScript, passando esses filtros, pegar o NomeFantasia (pois o a coligada e filial já tem) e então "setar" no campo de zoom usando o window['PROPRIEDADE').setValue(NOMEFANTASIA) para mostrar no campo.

Mas vi que você deseja mostrar na descrição do campo PROPRIEDADE a filial e o nome concatenados. Eu faço isso em muitos campos que tenho, mas o dataset é customizado e retorna uma coluna com essa informação já concatenada, então eu uso ela no atributo displayKey do campo de zoom. Nunca tentei forçar para mostrar uma informação montada na hora.

Como este campo é padrão e deve ser carregado no ato da abertura do formulário, desenvolvi este código no evento "displayFields.js" e consegui resolver a situação.


/*Incio: Obtem Dados Adicionais Usuario Fluig (IDCORPORATIVO)*/
       var c1 = DatasetFactory.createConstraint("CODCOLIGADA", getValue("WKCompany"), getValue("WKCompany"), ConstraintType.MUST);
       var c2 = DatasetFactory.createConstraint("MATRICULA", getValue("WKUser"), getValue("WKUser"), ConstraintType.MUST);
       var constraints = new Array(c1, c2);
       var ds = DatasetFactory.getDataset("dsFLUIGINT00001", null, constraints, null);
       var rowsCount = ds.rowsCount;
       if ( rowsCount > 0 ) {
           var IDCORPORATIVO = ds.getValue(0, "IDCORPORATIVO");
           var NOMECOMPLETO = ds.getValue(0, "NOMECOMPLETO");
           form.setValue("IDCORPORATIVO", IDCORPORATIVO);
           form.setValue("SOLICITANTE", NOMECOMPLETO);           
       } else {
           form.setValue("IDCORPORATIVO", "");
           form.setValue("SOLICITANTE", "");
       }

       /*Incio: Obtem Fornecedor/Departamento e Filial Padrao*/
       var c1 = DatasetFactory.createConstraint("CODCOLIGADA", getValue("WKCompany"), getValue("WKCompany"), ConstraintType.MUST);
       var c2 = DatasetFactory.createConstraint("IDCORPORATIVO", form.getValue("IDCORPORATIVO"), form.getValue("IDCORPORATIVO"), ConstraintType.MUST);       
       var constraints = new Array(c1, c2);
       var ds = DatasetFactory.getDataset("dsFLUIG000300011", null, constraints, null);
       var rowsCount = ds.rowsCount;
       if ( rowsCount > 0 ) {

           // Funcionário x Fornecedor
           var CODCFO = ds.getValue(0, "CODCFO");
           if ( CODCFO == "" || CODCFO == null ) {
               form.setValue("CODCFO", "");
           } else {
               form.setValue("CODCFO", CODCFO);
           }

           // Departamento Padrão
           var CODDEPARTAMENTO = ds.getValue(0, "CODDEPARTAMENTO");
           if ( CODDEPARTAMENTO == "" || CODDEPARTAMENTO == null ) {
               form.setValue("CODDEPARTAMENTOPADRAO", "");
           } else {
               form.setValue("CODDEPARTAMENTOPADRAO", CODDEPARTAMENTO);
           }

           // Cartao Corporativo
           var CARTAOCORPORATIVO = ds.getValue(0, "CARTAOCORPORATIVO");
           if ( CARTAOCORPORATIVO == "SIM" ) {
               customHTML.append('<script>');           
               customHTML.append('   FLUIGC.switcher.setTrue("#CARTAOCORPORATIVO");');           
               customHTML.append('</script>');
           } else {       
               customHTML.append('<script>');           
               customHTML.append('   FLUIGC.switcher.setFalse("#CARTAOCORPORATIVO");');           
               customHTML.append('</script>');
           }

           // Filial Padrao Despesa
           var CODFILIALDESP = ds.getValue(0, "CODFILIALDESP");
           if ( CODFILIALDESP == "" || CODFILIALDESP == null ) {
               form.setValue("CODFILIAL", 97);
           } else {

               form.setValue("CODFILIAL", parseInt((CODFILIALDESP)));
           }
       } else {
           form.setValue("CODFILIAL", 97);
           customHTML.append('<script>');               
           customHTML.append('   FLUIGC.switcher.setFalse("#CARTAOCORPORATIVO");');           
           customHTML.append('</script>');
       }
       /*Fim */


       // Seta tag Filial Padrao
       var c1 = DatasetFactory.createConstraint("CODCOLIGADA", getValue("WKCompany"), getValue("WKCompany"), ConstraintType.MUST);
       var c2 = DatasetFactory.createConstraint("CODFILIAL", form.getValue("CODFILIAL"), form.getValue("CODFILIAL"), ConstraintType.MUST);       
       var constraints = new Array(c1, c2);
       var ds = DatasetFactory.getDataset("dsFLUIG000000002", null, constraints, null);
       var rowsCount = ds.rowsCount;
       if ( rowsCount > 0 ) {
           var CODFILIAL = form.getValue("CODFILIAL");
           var NOMEFANTASIA = "[" + String(CODFILIAL) + "] " + ds.getValue(0, "NOMEFANTASIA");
           form.setValue("PROPRIEDADE", NOMEFANTASIA);
       } else {
           form.setValue("PROPRIEDADE", "");
       }