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

Помимо этого, нижеперечисленные методы можно использовать для настройки зависимостей между полями и значениями. Например, для изменения или удаления значений полей.

SimpleForm(table, sys_id)


Используйте этот метод для создания экземпляра объекта SimpleForm.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
tableStringДН
sys_idStringДН

Возвращаемое значение:

ТипОписание
ObjectДанный метод возвращает объект формы.

Пример:

window.s_widget_custom.submit = async function () {
  await s_widget.serverUpdate();
  const tableName = s_widget.getFieldValue('table_name');
  const recordId = s_widget.getFieldValue('record_id');

  const builtInForm = new SimpleForm(tableName, recordId);
  
  await builtInForm.save().then(s_form.save());
  s_modal.setShow(false);
  s_go.reloadWindow();
}


Использование глобальных переменных


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

Переменная

Описание

currentFieldLabel

Определяет связь поля с объектом его обёртки. Эта переменная используется с методом getColumnId(), как показано ниже:

window.currentFieldLabel.getColumnId()


Например, при помощи этой переменной можно получить контекст поля при вызове меню.

currentUiAction

Эта переменная содержит объект с ID записи UI action. Используйте ее при вызове контекстного меню.

Одним из примеров использования этой переменной является получение информации о UI действиях при вызове контекстного меню кнопки.

s_form.addErrorMessage(message)


Используйте этот метод для отображения всплывающего окна с сообщением об ошибке в нижнем правом углу окна.


Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
messageStringДН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

s_form.addErrorMessage('Please enter a valid email address using the following format: joe@example.com');

s_form.addInfoMessage(message, durationMilliseconds)


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


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
messageStringДН
durationMillisecondsNumberНН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

s_form.addInfoMessage('Link copied to clipboard', 2000);

s_form.addSuccessMessage(message, durationMilliseconds)


Этот метод отображает сообщение об успешном действии, которое всплывает в нижнем правом углу окна. Сообщение исчезнет через некоторое количество времени. Укажите это время в миллисекундах во втором параметре.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
messageStringДН
durationMillisecondsNumberНН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Приемр:

s_form.addSuccessMessage('Record was successfully added!', 3000);

s_form.addWarningMessage(message, durationMilliseconds)


Данный метод отображает сообщение с предупреждением в правом нижнем углу окна. Сообщение исчезнет через некоторое количество времени. Укажите это время в миллисекундах во втором параметре.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
messageStringДН
durationMillisecondsNumberНН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

s_form.addWarningMessage('This record has been modified by another user', 3000);

s_form.addOption(fieldName, choiceValue)


Используйте данный метод для добавления опции выбора в конец поля со списком выбора, если опция с переданной choiceValue определена для fieldName в текущем наборе опций таблицы.


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


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН
choiceValueStringДН


Возвращаемое значение:

ТипОписание
PromiseЭтот метод возвращает объект Promise.


Пример:

const states = ['-1', '0', '2', '5'];

s_form.clearOptions('state');
states.forEach(async (stateValue) => {
  await s_form.addOption('state', stateValue);
})

s_form.clearMessages()


Используйте этот метод для того, чтобы закрывать все виды сообщений (информационные и об ошибке) на форме. 


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

s_i18n.getMessage('End date time cannot be less than start date time', (response) => {
  s_form.clearMessages();
  s_form.addErrorMessage(response);
});
return false; // abort form submit

s_form.clearOptions(fieldName)


Используйте данный метод для удаления всех опций из списка с выбором.


Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

const choices = [
  "Phone",
  "Email",
  "Self-service"
];

s_form.clearOptions('contact_type');
choices.forEach(async (choiceValue) => {
  await s_form.addOption('contact_type', choiceValue);
});

s_form.clearValue(fieldName) 


Используйте данный метод для удаления значения любого поля.


Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН


Возвращаемое значение:

ТипОписание
Boolean

Метод возвращает false, если очистить поле не получилось, в следующих случаях:

  • если column_type является Boolean или Record Class.
  • если column_name совпадает с 'sys_id'.
  • если column_type является Choice и не имеет дефолтного значения.

Если метод возвращает true, поле будет очищено.


Пример:

if (!s_form.getValue('sprint')) {
  s_form.clearValue('points');
}

s_form.isFieldChanged(fieldName)


Используйте этот метод, чтобы проверить, изменилось ли указанное поле.

Если клиентский скрипт запущен на определенной форме и изменяет ее, данный метод вернет значение true. Изменения могут быть инициированы как скриптом, так и пользователем.

Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН


Возвращаемое значение:

ТипОписание
Boolean

Метод возвращает true, если указанное поле было изменено; в противном случае, метод возвращает false.


Пример:

if (s_form.isFieldChanged('state') && s_form.getValue('state') != 'new') {
  return false; // abort form submit
}

s_form.formId


Этот класс свойств возвращает текущий ID текущего пользователя. Форма представления ID это ID записи в словаре UI Forms (sys_ui_form).

Возвращаемое значение:

Тип

Описание

StringМетод возвращает ID записи формы представления в словаре UI Forms (sys_ui_form).


Пример:

const url = new URL(`${API_BASE_URL}/export/excel`);
if (typeof s_form !== "undefined") {
  url.searchParams.set('form_id', s_form.formId);
}
window.open(url, "_blank");

s_form.getChanges()


Используйте данный метод для получения информации об измененных полях: название поля, предыдущее значение, текущее значение.

Если клиентский скрипт запущен на определенной форме и изменяет ее, метод getChanges() должен включать в себя массив с этими полями. Изменения могут быть инициированы как скриптом, так и пользователем.

Возвращаемое значение:

ТипОписание
Array

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


Пример:

if (s_form.isChanged()) {
  const changedFields = s_form.getChanges();
  let payload = {};
  changedFields.forEach((field) => {
    payload[field.fieldName] = field.currentValue;
  });
  SimpleStorage.setItem('payload', payload);
}


s_form.getLabelOf(fieldName)


Этот метод возвращает значение текстового лейбла.


Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН


Возвращаемое значение:

ТипОписание
StringДанный метод возвращает строку, содержащую значение лейбла атрибута.


Пример:

const FIELD_LABEL = s_form.getLabelOf('username');
s_form.addErrorMessage(`Field "${FIELD_LABEL}" contains invalid characters.`);

s_form.getREMDisplayValue(fieldName)


Данный метод возвращает значение отображенного REM атрибута.


Параметр:

Название

Тип

Обязательный

Значение по умолчанию

fieldNameStringДН

Возвращаемое значение:

Тип

Описание

StringЭтот метод возвращает отображаемое значение атрибута. 

Пример:

s_form.addErrorMessage(`Service "${s_form.getREMDisplayValue('service')}" is not available`);


s_form.getREMLabelOf(fieldName)


Данный метод возвращает текстовое значение лейбла REM атрибута.


Параметр:

Название

Тип

Обязательный

Значение по умолчанию

fieldNameStringДН


Возвращаемое значение:

Тип

Описание

StringМетод возвращает значение лейбла атрибута.

Пример:

const FIELD_LABEL = s_form.getREMLabelOf('phone');
s_form.addErrorMessage(`Field "${FIELD_LABEL}" contains invalid characters.`);

s_form.getREMValue(fieldName)


Данный метод возвращает значение REM атрибута.

Параметр:

Название

Тип

Обязательный

Значение по умолчанию

fieldNameStringДН

Возвращаемое значение:

Тип

Описание

StringЭтот метод возвращает значение указанного поля из базы данных.

Пример:

if (s_form.getREMValue('model')) {
  s_form.hideFieldMsg('model');
}

s_form.getSections()


Используйте этот метод, чтобы получить массив секций.


Возвращаемое значение:

ТипОписание
Массив HTML элементовМетод возвращает массив, содержащий секции форм.

s_form.getSectionNames()


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

Возвращаемое значение:

ТипОписание
Array of stringsМетод возвращает массив, содержащий названия секций.

s_form.getTableName()


Этот метод возвращает название таблицы, к которой относится указанная запись.

Данный метод возвращает системное название таблицы, а не ее заголовок. Пример:

Системное название таблицыitsm_incident
Заголовок таблицыИнциденты


Возвращаемое значение:

ТипОписание
StringМетод возвращает системное название таблицы.


Пример:
const TABLE_NAME = s_form.getTableName();
console.log(TABLE_NAME);

s_form.getUniqueValue()


Данный метод возвращает уникальный ID (sys_id) записи.


Возвращаемое значение:

ТипОписание
StringЭтот метод возвращает ID записи; в противном случае, он возвращает значение null.


Пример:

const TABLE_NAME = s_form.getTableName();
const RECORD_ID = s_form.getUniqueValue();
const currentRecord = new SimpleRecord(TABLE_NAME);
currentRecord.get(RECORD_ID, ()=> {
  if (currentRecord.sys_id === RECORD_ID) {
    s_form.addInfoMessage(currentRecord.sys_created_at);
  }
});

s_form.getValue(fieldName)


Этот метод возвращает значение указанного поля из базы данных.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН


Возвращаемое значение:

ТипОписание
String

Значение указанного поля из базы данных.


Пример:

const callerId = s_form.getValue('caller_id');
if (!callerId) {
  const callerRecord = new SimpleRecord('employee');
  callerRecord.get(callerId, ()=> {
    if (callerRecord.sys_id &&
      callerRecord.personal_schedule) {
      await s_form.setValue('schedule', callerRecord.personal_schedule);
    } else {
      s_form.addInfoMessage('Users schedule is not defined');
    }
  });
}

s_form.getDisplayValue(fieldName)


Этот метод возвращает отображенное значение поляThis method returns the displayed value of the field.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН


Возвращаемое значение:

ТипОписание
StringОтображенное значение указанного поля.


Пример:

s_form.addInfoMessage(`Service "${s_form.getDisplayValue('service')}" is not available`);

s_form.goBack()


Используйте этот метод для перенаправления пользователя на предыдущую страницу. Если это невозможно, пользователь будет перенаправлен на страницу списка представления текущего экземпляра, например, со страницы записи инцидента на страницу списка инцидентов.


Возвращаемое значение:

Тип

Описание

VoidДанный метод не возвращает значение.


Пример:

if (s_form.isChanged()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}


s_form.isChanged()


Используйте этот метод, чтобы узнать, была ли запись изменена. 


Возвращаемое значение:

Тип

Описание

BooleanДанный метод возвращает значение true, если в форму записи вносились какие-либо изменения; если изменений не было, метод возвращает значение false.


Пример:

if (s_form.isChanged()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}

s_form.hideFieldMsg(fieldName)


В отличие от s_form.showFieldMsg(), данный метод скрывает информационные сообщения и сообщения об ошибке в указанном поле формы.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

if (s_form.getValue('state')) {
  s_form.hideFieldMsg('state');
}

s_form.hideRelatedLists()


Используйте этот метод, чтобы скрыть все связанные списки в форме.


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

if (s_form.getValue('type') == 'internal') {
  s_form.hideRelatedLists();
}

s_form.isMandatory(fieldName)


Используйте этот метод, чтобы проверить является ли указанное поле обязательным.

Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН

Возвращаемое значение:

ТипОписание
BooleanЭтот метод возвращает значение true, если поле является обязательным, если нет, метод возвращает значение false.

Пример:

if (s_form.isMandatory('state') && !s_form.getValue('state')) {
  s_form.addInfoMessage('State cannot be None');
}

s_form.hideRelatedList(relListTitle)


Используйте этот метод, чтобы указать связанный список, который необходимо скрыть.


Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
relListTitleStringДН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

if (s_form.getValue('type') == 'external') {
  s_form.hideRelatedList('Customer');
}

s_form.isNewRecord()


Если запись не была еще сохранена, метод возвращает true. В противном случае, метод возвращает значение false.


Возвращаемое значение:

ТипОписание
BooleanЕсли запись не была еще сохранена, метод возвращает true. В противном случае, метод возвращает значение false.


Пример:

if (s_form.isNewRecord()) {
  await s_form.setValue('state', 'new');
  s_form.setReadOnly('state', true);
}

s_form.isReadonly(fieldName)


Используйте этот метод, чтобы узнать, является ли указанное поле редактируемым или оно доступно только для чтения.


Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН


Возвращаемое значение:

ТипОписание
BooleanДанный метод возвращает значение true, если поле доступно только для чтения, в противном случае, метод возвращает значение false.


Пример:

if (!s_form.isReadonly('state')) {
  await s_form.setValue('state', 'new');
}

s_form.isSectionVisible(sectionName)


Данный метод определяет, является ли указанная секция видимой или нет.


Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
sectionNamestringДН


Возвращаемое значение:

ТипОписание
BooleanЭтот метод возвращает значение true, если секция видна, false, если скрыта.

Пример:

if (s_form.isSectionVisible('Instructions')) {
  s_form.addInfoMessage('Check out the "Instructions" section', 5000);
}

s_form.isValid()


Данный метод позволяет определить, является ли указанная форма валидной или нет.


Возвращаемое значение:

ТипОписание
BooleanМетод возвращает значение true, если форма валидна, если нет, метод возвращает значение false.


Используйте этот метод, только если форма содержит поля типов Date, Date/Time и Date/Time Specific, так как данный метод не поддерживает валидационную проверку полей других типов.


Пример:

if (!s_form.isValid()) {
  s_form.addErrorMessage('This form is invalid');
}

s_form.isVisible(fieldName)


Используйте этот метод чтобы узнать, является ли указанное поле видимым.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН

Возвращаемое значение:

TypeОписание
BooleanМетод возвращает значение true, если поле видимое, если нет, метод возвращает false.

Пример:

if (s_form.isVisible('state')) {
  s_form.setSectionDisplay('Controls', true);
}

s_form.refreshUiActions()


Используйте этот метод для перезагрузки всех UI actions на форме и пересчета серверных условий, которые определены для этих UI действий, без обновления страницы.

Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.

Пример:

const stateValue = s_form.getValue('state');
if (stateValue == 'in-progress') {
    s_form.refreshUiActions();
}


s_form.removeOption(fieldName, choiceValue)


Используйте этот метод, чтобы определить и удалить опцию из списка.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН
choiceValueStringДН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

const serviceId = s_form.getValue('service');
if (serviceId) {
  const service = new SimpleRecord('sys_cmdb_ci_service');
  service.get(serviceId, ()=> {
    if (service.business_criticality > '1') {
      s_form.removeOption('impact', 'low');
      s_form.removeOption('urgency', 'low');
    }
  });
}


s_form.save()


Используйте данный метод для сохранения записи, не покидая ее формы.

Возвращаемое значение:

ТипОписание
StringМетод возвращает ID сохраненной записи.


Пример:

const sysId = await s_form.save().finally(__resolveServerResponse;
await s_user.setPreference(preferenceApplicationName, packApplicationId);
await s_user.setPreference(preferenceLocalPackName, sysId);
await s_pref.refresh();


s_form.setLabelOf(fieldName, value)


Используйте данный метод для того, чтобы установить текстовое значение для лейбла поля. 


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН
valueStringДН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

if (s_form.getTableName() == "employee") {  
  s_form.setLabelOf("email", "Personal Email");
  s_form.setLabelOf("manager.email", "Manager's Email");
} else {
  s_form.setLabelOf("email", "Email");
}


s_form.setMandatory(fieldName, mandatory)


Используйте этот метод для того, чтобы сделать указанное поле обязательным, то есть оно не может быть пустым.


Параметры:

НазваниеТипОбязательноеЗначение по умолчанию
fieldNameStringДН
mandatoryBooleanДН


Возвращаемое значение:

TypeОписание
Boolean

При успешном выполнении данный метод возвращает значение true; в противном случае, метод возвращает значение false.

Значение false возвращается при следующих условиях:

  • Если поле доступно только для чтения и не содержит никакого значения.
  • Если поле является обязательным, то невозможно снять флажок Обязательное поле при помощи метода s_form.setMandatory('some_field', false).



Пример:

const scriptType = s_form.getValue('type');
const mandatoryColumn = ['onChange', 'onCellEdit'].includes(scriptType);
s_form.setVisible('column_id', mandatoryColumn);
s_form.setMandatory('column_id', mandatoryColumn);

s_form.setReadOnly(fieldName, readOnly)


Используйте этот метод, чтобы изменить настройки поля и сделать его редактируемым или доступным только для чтения.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН
readOnlyBooleanДН


Возвращаемое значение:

TypeОписание
Boolean

При успешном выполнении метод возвращает значение true.

Метод возвращает значение false в следующих случаях:

  • Если поле доступно только для чтения, флажок "Только для чтения" невозможно снять при помощи метода s_form.setReadOnly('some_field', false).
  • Если обязательное поле пустое или доступно только для чтения.

Пример:

if (s_form.getValue('any_tables')){
  s_form.setMandatory('table_id', false);
  s_form.setReadOnly('table_id', true);
  s_form.setVisible('table_id', false);
}

s_form.setREMLabelOf(fieldName, value)


Используйте этот метод, чтобы задать лейблу REM атрибута значение простого текста.

Параметры:

Название

Тип

Обязательный

Значение по умолчанию

fieldNameStringДН
valueStringДН


Возвращаемое значение:

Тип

Описание

StringДанный метод не возвращает значение.


Пример:

if (s_form.getTableName() == 'user') {
  s_form.setREMLabelOf('email', 'Email');
} else {
  s_form.setREMLabelOf('email', 'Personal Email');
}


s_form.setREMMandatory(fieldName, mandatory)


Используйте данный метод для того, чтобы сделать поле, определенное REM атрибутом, обязательным.


Параметры:

Название

Тип

Обязательный

Значение по умолчанию

fieldNameStringДН
mandatoryBooleanДtrue


Возвращаемое значение:

Type

Описание

Boolean

При успешном выполнении метод возвращает значение true. 

Метод возвращает значение false в следующих случаях:

  • Если поле доступно только для чтения и не содержит никакого значения.
  • Если поле является обязательным, то невозможно снять флажок "Обязательное поле" при помощи метода s_form.setMandatory('some_field', false).


Пример:

const isDeliveryFilled = !!s_form.getValue('delivery');
s_form.setREMMandatory('phone', isDeliveryFilled);


s_form.setREMReadOnly(fieldName, readOnly)


Используйте этот метод, чтобы сделать поле, указанное в REM атрибуте, доступным только для чтения.


Параметры:

Название

Тип

Обязательное

Значение по умолчанию

fieldNameStringДН
readOnlyBooleanДtrue


Возвращаемое значение:

Тип

Описание

Boolean

При успешном выполнении метод возвращает значение true. 

Метод возвращает значение false в следующих случаях:

  • Если обязательное поле пустое и доступно только для чтения.
  • Если поле доступно только для чтения, то невозможно снять флажок "Только для чтения" при помощи метода s_form.setReadOnly('some_field', false).

Пример:

if (s_form.isNewRecord()) {
  s_form.setREMValue('state', 'new');
  s_form.setREMReadOnly('state', true);
}

s_form.setREMValue(fieldName, databaseValue)


При помощи этого метод можно установить значение лейбла REM атрибута.

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

Параметры:

Название

Тип

Обязательное

Значение по умолчанию

fieldNameStringДН
databaseValueObjectДН


Возвращаемое значение:

Type

Описание

VoidДанный метод не возвращает значение.

Пример:

await s_form.setREMValue('state', 'new');
s_form.save();


s_form.setREMVisible(fieldName, display)


Используйте данный метод, чтобы настроить видимость поля, указанного в REM атрибуте. 


Параметры:

Название

Тип

Обязательное

Значение по умолчанию

fieldNameStringДН
displayBooleanДН


Возвращаемое значение:

Тип

Описание

VoidДанный метод не возвращает значение.


Пример:

s_form.setREMVisible('additional_info', !s_form.isNewRecord());

s_form.setSectionDisplay(sectionName, display)


Используйте этот метод, чтобы скрыть указанную секцию. 


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
sectionNameStringДН
displayBooleanДН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

if (s_form.getValue('state') == '7') { // Completed
  s_form.setSectionDisplay('Closure Information', true);
  s_form.setMandatory('closure_code', true);
  s_form.setMandatory('closure_notes', true);
} else {
  s_form.setMandatory('closure_code', false);
  s_form.setMandatory('closure_notes', false);
  s_form.setSectionDisplay('Closure Information', false);
}

s_form.setValue(fieldName, databaseValue)


Данный метод предназначен для настройки значения поля.


Используйте метод s_form.clearValue(), чтобы очистить поле, а не устанавливать значение пустой строки.

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


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН
databaseValueStringДН


Возвращаемое значение:

ТипОписание
VoidЭтот метод возвращает объект Promise.


Пример:

await s_form.setValue('state', '7'); // Completed
await s_form.setValue('closure_notes', articleBodies.join('\n'));
await s_form.setValue('closure_code', '1'); // Solved 1st Level
s_form.save()
  .then(() => {
    s_i18n.getMessage(`The typical solution is applied`, (e) => {
      s_form.addInfoMessage(e);
    })
  });

s_form.setVisible(fieldName, display)


Данный метод предназначен для управления отображением полей, которые были добавлены в форму через Form Layout. Эти поля можно скрыть или показать. Статус скрытого поля похож на статус поля, удаленного с формы представления. 

Скрытие поля, для которого обязательный атрибут установлен на уровне столбца (включая обязательную перезапись, описанную в статье Column Overriding), приводит к валидации ошибок после подачи формы со стороны клиента.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН
displayBooleanДН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

if (!s_form.isNewRecord()) {
  s_form.setVisible('subject', true);
  s_form.setVisible('reason', false);
}

s_form.showFieldMsg(fieldName, message, type)


Используйте этот метод для вывода сообщений, содержащих значение 'info', 'error', or 'warning' под указанным полем формы. 


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДН
messageStringДН
typeStringДН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

s_form.showFieldMsg('subject', 'Cannot be empty', 'info');


s_form.showFieldMsg('subject', 'Cannot be empty', 'warning');


s_form.showFieldMsg('subject', 'Cannot be empty', 'error');

s_form.showRelatedLists()


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

Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.

s_form.showRelatedList(listTitle)


Данный метод предназначен для отображения определенных списков, связанных с формой.


Параметр:

НазваниеТипОбязательныйЗначение по умолчанию

listTitle

StringДН


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

s_form.showRelatedList('UI Action');

s_form.submit()


Используйте данный метод для подачи формы записи.


Возвращаемое значение:

ТипОписание
VoidДанный метод не возвращает значение.


Устаревшие методы


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

s_form.fieldHasChanges(fieldName)


Используйте этот метод, чтобы проверить, было ли указанное поле изменено.

Это устаревший метод, нерекомендуемый к использованию. Используйте вместо него метод s_form.isFieldChanged(fieldName).


Метод s_form.fieldHasChanges(fieldname) возвращает значение true, если на указанной форме запущен клиентский скрипт, меняющий ее. Изменять форму могут как пользователь, так и скрипт.

Параметр:

Название

Тип

Обязательный

Значение по умолчанию

fieldNameStringДН

Возвращаемое значение:

Тип

Описание

Boolean

Метод возвращает значение true, если указанное поле было изменено; в противном случае, метод возвращает значение false.


console.log(s_form.fieldHasChanges('state'));

s_form.hasChanges()


Используйте данный метод, чтобы узнать, была ли запись изменена.

Это устаревший метод, нерекомендуемый к использованию. Используйте вместо него метод s_form.isChanged().


Возвращаемое значение:

Тип

Описание

BooleanМетод возвращает значение true, если запись была изменена; если изменений не было, метод возвращает значение false.

Пример:

if (s_form.hasChanges()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}