You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 34 Next »

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

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

SimpleForm(table, sys_id)


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

Параметры:

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

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

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

Пример:

SimpleForm
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. Используйте ее при вызове контекстного меню кнопки.

s_form.addErrorMessage(message)


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


Параметр:

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


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

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


Пример:

addErrorMessage
s_form.addErrorMessage('Пожалуйста, введите email в следующем формате: joe@example.com');

s_form.addInfoMessage(message, durationMilliseconds)


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


Параметры:

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


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

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


Пример:

addInfoMessage
s_form.addInfoMessage('Ссылка скопирована', 2000);

s_form.addSuccessMessage(message, durationMilliseconds)


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


Параметры:

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


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

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


Пример:

addSuccessMessage
s_form.addSuccessMessage('Запись успешно добавлена!', 3000);

s_form.addWarningMessage(message, durationMilliseconds)


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

Параметры:

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


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

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


Пример:

addWarningMessage
s_form.addWarningMessage('Эта запись изменена другим пользователем', 3000);

s_form.addOption(fieldName, choiceValue)


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


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


Параметры:

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


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

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


Пример:

addOption
const choices = ['10', '20', '30'];
s_form.clearOptions('contact_type');
for (const optionValue of choices) {
    await s_form.addOption('contact_type', optionValue);
}

s_form.clearMessages()


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


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

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

Пример:

clearMessages()
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)


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


Параметр:

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


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

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


Пример:

clearOptions
const choices = ['10', '20', '30'];
s_form.clearOptions('contact_type');
for (const optionValue of choices) {
    await s_form.addOption('contact_type', optionValue);
}

s_form.clearValue(fieldName) 


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


Параметр:

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


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

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

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

  • если column_type является Boolean или Record Class.
  • если column_name совпадает с 'sys_id'.
  • если column_type является было очищено.


Пример:

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

s_form.isFieldChanged(fieldName)


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

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

Параметр:

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


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

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

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

Пример:

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

s_form.formId


Это свойство класса возвращает ID текущей формы. ID формы – это ID записи в таблице Формы (sys_ui_form)

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

Тип

Описание

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


Пример:

formId
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 of objects

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


Пример:

s_form.getChanges
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Данный метод возвращает строку, содержащую отображаемое название поля.


Пример:

getLabelOf
const FIELD_LABEL = s_form.getLabelOf('username');
s_form.addErrorMessage(`Поле "${FIELD_LABEL}" содержит недопустимые символы.`);

s_form.getREMDisplayValue(fieldName)


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


Параметр:

Название

Тип

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

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

fieldNameStringДН

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

Тип

Описание

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

Пример:

getREMDisplayValue
s_form.addErrorMessage(`Сервис "${s_form.getREMDisplayValue('service')}" недоступен.`);

s_form.getREMLabelOf(fieldName)


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


Параметр:

Название

Тип

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

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

fieldNameStringДН

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

Тип

Описание

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

Пример:

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

s_form.getREMValue(fieldName)


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

Параметр:

Название

Тип

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

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

fieldNameStringДН

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

Тип

Описание

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

Пример:

getREMValue
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Метод возвращает системное название таблицы.
Пример:
getTableName
const TABLE_NAME = s_form.getTableName();
console.log(TABLE_NAME);

s_form.getUniqueValue()


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


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

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


Пример:

getUniqueValue
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

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


Пример:

getValue
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)


Этот метод возвращает отображаемое значение поля.


Параметры:

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

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

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

Пример:

getDisplayValue
s_form.addInfoMessage(`Сервис "${s_form.getDisplayValue('service')}" недоступен`);

s_form.goBack()


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


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

Тип

Описание

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

Пример:

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

s_form.isChanged()


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


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

Тип

Описание

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

Пример:

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

s_form.hideFieldMsg(fieldName)


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


Параметры:

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

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

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

Пример:

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

s_form.hideRelatedLists()


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


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

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

Пример:

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

s_form.isMandatory(fieldName)


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

Параметр:

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

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

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

Пример:

s_form.isMandatory
if (s_form.isMandatory('state') && !s_form.getValue('state')) {
  s_form.addInfoMessage('Укажите статус');
}

s_form.hideRelatedList(relListTitle)


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


Параметр:

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


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

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


Пример:

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

s_form.isNewRecord()


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


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

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


Пример:

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

s_form.isReadonly(fieldName)


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


Параметр:

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


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

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


Пример:

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

s_form.isSectionVisible(sectionName)


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


Параметр:

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


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

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

Пример:

getSectionNames
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, так как данный метод не поддерживает валидационную проверку полей других типов.

Пример:

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

s_form.isVisible(fieldName)


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

Параметры:

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

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

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

Пример:

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

s_form.refreshUiActions()


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

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

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

Пример:

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


s_form.removeOption(fieldName, choiceValue)


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


Параметры:

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


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

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


Пример:

removeOption
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 сохраненной записи.

Пример:

save()
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Данный метод не возвращает значение.


Пример:

setLabelOf
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).



Пример:

setMandatory
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).
  • Если обязательное поле пустое или доступно только для чтения.

Пример:

setReadOnly
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Данный метод не возвращает значение.

Пример:

setREMLabelOf
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).

Пример:

setREMMandatory
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).

Пример:

setREMReadOnly
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Данный метод не возвращает значение.

Пример:

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

s_form.setREMVisible(fieldName, display)


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


Параметры:

Название

Тип

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

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

fieldNameStringДН
displayBooleanДН

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

Тип

Описание

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

Пример:

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

s_form.setSectionDisplay(sectionName, display)


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


Параметры:

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


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

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


Пример:

setSectionDisplay
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.


Пример:

setValue
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Данный метод не возвращает значение.


Пример:

setVisible
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Данный метод не возвращает значение.


Пример:

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

s_form.showRelatedLists()


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

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

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

s_form.showRelatedList(listTitle)


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


Параметр:

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

listTitle

StringДН


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

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

Пример:

showRelatedList
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.

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

s_form.hasChanges()


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

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


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

Тип

Описание

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

Пример:

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

  • No labels