ComboBox - Carregar primeira opção no carregamento do Formulário

Boa tarde pessoal,

Gostaria de saber se existe uma forma de carregar o primeiro resultado de uma pesquisa externa como primeira opção de um ComboBox, no carregamento do formulário.

Exemplo atual do carregamento do campo:

Neste caso, gostaria que o combobox ‘Empresa’, já carregasse a primeira empresa que vem da consulta externa: ‘001 - Empresa demonstração’.

Obrigado.

Olá @lourenco.junior!

Você pode selecionar o primeiro valor da ComboBox preenchendo-a com a ação “Popular Campos e Variáveis” dos Procedimentos. Basta informar o valor referente a opção que você deseja selecionar.

Mas se você precisa de algo mais “dinâmico”, você pode usar o código JavaScript abaixo:

// Adiciona Callback para o evento "FormCreated" do Formulário.
// Este evento ocorre quando o Formulário é exibido no navegador.
latromi.formManager.setOnFormCreatedCallback( function(args) {
    
    var fieldNames = Object.keys(args.form.fields);
    
    [].forEach.call(fieldNames, function(fieldName) {
        // Informações sobre o campo
        var field = args.form.fields[fieldName];
        
        // Quando o tipo for ComboBox (4) e o valor for nulo.
        if (field.type === 4 && field.getValue() == null) { 
            // Pega o elemento select
            var select = document.getElementById(field.clientId);
            
            // Se tem mais de uma opção, seleciona a primeira
            if (typeof select.options[1] !== 'undefined') {
                field.setValue(select.options[1].value);
            }
        }
    });
});

Se você usar este código no JavaScript Público do sistema, ele vai ser aplicado a todos os Formulários.

Para usar em um Formulário específico ou conseguir exportar o código no arquivo LCP, use no arquivo JavaScript do Formulário. Neste caso, também é possível referenciar o mesmo arquivo JS em vários Formulários diferentes.

2 curtidas