ServiceNow, платформа для управления сервисами и операциями, предоставляет разработчикам множество инструментов для эффективной работы с данными. Одним из ключевых элементов этой платформы является GlideRecord — мощный инструмент для взаимодействия с базой данных. В этой статье мы рассмотрим основные аспекты GlideRecord, его функциональность и примеры использования.

Основы GlideRecord

GlideRecord представляет собой объектный интерфейс для взаимодействия с записями в таблицах базы данных ServiceNow. Он позволяет разработчикам создавать, читать, обновлять и удалять записи в таблицах, предоставляя удобный способ манипуляции данными.

Ключевые понятия

Прежде чем поглубже вникнуть в GlideRecord, важно понять несколько ключевых понятий:

  • Таблица (Table): в терминах ServiceNow, таблица представляет собой структуру для хранения данных. Примерами могут быть таблицы «Incident» для управления инцидентами или «User» для хранения информации о пользователях.
  • Запись (Record): это конкретная строка в таблице, содержащая данные.

Использование GlideRecord в скриптах

  • Получение GlideRecord

Для начала работы с GlideRecord, необходимо получить его экземпляр в скрипте. Это можно сделать следующим образом:

«`javascript

var gr = new GlideRecord(‘table_name’);

«`

Где ‘table_name’ – это имя таблицы, с которой вы хотите работать.

  • Простые запросы

Основная функциональность GlideRecord заключается в возможности выполнения запросов к данным. Например, чтобы получить все записи из таблицы «Incident», вы можете использовать следующий код:

«`javascript

var incidentGR = new GlideRecord(‘incident’);

incidentGR.query();

while (incidentGR.next()) {

// обработка данных

}

«`

  • Ограничение результатов запроса

Для более точного запроса вы можете добавить условия:

«`javascript

var incidentGR = new GlideRecord(‘incident’);

incidentGR.addQuery(‘priority’, ‘1’);

incidentGR.query();

while (incidentGR.next()) {

// обработка данных с приоритетом ‘1’

}

«`

  • Обновление данных

GlideRecord также обеспечивает простой способ обновления данных:

«`javascript

var incidentGR = new GlideRecord(‘incident’);

incidentGR.addQuery(‘number’, ‘INC001234’);

incidentGR.query();

if (incidentGR.next()) {

incidentGR.setValue(‘priority’, ‘2’);

incidentGR.update();

}

«`

  • Вставка новых записей
«`javascript

var newIncidentGR = new GlideRecord(‘incident’);

newIncidentGR.initialize(); // инициализация новой записи

newIncidentGR.setValue(‘short_description’, ‘Новый инцидент’);

newIncidentGR.setValue(‘priority’, ‘3’);

newIncidentGR.insert();

«`

  • Удаление записей
«`javascript

var incidentGR = new GlideRecord(‘incident’);

incidentGR.addQuery(‘number’, ‘INC001234’);

incidentGR.query();

if (incidentGR.next()) {

incidentGR.deleteRecord();

}

«`

Как оптимизировать

GlideRecord обеспечивает оптимизированный доступ к базе данных благодаря своей способности выполнять ленивую загрузку данных. Это означает, что данные из базы данных извлекаются только при необходимости, что повышает производительность при работе с большим объемом данных.

Заключение

GlideRecord в ServiceNow предоставляет мощный и гибкий инструмент для взаимодействия с базой данных. При правильном использовании он может значительно упростить работу разработчиков, обеспечивая эффективное управление данными на платформе ServiceNow.