Servicenow: замена $sp.getRecord() в приложении с ограниченной областью действия.

В глобальном приложении в рамках ServiceNow вы можете получить доступ к текущей записи, используя $sp.getRecord(); Однако это недоступно в среде с заданной областью. Есть ли альтернативный способ доступа к текущей записи в ограниченном приложении?

Вот код, который я пытаюсь охватить ниже:

var gr = $sp.getRecord();
if (gr == null)
    return;

data.tableLabel = gr.getLabel();
data.table = gr.getTableName();
data.sys_id = gr.getUniqueValue();
data.status = gr.state.getValue();
data.name = gr.name.getDisplayValue();
data.team_lead = gr.team_leader.getDisplayValue();
data.code = gr.project_charge_code.getDisplayValue();

person Dave    schedule 22.09.2017    source источник
comment
Для доступа к текущей записи - в каком скрипте? куда?   -  person Tim Woodruff    schedule 22.09.2017


Ответы (1)


Я предполагаю, что это виджет для сервисного портала. Я считаю, что вы должны иметь возможность использовать $sp.getRecord() в приложении с заданной областью. Согласно справочнику по API:

Обратите внимание. Приведенные ниже API предназначены для приложений с ограниченной областью действия и могут вести себя по-разному в глобальной области.

Однако, если у вас все еще есть проблемы, один из способов - запросить его как GlideRecord, если у вас есть способ сослаться на него.

var gr = new GlideRecord('x_abcd_my_table');
gr.addQuery('number', 'XMT001245');
gr.query();

while (gr.next()) {
    data.tableLabel = gr.getLabel();
    data.table = gr.getTableName();
    data.sys_id = gr.getUniqueValue();
    data.status = gr.state.getValue();
    data.name = gr.name.getDisplayValue();
    data.team_lead = gr.team_leader.getDisplayValue();
    data.code = gr.project_charge_code.getDisplayValue();
}
person Kirk    schedule 24.09.2017
comment
Эй, Кирк, спасибо за это! Чтобы продолжить это, как бы вы запросили текущую запись, в которой вы находитесь. Например, строка addQuery, как бы вы динамически запрашивали запись, которая в данный момент открыта? Не уверен, имеет ли это для вас смысл или нет. Спасибо! - person Dave; 25.09.2017
comment
Это зависит от того, как вы загружаете запись. Что ты делаешь, чтобы попасть в рекорд? - person Kirk; 25.09.2017