> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# NSFieldInfoBase

> Abstract basic information about database fields. May be custom or user-defined fields. The information can be used to build a user interface.

Abstract basic information about database fields. May be custom or user-defined fields. The information can be used to build a user interface.

## Constructors

### NSFieldInfoBase()

```crmscript theme={null}
NSFieldInfoBase
```

Initializes a new instance of the NSFieldInfoBase class.

## Methods

## GetDescription()

```crmscript theme={null}
String GetDescription()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Optional tooltip text for this field.

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
String description = thing.GetDescription();
```

## GetDisplayName()

```crmscript theme={null}
String GetDisplayName()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Label for field. May be multi-lang string encoded.

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
String displayName = thing.GetDisplayName();
```

## GetFieldName()

```crmscript theme={null}
String GetFieldName()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Database name or prog-id 'x\_foobar' or 'SuperOffice:2'.

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
String fieldName = thing.GetFieldName();
```

## GetFieldType()

```crmscript theme={null}
Integer GetFieldType()
```

**Returns:** [CRMScript.Global.Integer](CRMScript.Global.Integer) - What sort of data does this field contain. See \<xref href="CRMScript.NetServer.CustomFieldType" data-throw-if-not-resolved="false">\</xref>.

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Integer fieldType = thing.GetFieldType();
```

## GetHideField()

```crmscript theme={null}
Bool GetHideField()
```

**Returns:** [CRMScript.Global.Bool](CRMScript.Global.Bool) - Hide the field from the UI. Only allow API access.

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool hideField = thing.GetHideField();
```

## GetHideLabel()

```crmscript theme={null}
Bool GetHideLabel()
```

**Returns:** [CRMScript.Global.Bool](CRMScript.Global.Bool) - Hide the label if 1

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool hideLabel = thing.GetHideLabel();
```

## GetIsExternal()

```crmscript theme={null}
Bool GetIsExternal()
```

**Returns:** [CRMScript.Global.Bool](CRMScript.Global.Bool) - Should this field be shown to external users via customer center?

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool isExternal = thing.GetIsExternal();
```

## GetIsIndexed()

```crmscript theme={null}
Bool GetIsIndexed()
```

**Returns:** [CRMScript.Global.Bool](CRMScript.Global.Bool) - Is this field indexed? true if yes; false if no.

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool isIndexed = thing.GetIsIndexed();
```

## GetIsMandatory()

```crmscript theme={null}
Bool GetIsMandatory()
```

**Returns:** [CRMScript.Global.Bool](CRMScript.Global.Bool) - 0 = no, 1 = yes (field must be filled out).

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool isMandatory = thing.GetIsMandatory();
```

## GetIsReadOnly()

```crmscript theme={null}
Bool GetIsReadOnly()
```

**Returns:** [CRMScript.Global.Bool](CRMScript.Global.Bool) - 0 = read/write, 1 = readonly (don't combine with mandatory).

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool isReadOnly = thing.GetIsReadOnly();
```

## GetRank()

```crmscript theme={null}
Integer GetRank()
```

**Returns:** [CRMScript.Global.Integer](CRMScript.Global.Integer) - Tab order, ranking within the custom fields.

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Integer rank = thing.GetRank();
```

## GetShortLabel()

```crmscript theme={null}
String GetShortLabel()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Short name to be used in Archive headings and on page 1. If blank, the fieldLabel will be used everywhere.

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
String shortLabel = thing.GetShortLabel();
```

## GetTemplateVariableName()

```crmscript theme={null}
String GetTemplateVariableName()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Template variable name 'cs01', 'cl02' etc. Null for extra fields.

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
String templateVariableName = thing.GetTemplateVariableName();
```

## SetDescription(String)

```crmscript theme={null}
Void SetDescription(String description)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
String description;
thing.SetDescription(description);
```

## SetDisplayName(String)

```crmscript theme={null}
Void SetDisplayName(String displayName)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
String displayName;
thing.SetDisplayName(displayName);
```

## SetFieldName(String)

```crmscript theme={null}
Void SetFieldName(String fieldName)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
String fieldName;
thing.SetFieldName(fieldName);
```

## SetFieldType(Integer)

```crmscript theme={null}
Void SetFieldType(Integer fieldType)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Integer fieldType;
thing.SetFieldType(fieldType);
```

## SetHideField(Bool)

```crmscript theme={null}
Void SetHideField(Bool hideField)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool hideField;
thing.SetHideField(hideField);
```

## SetHideLabel(Bool)

```crmscript theme={null}
Void SetHideLabel(Bool hideLabel)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool hideLabel;
thing.SetHideLabel(hideLabel);
```

## SetIsExternal(Bool)

```crmscript theme={null}
Void SetIsExternal(Bool isExternal)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool isExternal;
thing.SetIsExternal(isExternal);
```

## SetIsIndexed(Bool)

```crmscript theme={null}
Void SetIsIndexed(Bool isIndexed)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool isIndexed;
thing.SetIsIndexed(isIndexed);
```

## SetIsMandatory(Bool)

```crmscript theme={null}
Void SetIsMandatory(Bool isMandatory)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool isMandatory;
thing.SetIsMandatory(isMandatory);
```

## SetIsReadOnly(Bool)

```crmscript theme={null}
Void SetIsReadOnly(Bool isReadOnly)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Bool isReadOnly;
thing.SetIsReadOnly(isReadOnly);
```

## SetRank(Integer)

```crmscript theme={null}
Void SetRank(Integer rank)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
Integer rank;
thing.SetRank(rank);
```

## SetShortLabel(String)

```crmscript theme={null}
Void SetShortLabel(String shortLabel)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
String shortLabel;
thing.SetShortLabel(shortLabel);
```

## SetTemplateVariableName(String)

```crmscript theme={null}
Void SetTemplateVariableName(String templateVariableName)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSFieldInfoBase thing;
String templateVariableName;
thing.SetTemplateVariableName(templateVariableName);
```


## Related topics

- [NSUserDefinedFieldInfoAgent](/en/automation/crmscript/reference/CRMScript.NetServer.NSUserDefinedFieldInfoAgent.md)
- [SuperOffice.WebApi.Data.FieldInfoBase](/en/api/reference/webapi/SuperOffice.WebApi.Data.FieldInfoBase.md)
- [SuperOffice.WebApi.Data.FieldInfoAttachment](/en/api/reference/webapi/SuperOffice.WebApi.Data.FieldInfoAttachment.md)
- [SuperOffice.WebApi.Data.FieldInfoBlob](/en/api/reference/webapi/SuperOffice.WebApi.Data.FieldInfoBlob.md)
- [SuperOffice.WebApi.Data.FieldInfoBool](/en/api/reference/webapi/SuperOffice.WebApi.Data.FieldInfoBool.md)
- [SuperOffice.WebApi.Data.FieldInfoDate](/en/api/reference/webapi/SuperOffice.WebApi.Data.FieldInfoDate.md)
