Перейти к основному содержимому
Версия: 1.24.2

Всплывающие сообщения

Всплывающие сообщения используются для коммуникации и информирования пользователей о важных изменениях и ошибках, которые возникают при взаимодействии с формой записи.

Чтобы настроить новое всплывающее сообщение, которого нет в "коробочной" версии, вам необходимо:

  1. Создать исходное сообщение.
  2. Создать переводы для этого сообщения.
  3. Настроить бизнес-правило, при выполнении которого это сообщение должно отображаться.

Типы всплывающих сообщений


На платформе SimpleOne доступны следующие типы всплывающих сообщений:

НазваниеОписаниеПример
Информационное сообщениеДействие выполнено, но есть дополнительная информация, которая может быть полезна пользователю. Часто сообщения данного типа используются вместе с сообщениями об успехе.
ПредупреждениеДействие выполнено, но есть важная информация, которую необходимо учитывать пользователю.
ОшибкаДействие не выполнено, возникла ошибка. Сообщения данного типа не закрываются автоматически.
УспехДействие выполнено. Сообщения этого типа всегда должны появляться после успешной отправки формы.
к сведению

Сообщения всех типов кроме ошибок закрываются автоматически через установленное количество времени. Значение по умолчанию равно 4 секунды. Вы можете задать другое значение через параметр durationMilliseconds, доступный для методов, которые вызывают всплывающие сообщения любых типов, кроме Ошибки.

Создание исходного сообщения


Тексты всех всплывающих сообщений хранятся в таблице Исходные сообщения (source_message).

Чтобы создать новое сообщение, выполните следующие шаги:

  1. Перейдите в Локализация системыИсходные сообщения.
  2. Нажмите Создать и заполните поле Сообщение.
  3. Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.
примечание

Текст исходного сообщения должен быть на английском языке.

Вы также можете добавить переводы этого сообщения на любой язык. Подробнее читайте в статье Локализация и многоязыковая поддержка.

Настройка бизнес-правила


Чтобы сообщение отображалось при выполнении бизнес-правила, при создании или обновлении записи бизнес-правила настройте следующие параметры:

  1. В секции Действие установите флажок Добавить сообщение.
  2. В появившемся поле Сообщение введите необходимое сообщение. Введите сообщение из таблицы Исходные сообщения для того, чтобы у сообщения были переводы, которые вы создали ранее.

Подробнее о создании бизнес-правил читайте в статье Бизнес-правила.

Настройка через скрипт


Для того чтобы настроить правило для всплывающего сообщения через скрипт, откройте форму записи, с которой должно быть связано сообщение, и найдите поле для ввода скрипта. Всплывающее сообщение, добавленное с помощью скрипта, может включать переменные, динамические ссылки и переводы.

Список методов, которые могут быть использованы в скрипте для добавления сообщения:

SimpleForm:

  • s_form.addErrorMessage(message)
  • s_form.addInfoMessage(message, durationMilliseconds)
  • s_form.addSuccessMessage(message, durationMilliseconds)
  • s_form.addWarningMessage(message, durationMilliseconds)

SimpleSystem:

  • ss.addInfoMessage(message, params)
  • ss.addErrorMessage(message, params)
  • ss.addSuccessMessage(message, params)

Примеры:

Скрипт для всплывающего сообщения со ссылкой
(function executeRule(current, previous = null /*not null only when action is update*/) {
const iaStats = new SimpleRecord('instance_activity_stats');
iaStats.get('ci_instance', current.sys_id);
if(iaStats.sys_id){
iaStats.active = false;
iaStats.update();
ss.addInfoMessage(IAStats <a href="/record/instance_activity_stats/${iaStats.sys_id}" target="_blank"><span style="color: #0050C8;">${iaStats.getDisplayValue()}</span></a> deactivated.)
}
})(current, previous);

Скрипт для всплывающего сообщения с переводом
(function executeRule(current, previous = null /*not null only when action is update*/) {
const message = new SimpleMessage();
const localizedMessage = message.getMessage('Inherits property has been activated for global UI action');
ss.addInfoMessage(localizedMessage);
})(current, previous);