Capture value with client script
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 hours ago
I'm having trouble capturing the original value of the func_matricula field before the replace and before the glideajax. Could you help me? I need to insert the value into the v_chaves_fta field.
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var paraQuem = g_form.getValue('para_quem_ser_pedido');
var matricula = g_form.getValue('func_matricula').replace(/\D/g, '').slice(0, -1);
var matricula2 = g_form.getValue('matri_estagiario');
if (paraQuem == 'para_mim_mesmo') {
g_form.setValue('v_chaves_fta', matricula3);
//console.log('API entrou na condição para mim mesmo');
var ga1 = new GlideAjax('InforComplementar');
ga1.addParam('sysparm_name', 'chamarAPIConsultarInfor');
ga1.addParam('sysparm_numero_matricula', matricula);
ga1.getXMLAnswer(function(resposta) {
//console.log('API Dados Funcionarios ' + matricula);
if (!resposta) {
alert("Sem dados da API");
return;
}
if (!matricula) {
alert('Campo matricula está vazio');
}
try {
var dados = JSON.parse(resposta);
//console.log(' JSON retornado e interpretado ', dados);
var msg = dados.message.trim().toLowerCase();
if (dados.return_code == '200') {
if (msg.indexOf('funcionario nao consta do cadastro.') !== -1) {
// console.log('Resposta vindo da API GA1: ', dados.message);
alert('Este usuário não possui cadastro');
return;
}
g_form.setValue('prefixo_de_lotacao', dados.codigo_dependencia_lotacao);
g_form.setValue('nome_dependencia_lotacao', dados.nome_dependencia_lotacao);
g_form.setValue('data_da_posse', dados.data_posse_banco);
g_form.setValue('message', dados.message);
//console.log('Data da posse retornada na API ' + dados.data_posse_banco);
} else {
//console.log('Resposta vindo da API GA1: ', dados.message);
g_form.setValue('message', dados.message);
//alert('Funcionario nao consta do Cadastro.');
}
} catch (erro) {
g_form.setValue('message', 'Erro a resposta da API');
//console.log('Erro ao processar JSON :' + erro.message);
}
});
// obter retorno da API dados complementares
var ga2 = new GlideAjax('InforComplementar');
ga2.addParam('sysparm_name', 'chamarAPIcomplementares');
ga2.addParam('sysparm_numero_matricula_user', matricula2);
ga2.addParam('sysparm_numero_matricula_fun', matricula2);
ga2.getXMLAnswer(function(resposta) {
if (!resposta) {
alert("Sem dados da API");
return;
}
try {
var dados = JSON.parse(resposta);
//console.log(' JSON retornado e interpretado ', dados);
var msg = dados.message.trim().toLowerCase();
if (dados.return_code == '200') {
// console.log('Resposta vindo da API GA2 - MSG:', msg);
g_form.setValue('tipo_sanguineo', dados.codigo_tipo_sangue);
g_form.setValue('prefixo_do_malote', dados.codigo_dependencia_responsavel);
g_form.setValue('nome_do_prefixo_do_malote', dados.nome_dependencia_responsavel);
g_form.setValue('message', dados.message);
//console.log('Data da posse retornada na API ' + dados.data_posse_banco)
} else {
//console.log('Resposta vindo da API GA2: ', dados.message);
g_form.setValue('message', dados.message);
// alert('Funcionario nao consta do Cadastro.');
}
} catch (erro) {
g_form.setValue('message', 'Erro a resposta da API');
alert('Erro na resposta da API');
//console.log('Erro ao processar JSON :' + erro.message);
}
});
var codigoUor = g_form.getValue('codigo_uor_unidade');
var ga3 = new GlideAjax('InforComplementar');
ga3.addParam('sysparm_name', 'chamarAPIundOrganizacional');
ga3.addParam('sysparm_codigo_uor', codigoUor);
ga3.getXMLAnswer(function(resposta3) {
if (!resposta3) {
alert("Sem dados da API");
return;
}
if (!codigoUor) {
alert('Campo "Código Uor/Unidade" está vazio');
}
try {
var dados3 = JSON.parse(resposta3);
//console.log(' JSON retornado e interpretado ', dados);
if (dados3.return_code == '200') {
g_form.setValue('uf_do_prefixo_de_lotacao', dados3.sigla_uf_uor);
g_form.setValue('message', dados3.message);
} else {
//console.log('Resposta vindo da API GA1: ', dados.message);
g_form.setValue('message', dados3.message);
}
} catch (erro) {
g_form.setValue('message', 'Erro a resposta da API');
//console.log('Erro ao processar JSON :' + erro.message);
}
});
} else {
// console.log('entrou no else');
}
}
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago - last edited 3 hours ago
Just use
var matricula3 = g_form.getValue('func_matricula');
if this is the field/variable that is triggered by the onChange script, use oldValue instead. As posted, you're attempting to set the field value to an undefined script variable.
