Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The SimpleForm API This class provides methods for customizing to configure forms. These methods These methods can only be used on the client side only.

You can also use these methods to configure the dependencies between fields and values (for . For example, changing values in of the fields or clear clearing the fields).

s_form

SimpleForm(table, sys_id)


Instantiates a new SimpleForm object.

NameTypeMandatoryDefault Value
tableStringYN
sys_idStringYN

s_form.addErrorMessage(message)

This method displays the error message at the top of the form.

Parameter(s):

NameTypeMandatoryDefault ValueMessageStringYN

Return:

TypeDescriptionVoidThis method does not return a value.


Code Block
languagejs
themeEclipse
titleSimpleForm
linenumberstrue
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();
}


Return:

TypeDescription
ObjectThis method returns a form object.

Global variable usage


Within any record form, you can use predefined global variables.

Variable

Description

currentFieldLabel

Defines a link to a Wrapper object for a field. The variable is used with the getColumnId() method.
For example, window.currentFieldLabel.getColumnId().

One of the usage cases of this variable is the field context menu call. 

Image Added

currentUiAction

Contains an object with an ID of the UI action record. It is used when the context menu is called.

One of the usage cases is receiving information about UI actions when calling the context menu.

Image Added

s_form.addErrorMessage(message)


This method displays the error toast message in the bottom right corner

Example:

Code Block
languagejs
themeEclipse
titleaddErrorMessage
linenumberstrue
s_form.addErrorMessage('Need more information');

s_form.addInfoMessage(message, duration)

This method adds an informational message to the top of the form. The message is expirable, its expire period (in milliseconds) should be specified by $duration parameter.

Parameter(s):

NameTypeMandatoryDefault ValuemessageStringYNdurationNumberYN

Return:

TypeDescriptionVoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titleaddInfoMessage
linenumberstrue
s_form.addInfoMessage('Record successfully created', 1000);

s_form.addOption(fieldName, choiceValue)

This method adds a choice option to the end of the choice list field.


Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYNchoiceValue
messageStringYN


Return:

TypeDescription
VoidThis method does not return
a
value.


Example:

Code Block
languagejs
themeEclipse
titleaddOptionaddErrorMessage
linenumberstrue
s_form.addOptionaddErrorMessage('priority' , 'low');
s_form.clearMessages(
Please enter a valid email address using the following format: joe@example.com');

s_form.addInfoMessage(message, durationMilliseconds)


This method removes informational messages or error messages in the top of the form.

Return:

TypeDescriptionVoidThis method does not return a value.

displays an informational toast message at the bottom right corner. The message disappears after a certain period of time. Specify this period in milliseconds in the second parameter.


Parameter(s):

NameTypeMandatoryDefault Value
messageStringYN
durationMillisecondsNumberN

s_form.clearOptions(fieldName)

This method allows removing all options from the choice list.

Parameter(s):

NameTypeMandatoryDefault ValuefieldNameStringY
N


Return:

TypeDescription
VoidThis method does not return
a
value.


Example:

Code Block
languagejs
themeEclipse
titleclearOptionsaddInfoMessage
linenumberstrue
s_form.clearOptionsaddInfoMessage('contact_type'Link copied to clipboard', 2000);

s_form.

clearValue

addSuccessMessage(

fieldName

message, durationMilliseconds)


This method allows removing any value from any field.

It returns TRUE if it is able to clear the value from the field.

It returns FALSE in the following cases:

  • if the column_type is either Boolean or Record Class;
  • if the column_name is equal to 'sys_id';
  • if the column_type is Choice and it does not have a default value.

If the method returns FALSE, then the field. will not be cleared.

Parameter(s):

displays a message about a successul action in the bottom right corner. The message disappears after a certain period of time. Specify this period in milliseconds in the second parameter.


Parameter(s):

NameTypeMandatoryDefault Value
messageStringYN
durationMillisecondsNumberN
NameTypeMandatoryDefault ValuefieldNameStringY
N


Return:

TypeDescription
Boolean
VoidThis method
returns the boolean value (TRUE or FALSE) in the cases described above
does not return value.


Example:

Code Block
languagejs
themeEclipse
titleclearValueaddSuccessMessage
linenumberstrue
s_form.getValueaddSuccessMessage('sprint') === null ? s_form.clearValue('points') : falseRecord was successfully added!', 3000);

s_form.

getComponent

addWarningMessage(

fieldName

message, durationMilliseconds)


This method returns the form field by its namedisplays a warning message in the bottom right corner. The message disappears after a certain period of time. Specify this period in milliseconds in the second parameter.

Parameter(s):

NameTypeMandatoryDefault Value
fieldName
messageStringYN
durationMillisecondsNumberNN


Return:

TypeDescription
SimpleForm object
VoidThis method
returns the SimpleForm object containing the form field if the query was successful; otherwise, returns NULL
does not return value.


Example:

Code Block
languagejs
themeEclipse
titlegetComponentaddWarningMessage
linenumberstrue
const component = s_form.getComponentaddWarningMessage('name'This record has been modified by another user', 3000);

s_form.

getLabelOf

addOption(fieldName, choiceValue)


This method returns the text value adds a choice option to the end of the field label.choice list field if option with passed choiceValue defined for fieldName for current table options set.

Note

Please note that this method is asynchronous; for better performance, use the await keyword as shown in the code example below.


Parameter(Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN
choiceValueStringYN


Return:

TypeDescription
StringThe text of the label
PromiseThis method returns a Promise object.


Example:

Code Block
languagejs
themeEclipse
titlegetLabelOfaddOption
linenumberstrue
s_form.getLabelOf('assigned_user');const states = ['-1', '0', '2', '5'];

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

s_form.

getSections

clearMessages()


This method allows returning the array of the sectionsis used to close all kinds of messages (both informational and error) in the form.


Return:

TypeDescription
Array of HTML elementsThe form sections.

s_form.getSectionNames()

This method allows returning the array which will contain the names of all sections, whether visible or not.

Return:

TypeDescriptionArray of stringsNames of the sections

s_form.getUniqueValue()

Returns the unique ID (sys_id) of the record displayed on the form.

Return:

TypeDescriptionStringReturns the record ID; otherwise, returns NULL.
VoidThis method does not return value.


Code Block
languagejs
themeEclipse
titleclearMessages()
linenumberstrue
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)


Using this method, you can remove all options from the choice list.


Parameter(s):

Example:

Code Block
languagejs
themeEclipse
titlegetUniqueValue
linenumberstrue
const sysId = s_form.getUniqueValue();

s_form.getValue(fieldName)

Returns the internal (written down to the database) value of the specified field.

Warning

IsDisplayValue parameter was maintained in earlier versions but has been deprecated from version 1.1 and no longer valid. Avoid using it in your scripts. To get a displayed value of a field, use the s_form.getDisplayValue method.

Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN


Return:

TypeDescription
SimpleRecord Object or Document ID
VoidThis method
returns the field values in a various types:
  • It returns the database value (that may differ from the displayed value) for the fields of Reference, List, Document ID.
  • And for the other field types, like the String, or Duration, or Big Integer, the method just returns the field value.

Example:

does not return a value.


Example:

Code Blockcode
languagejs
themeEclipse
titlegetValueclearOptions
linenumberstrue
s_form.getValue('caller_id');const choices = [
  "Phone",
  "Email",
  "Self-service"
];

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

s_form.

getDisplayValue

clearValue(fieldName) 
Anchor
s_form.clearValue
s_form.clearValue


This method is used to clear out any field, i.e., delete its value.

Using this method you can select a value and remove it from the field.

It returns the displayed 'false' if it is unable to clear the value of the field .

Parameter(s):

in the following cases:

  • if the column_type is either Boolean or Record Class.
  • if the column_name is equal to 'sys_id'.
  • if the column_type is Choice and it does not have a default value.

If the method returns 'true', then the field will be cleared.


Parameter(s):

NameTypeMandatoryDefault Value
NameTypeMandatoryDefault value
fieldNameStringYN


Return:

TypeDescription
StringThe displayed value of the specified field
BooleanThis method returns the boolean value ('true' or 'false') in the cases described above.


Example:

Code Block
languagejs
themeEclipse
titlegetDisplayValueclearValue
linenumberstrue
if (!s_form.getDisplayValuegetValue('incident.descriptionsprint');) {
  s_form.
hideFieldMsg
clearValue(
input)This method, as opposed to the 
'points');
}

s_form.

showFieldMsg

isFieldChanged(fieldName)


This method , allows to hide informational or error messages on is used to check if the specified form field has been changed or not.


Info

If there is a client script running on the specified form and changing it, this method will return 'true'. It is not necessary that the change is made by a user, the form can be changed by a script.

Parameter(Parameter(s):

NameTypeMandatoryDefault Value
input
fieldNameStringYN


Return:

TypeDescription
Void
Boolean

This method

does not return a value

returns 'true' if the specified field has been changed; otherwise returns 'false'.


Example:

Code Block
languagejs
themeEclipse
titlehideFieldMsgs_form.isFieldChanged
linenumberstrue
if (s_form.isFieldChangedhideFieldMsg('state'); && s_form.
hideRelatedLists
getValue('state')

This method allows hiding all related lists on the form.

Return:

TypeDescriptionVoidThis method does not return a value.
 != 'new') {
  return false; // abort form submit
}

s_form.formId


This class property returns the current form ID for the current user. The form view ID is an ID of the record in the UI Forms (sys_ui_form) dictionary.

s_form.hideRelatedList(relListTitle)

This method allows hiding the specified related list on the form.

Parameter(s):

NameTypeMandatoryDefault ValuerelListTitleStringYN

Return:

Type

Description

Void
StringThis method
does not return a value
returns the record form view ID (ID of the record in the UI Forms (sys_ui_form) dictionary).


Example:

Code Block
languagejs
themeEclipse
titlehideRelatedListformId
linenumberstrue
s_form.hideRelatedList('Note');

s_form.isNewRecord()

If the record was never saved then this method returns TRUE; otherwise, it returns FALSE.

Return:

TypeDescriptionBooleanIf the record was never saved then this method returns TRUE; otherwise, it returns FALSE.
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()


This method is used to retrieve information about changed fields: field name, previous value, current value.

Info

If there is a client script running on this form and changing it, the getChanges() method will include such fields in the array. It is not necessary that the change is made by a user, it can be done by a script.

Return:

TypeDescription
Array

This method returns an array of objects with field changes. Object contains field name, previous value and the current value.


Code Block
languagejs
themeEclipse
titles_form.getChanges
linenumberstrue
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)


The method returns the label text value.


Parameter(s):

Example:

Code Block
languagejs
themeEclipse
titleisNewRecord
linenumberstrue
s_form.isNewRecord() ? alert('New record') : alert('Not new record');

s_form.isSectionVisible(sectionName)

This method returns TRUE if the section is visible; otherwise, it returns FALSE.

Parameter(s):

Name
Name
TypeMandatoryDefault Value
sectionName
fieldName
string
StringYN


Return:

TypeDescription
Boolean
StringThis method returns
TRUE if the section is visible; otherwise, it returns FALSE
a string containing the attribute label value.


Example:

Code Block
languagejs
themeEclipse
titleisSectionVisiblegetLabelOf
linenumberstrue
const FIELD_LABEL = s_form.isSectionVisiblegetLabelOf('Notesusername') ? alert('Visible') : alert('Not visible')';
s_form.addErrorMessage(`Field "${FIELD_LABEL}" contains invalid characters.`);

s_form.

removeOption

getREMDisplayValue(fieldName

, choiceValue

)


This method removes the selected option from the listgets the displayable REM attribute value.


Parameter(s):

Name

Type

Mandatory

Default Value

fieldName
StringYNchoiceValue
StringYN

Return:

Type

Description

Void
StringThis method
does not return a
returns the attribute displayable value.

Example:

Code Block
languagejs
themeEclipse
titleremoveOptiongetREMDisplayValue
linenumberstrue
s_form.removeOptionaddErrorMessage('priority' , 'low');`Service "${s_form.
save
getREMDisplayValue(
)

This method saves the record without going away (just updating).

Return:

TypeDescriptionObjectThis method returns a promise containing specific data.
'service')}" is not available`);


s_form.

setLabelOf

getREMLabelOf(fieldName

, value

)


This method sets gets the label text value of the field label REM attribute.


Parameter(s):

Name

Type

Mandatory

Default Value

fieldNameStringYN
valueStringYN


Return:

Type

Description

Void
StringThis method
does not return a
returns a string containing the attribute label value.

Example:

Code Block
languagejs
themeEclipse
titlesetLabelOfgetREMLabelOf
linenumberstrue
const FIELD_LABEL = s_form.setLabelOfgetREMLabelOf('assigned_user', 'Assigned User''phone');
s_form.addErrorMessage(`Field "${FIELD_LABEL}" contains invalid characters.`);

s_form.

setSectionMandatory

getREMValue(

sectionName, mandatory

fieldName)


This method allows making the specified section mandatory. Use UI policy instead of this method if possible.gets the REM attribute value.

Parameter(s):

Name

Type

Mandatory

Default Value

sectionName
fieldNameStringYN
mandatory

Return:

Boolean

Type

YN

Return:

Description

String
TypeDescriptionVoid
This method
does not return a value
returns the database value of the specified field.

Example:

Code Block
languagejs
themeEclipse
titlesetSectionMandatorygetREMValue
linenumberstrue
if (s_form.isNewRecordgetREMValue('model')) ?{
  s_form.setSectionMandatoryhideFieldMsg('Defaultmodel' , true) : s_form.setSectionMandatory);
}

s_form.

setMandatory

getSections(

fieldName, mandatory

)

This method allows making the specified field mandatory. Use UI policy instead of this method if possible.

Parameter(s):

NameTypeMandatoryDefault ValuefieldNameStringYNmandatoryBooleanYN

Using this method, you can get an array of sections.


Return:

TypeDescription
Array of HTML elementsThe form sections.

s_form.getSectionNames()


This method allows returning an array, which will contain the names of all sections, visible or not.


Return:

TypeDescription
VoidThis method does not return a value
Array of stringsThis method returns an array containing section names.

s_form.getTableName()


This method returns the table name to which the specified record relates.

Note

The method returns the system table name, not the table title. Example:

Table nameitsm_incident
Table titleIncidents


Return:

TypeDescription
StringSystem table name.


Example:
Code Block
languagejs
themeEclipse
titlesetMandatorygetTableName
linenumberstrue
s_form.isNewRecord() ?const TABLE_NAME = s_form.setMandatory('subject' , true) : s_form.setMandatory('subject' , falsegetTableName();
console.log(TABLE_NAME);

s_form.

setReadOnly

getUniqueValue(

fieldName, readOnly

)


This method allows making the specified field read-only or editable.

Use UI policy instead of this method if possible.

To make a mandatory field read-only, formerly make it non-mandatory using the setMandatory() method.

Parameter(s):

NameTypeMandatoryDefault ValuefieldNameStringYNreadOnlyBooleanYNReturn:TypeDescriptionVoidThis method does not return a value

returns the unique record ID (sys_id).


Return:

TypeDescription
StringThis method returns the record ID; otherwise, returns NULL.


Example:

Code Block
languagejs
themeEclipse
titlesetReadOnly
s_form.setReadOnly('priority' , true);

s_form.setSectionDisplay(sectionName, display)

This method allows to show or hide a section
getUniqueValue
linenumberstrue
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)


This method returns the database value of the specified field.


Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN


Return:

TypeDescription
String

This method returns the database value of the specified field.


Example:

Code Block
languagejs
themeEclipse
titlegetValue
linenumberstrue
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.


Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN


Return:

TypeDescription
StringThe displayed value of the specified field.


Example:

Code Block
languagejs
themeEclipse
titlegetDisplayValue
linenumberstrue
s_form.addInfoMessage(`Service "${s_form.getDisplayValue('service')}" is not available`);

s_form.goBack()


This method allows performing redirect to the previous page; if not possible then redirect to the list view of the current essence, for example, to a list of incidents out of a incident record.


Return:

Type

Description

VoidThis method does not return value.


Example:

Code Block
languagejs
themeEclipse
titlegoBack
linenumberstrue
if (s_form.isChanged()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}


s_form.isChanged()


This method allows to get information whether a record form has been changed or not.


Return:

Type

Description

BooleanThe method returns 'true' if any changes were made on the record form; otherwise, it returns 'false'.


Example:

Code Block
languagejs
themeEclipse
titleisChanged
linenumberstrue
if (s_form.isChanged()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}

s_form.hideFieldMsg(fieldName)


This method, as opposed to the s_form.showFieldMsg() method, allows hidding informational or error messages in the specified form field.


Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN


Return:

TypeDescription
VoidThis method does not return value.


Example:

Code Block
languagejs
themeEclipse
titlehideFieldMsg
linenumberstrue
if (s_form.getValue('state')) {
  s_form.hideFieldMsg('state');
}

s_form.hideRelatedLists()


Using this method, you can hide all related lists on the form.


Return:

TypeDescription
VoidThis method does not return value.


Example:

Code Block
languagejs
themeEclipse
titlehideRelatedList
linenumberstrue
if (s_form.getValue('type') == 'internal') {
  s_form.hideRelatedLists();
}

s_form.isMandatory(fieldName)


This method is used to check if the specified field is mandatory or not.

Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN

Return:

TypeDescription
BooleanThis method returns 'true' if the field is mandatory; otherwise returns 'false'.

Example:

Code Block
languagejs
themeEclipse
titles_form.isMandatory
linenumberstrue
if (s_form.isMandatory('state') && !s_form.getValue('state')) {
  s_form.addInfoMessage('State cannot be None');
}

s_form.hideRelatedList(relListTitle)


Using this method, you can specify a related list you want to hide.


Parameter(s):

NameTypeMandatoryDefault Value
relListTitleStringYN


Return:

TypeDescription
VoidThis method does not return value.


Example:

Code Block
languagejs
themeEclipse
titlehideRelatedList
linenumberstrue
if (s_form.getValue('type') == 'external') {
  s_form.hideRelatedList('Customer');
}

s_form.isNewRecord()


If the record was never saved, this method returns 'true'; otherwise, it returns 'false'.


Return:

TypeDescription
BooleanIf the record was never saved then this method returns 'true'; otherwise, it returns 'false'.


Example:

Code Block
languagejs
themeEclipse
titleisNewRecord
linenumberstrue
if (s_form.isNewRecord()) {
  await s_form.setValue('state', 'new');
  s_form.setReadOnly('state', true);
}

s_form.isReadonly(fieldName)


This method is used to check if the specified field is editable or read-only.


Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN


Return:

TypeDescription
BooleanThis method returns 'true' if the field is read-only; otherwise returns 'false'.


Example:

Code Block
languagejs
themeEclipse
titles_from.isReadonly
linenumberstrue
if (!s_form.isReadonly('state')) {
  await s_form.setValue('state', 'new');
}

s_form.isSectionVisible(sectionName)


This method defines if a specified section is visible or not.


Parameter(s):

NameTypeMandatoryDefault Value
sectionNamestringYN


Return:

TypeDescription
BooleanThis method returns 'true' if the section is visible; otherwise, it returns 'false'.


Code Block
languagejs
themeEclipse
titlegetSectionNames
linenumberstrue
if (s_form.isSectionVisible('Instructions')) {
  s_form.addInfoMessage('Check out the "Instructions" section', 5000);
}

s_form.isValid()


This method is used to check if the specified form is valid or not.


Return:

TypeDescription
BooleanThis method returns 'true' if the form is valid; otherwise, returns 'false'.


Note

It makes sense to use this method if the form contains fields of the Date, Date/Time and Date/Time Specific types, due the method does not support validation checks for fields of other types.


Example:

Code Block
languagejs
themeEclipse
titles_form.isValid
linenumberstrue
if (!s_form.isValid()) {
  s_form.addErrorMessage('This form is invalid');
}

s_form.isVisible(fieldName)


This method is used to check if the specified field is visible or not.

Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN

Return:

TypeDescription
BooleanThe method returns 'true' if the field is visible; otherwise returns 'false'.

Example:

Code Block
languagejs
themeEclipse
titles_form.isVisible
linenumberstrue
if (s_form.isVisible('state')) {
  s_form.setSectionDisplay('Controls', true);
}

s_form.refreshUiActions()


This method reloads all UI actions on the form and recalculates the server condition defined for these UI actions without refreshing the page.

Return:

TypeDescription
VoidThis method does not return a value.


Code Block
languagejs
themeEclipse
titles_form.refreshUiActions()
linenumberstrue
const stateValue = s_form.getValue('state');
if (stateValue == 'in-progress') {
    s_form.refreshUiActions();
}


s_form.removeOption(fieldName, choiceValue)


Using this method, you can specify and delete an option from the list.


Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN
choiceValueStringYN


Return:

TypeDescription
VoidThis method does not return value.


Example:

Code Block
languagejs
themeEclipse
titleremoveOption
linenumberstrue
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()


This method saves the record without leaving its form.


Return:

TypeDescription
StringThis method returns the ID of the saved record.


Example:

Code Block
languagejs
themeEclipse
titlesave()
linenumberstrue
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)


This method sets the text value of the field label.


Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN
valueStringYN


Return:

TypeDescription
VoidThis method does not return value.


Example:

Code Block
languagejs
themeEclipse
titlesetLabelOf
linenumberstrue
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)


This method is used to change a specified field to a mandatory field, i.e., it cannot be null.


Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN
mandatoryBooleanNtrue


Return:

TypeDescription
Boolean

This method returns 'true' if its execution has been successful; otherwise, it returns 'false'.

This method returns false in the following cases:

  • If a field is read-only and does not contain any value.
  • If a field is mandatory, it is impossible to clear the Mandatory checkbox with the s_form.setMandatory('some_field', false) method.



Example:

Code Block
languagejs
themeEclipse
titlesetMandatory
linenumberstrue
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)


This method is used to change a specified field to read-only or editable.


Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN
readOnlyBooleanNtrue


Return:

TypeDescription
Boolean

This method returns 'true' if its execution has been successful; otherwise, it returns 'false'.

This method returns false in the following cases:

  • If a field is read-only, it is impossible to clear the Read Only checkbox with the s_form.setReadOnly('some_field', false) method.
  • If a mandatory field is empty and read-only.

Example:

Code Block
languagejs
themeEclipse
titlesetReadOnly
linenumberstrue
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)


This message sets the plain text value of the REM attribute label.


Parameter(s):

Name

Type

Mandatory

Default Value

fieldNameStringYN
valueStringYN


Return:

Type

Description

StringThis method returns the set value.


Example:

Code Block
languagejs
themeEclipse
titlesetREMLabelOf
linenumberstrue
if (s_form.getTableName() == 'user') {
  s_form.setREMLabelOf('email', 'Email');
} else {
  s_form.setREMLabelOf('email', 'Personal Email');
}


s_form.setREMMandatory(fieldName, mandatory)


This method allows making the field specified by REM attribute mandatory.


Parameter(s):

Name

Type

Mandatory

Default Value

fieldNameStringYN
mandatoryBooleanY'true'


Return:

Type

Description

Boolean

This method returns 'true' if its execution has been successful; otherwise, it returns 'false'.

This method returns false in the following cases:

  • If a field is read-only and does not contain any value.
  • If a field is mandatory, it is impossible to clear the Mandatory checkbox with the s_form.setMandatory('some_field', false) method.


Example:

Code Block
languagejs
themeEclipse
titlesetREMMandatory
linenumberstrue
const isDeliveryFilled = !!s_form.getValue('delivery');
s_form.setREMMandatory('phone', isDeliveryFilled);


s_form.setREMReadOnly(fieldName, readOnly)


This method allows making the field specified by REM attribute read-only.


Parameter(s):

Name

Type

Mandatory

Default Value

fieldNameStringYN
readOnlyBooleanY'true'


Return:

Type

Description

Boolean

This method returns 'true' if its execution has been successful; otherwise, it returns 'false'.

This method returns false in the following cases:

  • If a mandatory field is empty and set to read-only.
  • If a field is read-only, it is impossible to clear the Read Only checkbox with the s_form.setReadOnly('some_field', false) method.

Example:

Code Block
languagejs
themeEclipse
titlesetREMReadOnly
linenumberstrue
if (s_form.isNewRecord()) {
  s_form.setREMValue('state', 'new');
  s_form.setREMReadOnly('state', true);
}

s_form.setREMValue(fieldName, databaseValue)


This method allows setting the value of the REM attribute label.

Note

Please note that this method is asynchronous; for better performance, use the await keyword as shown in the code example below.

Parameter(s):

Name

Type

Mandatory

Default Value

fieldNameStringYN
databaseValueAnyYN


Return:

Type

Description

VoidThis method does not return a value.

Example:

Code Block
languagejs
themeEclipse
titlesetREMValue
linenumberstrue
await s_form.setREMValue('state', 'new');
s_form.save();


s_form.setREMVisible(fieldName, display)


This method allows defining visibility of the field specified by REM attribute.


Parameter(s):

Name

Type

Mandatory

Default Value

fieldNameStringYN
displayBooleanYN


Return:

Type

Description

VoidThis method does not return value.


Example:

Code Block
languagejs
themeEclipse
titlesetREMVisible
s_form.setREMVisible('additional_info', !s_form.isNewRecord());

s_form.setSectionDisplay(sectionName, display)


Using this method, you can specify the section you want to hide.


Parameter(s):

NameTypeMandatoryDefault Value
sectionNameStringYN
displayBooleanYN


Return:

TypeDescription
VoidThis method does not return value.


Example:

Code Block
languagejs
themeEclipse
titlesetSectionDisplay
linenumberstrue
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)


This method sets the field value. 


Note

Use s_form.clearValue() method for field clearing instead of setting an empty string value.

Also please note that this method is asynchronous; for better performance, use the await keyword as shown in the code example below.


Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN
databaseValueStringYN


Return:

TypeDescription
VoidThis method returns a Promise object.


Example:

Code Block
languagejs
themeEclipse
titlesetValue
linenumberstrue
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)


This method manage displaying of the fields that were added to the form through the Form Layout. With this method, you can hide or show the field. The hidden field state is similar as if this field has been removed from the form view.

Note

Hiding a field for which the mandatory attribute is set on a column level (including the mandatory override described in the Column Overriding article) will lead to validation errors after the form is submitted from the client-side.


Parameter(s):

NameTypeMandatoryDefault Value
sectionName
fieldNameStringYN
displayBooleanYN


Return:

TypeDescription
VoidThis method does not return
a
value.


Example:

Code Block
languagejs
themeEclipse
titlesetSectionDisplaysetVisible
linenumberstrue
if (!s_form.isNewRecord()) {
  s_form.setSectionDisplaysetVisible('Notessubject' , 'New Notes'true);
  s_form.
setValue
setVisible(
fieldName, value)

This method sets the field value.

Warning

IsDisplayValue parameter was maintained in earlier versions but has been deprecated from version 1.1 and no longer valid. Avoid using it in your scripts. To set a displayed value of a field, use the s_form.setDisplayValue method.

Note
'reason', false);
}

s_form.showFieldMsg(fieldName, message, type)


This method is used to display a message containing 'info', 'error', or 'warning' value under the specified form field. 

When setting an empty value (either String type or Array (for fields of the List type), the field value will be cleared like when using the s_form.clearValue() method.


Parameter(s):

NameType
MandatoryDefault ValuefieldName
MandatoryDefault Value
fieldNameStringYN
messageStringYN
value
typeStringYN


Return:

TypeDescription
VoidThis method does not return
a value.
Example:
value.


Example:

Code Block
languagejs
themeEclipse
titleshowFieldMsg
linenumberstrue
s_form.showFieldMsg('subject', 'Cannot be empty', 'info');


Code Block
languagejs
themeEclipse
titleshowFieldMsg
linenumberstrue
s_form.showFieldMsg('subject', 'Cannot be empty', 'warning');


Code Block
languagejs
themeEclipse
titlesetValueshowFieldMsg
linenumberstrue
s_form.setValueshowFieldMsg('descriptionsubject', 'my task descriptionCannot be empty', 'error');

s_form.

setVisible

showRelatedLists(

fieldName, display

)


This method allows making a field visible or hidden.

If the fieid is hidden, then the space is left blank. This method cannot hide mandatory field without any value.

displaying all lists related to the form.


Return:

TypeDescription
VoidThis method does not return value.

s_form.showRelatedList(listTitle)


This method allows displaying the specified lists related to the formUse UI policy instead of this method if possible.


Parameter(s):

NameTypeMandatoryDefault
ValuefieldNameStringYNdisplayBooleanYN
Value

listTitle

StringYN


Return:

TypeDescription
VoidThis method does not return value.


Example:

Code Block
languagejs
themeEclipse
titleshowRelatedList
linenumberstrue
s_form.showRelatedList('UI Action');

s_form.submit()


This method allows submitting the record form.


Return:

TypeDescription
VoidThis method does not return
a value.

Example:

Code Block
value.


Deprecated methods


This subsection contains methods that are not recommended to use in application design. They are deprecated as the platform evolves; new methods are developed instead of each of them.
languagejs
themeEclipse
titlesetVisible
linenumberstrue

s_form.

isNewRecord

fieldHasChanges(fieldName)


This method is used to check if the specified field has been changed or not.

Warning
) ? s_form.setVisible('chronology' , false) :

This method is deprecated and not recommended to use. Use the

s_form.

setVisible('chronology' , true);

isFieldChanged(fieldName) method instead.


Info

If there is a client script running on the specified form and changing it, the s_form.

showFieldMsg(fieldName, message, type)This method displays an informational message or an error message in the specified form field

fieldHasChanges(fieldname) method returns 'true'. That is, it is not necessary that the change is made by a user, the form can be changed by a script.

Parameter(s):

Name

Type

Mandatory

Default Value

fieldName
StringYNmessageStringY
Ntype
StringYN

Return:

Type

Description

Void
Boolean

This method

does not return a value.
Example:

returns 'true' if the specified field has been changed; otherwise, it returns 'false'.


Code Block
languagejs
themeEclipse
titleshowFieldMsgfieldHasChanges
linenumberstrue
s_form.showFieldMsg('subject', 'Cannot be empty', 'info');
s_form.showFieldMsg('subject', 'Cannot be empty', 'warning');
console.log(s_form.showFieldMsgfieldHasChanges('subject', 'Cannot be empty', 'error'state'));

s_form.

showRelatedLists

hasChanges()


This method allows displaying all lists related to the form.Return:

TypeDescriptionVoidThis method does not return a value.

getting information whether a record form has been changed or not.

Warning

This method is deprecated and not recommended to use. Use the s_form.

showRelatedList

isChanged(

listTableName

)

This method allows displaying the specified lists related to the form.

Parameter(s):

NameTypeMandatoryDefault Value

listTableName

StringYN

method instead.


Return:

Type

Description

Void
Boolean
This method does not return a value
The method returns 'true' if any changes were made on the record form; otherwise, it returns 'false'.

Example:

Code Block
languagejs
themeEclipse
titleshowRelatedListhasChanges
linenumberstrue
if (s_form.showRelatedListhasChanges('UI Action');)) {
  s_form.save().then(() => s_form.
submit()

This method saves the record with navigating away from the form.

Return:

TypeDescriptionVoidThis method does not return a value.
goBack());
} else {
  s_form.goBack();
}


Table of Contents
absoluteUrltrue