// ServiceNow

Service-Now Form içerisinde aynı zamanda müdehale sorunu

Güncellendi: 06 Mayıs 2020

Merhaba arkadaşlar,

Service-Now uygulamasında bir incident içerisine aynı anda birden fazla Fulfiller user formu incelerken birisi ekrandaki görüntüyü kaydederse bundan habersiz diğer kullanıcıların formu kaydetmesi durumunda sorunlar oluşacaktır.

Bu durumu engellemek için System Definition-> Client Scripts altına aşağıdaki kodu eklemeniz yeterli olacaktır.

  1. Menü seçilir.
  2. Hangi tabloda işlem yapılacaksa seçilir (Biz incident için işlem yapacağımız için Incident seçtik)
  3. Kodun yazılacağı alan

Screenshot_3

Kod:

// For support of warning when two people are editing the same record.
function onSubmit() {
var updatedOn = gel('onLoad_sys_updated_on');
if (!updatedOn)
return;

updatedOn = updatedOn.value;
if (!updatedOn)
return;

var sysid_gel = gel('sys_uniqueValue');
var sysid = sysid_gel.value;
var gr = new GlideRecord('incident');
gr.addQuery('sys_id',sysid);
gr.query();
if (gr.next()) {
var dbUpdatedOn = gr.sys_updated_on + '';
var dbUpdatedBy = gr.sys_updated_by + '';
} else
return;

if (updatedOn != dbUpdatedOn) {
return confirm("Bu çağrı üzerinde az önce " + dbUpdatedBy+ " işlem yapmıştır. Kaydetmek istediğinize emin misiniz? "
+ "Record has been updated by " + dbUpdatedBy + " since you opened it - "
+ "overwrite those changes with yours? Note that Additional comments and Work notes are "
+ "additive and will not be overwritten.");
}
}
function getGroupSys_id_Ajax2(main_cat, sub_cat_1, sub_cat_2, sub_cat_3)
{
var ga = new GlideAjax('getGroupSys_id2');
ga.addParam('sysparm_name','getGroupSys_id2');
ga.addParam('sysparm_main_cat', main_cat);
ga.addParam('sysparm_sub_cat_1', sub_cat_1);
ga.addParam('sysparm_sub_cat_2', sub_cat_2);
ga.addParam('sysparm_sub_cat_3', sub_cat_3);

//ga.getWaitXML();

//ga.getAnswer();

ga.getXML(function (response) {
var data = response.responseXML.documentElement.getAttribute("answer").split('|');

console.log(data.length);

if(data.length > 1)
{
g_form.setValue("assignment_group", data[0]);

//alert(g_form.getValue('assignment_group') != 'd8e6445e37c94600828c148543990e7b');

if((g_form.isNewRecord()) || (!g_form.isNewRecord() && g_form.getValue('u_main_category') == '' && g_form.getValue('state') == '1') )
{
g_form.setValue("impact", data[2]); //impact
g_form.setValue("urgency", data[3]); //urgency
g_form.setValue("priority", data[1]); //priority
}
/*else
{
g_form.setVisible('impact', false);
g_form.setVisible('urgency', false);
}*/
}

console.log(data);
});

//var result = ga.getXML(getGroupSys_idParse);

//console.log("******* " + result);

//return result;

}

function getGroupSys_idParse(response) {
return response.responseXML.documentElement.getAttribute("answer");
//alert(answer);
}

function getGroup(grp_sys_id)
{
var result = "";

var get = new GlideRecord("sys_user_group");
get.addQuery("sys_id", grp_sys_id);

get.query();

while(get.next())
{
result = get.name;
}

return result;
//alert(grp_sys_id);
}

 

// GERİ BİLDİRİM

Bu çözüm işine yaradı mı?

Değerlendirmen, bu notun diğer okuyuculara ne kadar yardımcı olduğunu gösterir.

Bu çözüm işine yaradı mı?

Değerlendirmek için yıldızlara tıklayın.

Ortalama puan 0 / 5. Toplam oy: 0

İlk değerlendiren sen ol.

Bu yazıyı faydalı bulmadığınız için çok üzüldük.

Görüşleriniz bizim için çok değerli.

Nasıl daha faydalı bir yazı hazırlayabiliriz?

// SOHBETE KATIL

Deneyimini paylaş

Bir sorunun, farklı bir çözümün veya eklemek istediğin bir notun var mı?

// OKUMAYA DEVAM

Bir not daha.

Tüm yazılar ↗︎