UNPKG

@servicenow/sdk

Version:
141 lines (95 loc) 4.97 kB
--- tags: [ReferenceColumn, column, table, reference, foreign key, lookup, relationship] --- # ReferenceColumn Defines a reference (foreign key) column that links a record to a row in another table. Use `referenceTable` to specify the target table and `cascadeRule` to control what happens to referencing records when the target is deleted. ## Signature ```typescript fluent ReferenceColumn(config) ``` ## Parameters ### config `C & ReferenceColumnType<RefTable, Type, Default>` **Properties:** - **referenceTable** (required): `RefTable` Reference a different table as string, escape with `` if definition not present locally (import from `@servicenow/sdk-core/global`) - **active** (optional): `boolean` Indicates whether to display the field in list and forms - **array** (optional): `boolean` Creates another table to store the info that will be captured by this field - **attributes** (optional): `Record<string, string | number | boolean>` Pairs of any supported dictionary attributes (sys_schema_attribute) - **audit** (optional): `boolean` Indicates whether to track the creation, update, and deletion of all records in the table. - **cascadeRule** (optional): `'none' | 'delete_no_workflow' | 'cascade' | 'delete' | 'restrict' | 'clear'` Configure what happens to records that reference a record when that record is deleted. - **default** (optional): `Default | string` Default value of the field when creating a record - **dependent** (optional): `string` limit the values available to select based on the value of the dependent field - **dynamicCreation** (optional): `boolean` If a reference is not found for a reference field then it allows the creation of that target - **dynamicCreationScript** (optional): `string` Populate a new record from a reference field based on the field value - **dynamicRefQual** (optional): `Record<'sys_filter_option_dynamic'> | string` Reference to a `sys_filter_option_dynamic` record — see the `now-ref` guide for record-reference forms. Use with `useReferenceQualifier: 'dynamic'`. Mutually exclusive with `referenceQual`. - **elementReference** (optional): `boolean` Indicates if the value of this field connotes the "element type" - **functionDefinition** (optional): `string` Definition of a function that the field performs - **help** (optional): `string` Help information for the field - **hint** (optional): `string` Describes field in more verbose form - **label** (optional): `string | Documentation[]` Unique label for the column that appears on list headers and form fields - **mandatory** (optional): `boolean` Indicates whether the field must contain a value to save a record - **maxLength** (optional): `number | string` Maximum length of the field value - **plural** (optional): `string` Plural form of the field name - **primary** (optional): `boolean` Indicates the primary key for a table - **readOnly** (optional): `boolean` Indicates whether you can edit the field value - **readOnlyOption** (optional): `readOnlyOptionType` Specifies the read-only behavior for the field - **referenceFloats** (optional): `boolean` Referenced table's form has an "edit" button in the related list for the current table - **referenceKey** (optional): `string` Sets up a many to many relationship. The value specified is the label describing the relationship. - **referenceQual** (optional): `string` Filter reference based on a filter condition, referenced value, or sys_filter_option_dynamic sys_id - **spellCheck** (optional): `boolean` Enables spell check for this field - **tableReference** (optional): `boolean` Indicates if the value of this field is a reference to another table in the schema - **textIndex** (optional): `boolean` Enables a natural language search on this field - **unique** (optional): `boolean` Creates a unique index on this field - **useReferenceQualifier** (optional): `'simple' | 'dynamic' | 'advanced'` Specifies the type of reference qualifier applied to the field. Use `'simple'` with `referenceQual` for an encoded query, `'advanced'` with `referenceQual` for a `javascript:` scripted qualifier, or `'dynamic'` with `dynamicRefQual` to point to a `sys_filter_option_dynamic` record. - **widget** (optional): `string` Style for the element type such as "radio" - **xmlView** (optional): `boolean` Displays the field value as XML ## Usage ```typescript fluent import { Table, ReferenceColumn, StringColumn } from '@servicenow/sdk/core'; export default Table({ name: 'x_myapp_request', label: 'Request', columns: { assigned_to: ReferenceColumn({ label: 'Assigned To', referenceTable: 'sys_user' }), category: ReferenceColumn({ label: 'Category', referenceTable: 'x_myapp_category', cascadeRule: 'none', }), }, }); ``` ## See - https://docs.servicenow.com/csh?topicname=table-api-now-ts.html&version=latest