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

# NSPreference

> One preference item, which contains a specification (section/key), the raw string value, and the level at which this value was found.

One preference item, which contains a specification (section/key), the raw string value, and the level at which this value was found.

## Constructors

### NSPreference()

```crmscript theme={null}
NSPreference
```

Initializes a new instance of the NSPreference class.

## Methods

## GetDisplayTooltip()

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

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Display tooltip, populated when asked for. Formatted using CultureDataFormatter.

<Note>
  Suitable for binding display-datasource in lists, etc.
</Note>

**Example:**

```crmscript theme={null}
NSPreference thing;
String displayTooltip = thing.GetDisplayTooltip();
```

## GetDisplayType()

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

**Returns:** [CRMScript.Global.Integer](CRMScript.Global.Integer) - Display type, populated when asked for. See \<xref href="CRMScript.NetServer.PrefDescValueType" data-throw-if-not-resolved="false">\</xref>.

**Example:**

```crmscript theme={null}
NSPreference thing;
Integer displayType = thing.GetDisplayType();
```

## GetDisplayValue()

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

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Display value, populated when asked for. Formatted using CultureDataFormatter.

<Note>
  Suitable for binding display-datasource in lists, etc.
</Note>

**Example:**

```crmscript theme={null}
NSPreference thing;
String displayValue = thing.GetDisplayValue();
```

## GetLevel()

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

**Returns:** [CRMScript.Global.Integer](CRMScript.Global.Integer) - See \<xref href="CRMScript.NetServer.PreferenceLevel" data-throw-if-not-resolved="false">\</xref>. Undefined is returned for preferences that do not have a current setting.

**Example:**

```crmscript theme={null}
NSPreference thing;
Integer level = thing.GetLevel();
```

## GetPrefDescId()

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

**Returns:** [CRMScript.Global.Integer](CRMScript.Global.Integer) - The ID of the prefdesc this preference is connected to.

**Example:**

```crmscript theme={null}
NSPreference thing;
Integer prefDescId = thing.GetPrefDescId();
```

## GetRawValue()

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

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - NSPreference value.

**Example:**

```crmscript theme={null}
NSPreference thing;
String rawValue = thing.GetRawValue();
```

## GetSpecification()

```crmscript theme={null}
NSPreferenceSpec GetSpecification()
```

**Returns:** [CRMScript.NetServer.NSPreferenceSpec](CRMScript.NetServer.NSPreferenceSpec) - Preference specification, consisting of the section name and key name.

**Example:**

```crmscript theme={null}
NSPreference thing;
NSPreferenceSpec specification = thing.GetSpecification();
```

## GetTableName()

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

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - For DisplayType=PrefDescValueType.ListTableRef, TableName will contain the name of the table which the value reference to.

**Example:**

```crmscript theme={null}
NSPreference thing;
String tableName = thing.GetTableName();
```

## GetTabOrder()

```crmscript theme={null}
NSTabOrder GetTabOrder()
```

**Returns:** [CRMScript.NetServer.NSTabOrder](CRMScript.NetServer.NSTabOrder)

**Example:**

```crmscript theme={null}
NSPreference thing;
NSTabOrder tabOrder = thing.GetTabOrder();
```

## GetTargetId()

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

**Returns:** [CRMScript.Global.Integer](CRMScript.Global.Integer) - The ID of the target row. The table it points at is specified by the preference type.

**Example:**

```crmscript theme={null}
NSPreference thing;
Integer targetId = thing.GetTargetId();
```

## GetUserPreferenceId()

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

**Returns:** [CRMScript.Global.Integer](CRMScript.Global.Integer) - The ID of the user preference.

**Example:**

```crmscript theme={null}
NSPreference thing;
Integer userPreferenceId = thing.GetUserPreferenceId();
```

## SetDisplayTooltip(String)

```crmscript theme={null}
Void SetDisplayTooltip(String displayTooltip)
```

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

<Note>
  Suitable for binding display-datasource in lists, etc.
</Note>

**Example:**

```crmscript theme={null}
NSPreference thing;
String displayTooltip;
thing.SetDisplayTooltip(displayTooltip);
```

## SetDisplayType(Integer)

```crmscript theme={null}
Void SetDisplayType(Integer displayType)
```

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

**Example:**

```crmscript theme={null}
NSPreference thing;
Integer displayType;
thing.SetDisplayType(displayType);
```

## SetDisplayValue(String)

```crmscript theme={null}
Void SetDisplayValue(String displayValue)
```

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

<Note>
  Suitable for binding display-datasource in lists, etc.
</Note>

**Example:**

```crmscript theme={null}
NSPreference thing;
String displayValue;
thing.SetDisplayValue(displayValue);
```

## SetLevel(Integer)

```crmscript theme={null}
Void SetLevel(Integer level)
```

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

<Note>
  Undefined is returned for preferences that do not have a current setting.
</Note>

**Example:**

```crmscript theme={null}
NSPreference thing;
Integer level;
thing.SetLevel(level);
```

## SetPrefDescId(Integer)

```crmscript theme={null}
Void SetPrefDescId(Integer prefDescId)
```

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

**Example:**

```crmscript theme={null}
NSPreference thing;
Integer prefDescId;
thing.SetPrefDescId(prefDescId);
```

## SetRawValue(String)

```crmscript theme={null}
Void SetRawValue(String rawValue)
```

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

**Example:**

```crmscript theme={null}
NSPreference thing;
String rawValue;
thing.SetRawValue(rawValue);
```

## SetSpecification(NSPreferenceSpec)

```crmscript theme={null}
Void SetSpecification(NSPreferenceSpec specification)
```

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

**Example:**

```crmscript theme={null}
NSPreference thing;
NSPreferenceSpec specification;
thing.SetSpecification(specification);
```

## SetTableName(String)

```crmscript theme={null}
Void SetTableName(String tableName)
```

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

**Example:**

```crmscript theme={null}
NSPreference thing;
String tableName;
thing.SetTableName(tableName);
```

## SetTabOrder(NSTabOrder)

```crmscript theme={null}
Void SetTabOrder(NSTabOrder tabOrder)
```

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

**Example:**

```crmscript theme={null}
NSPreference thing;
NSTabOrder tabOrder;
thing.SetTabOrder(tabOrder);
```

## SetTargetId(Integer)

```crmscript theme={null}
Void SetTargetId(Integer targetId)
```

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

**Example:**

```crmscript theme={null}
NSPreference thing;
Integer targetId;
thing.SetTargetId(targetId);
```

## SetUserPreferenceId(Integer)

```crmscript theme={null}
Void SetUserPreferenceId(Integer userPreferenceId)
```

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

**Example:**

```crmscript theme={null}
NSPreference thing;
Integer userPreferenceId;
thing.SetUserPreferenceId(userPreferenceId);
```


## Related topics

- [NSPreferenceAgent](/en/automation/crmscript/reference/CRMScript.NetServer.NSPreferenceAgent.md)
- [NSPocketStartupData](/en/automation/crmscript/reference/CRMScript.NetServer.NSPocketStartupData.md)
- [NSPreferenceSpec](/en/automation/crmscript/reference/CRMScript.NetServer.NSPreferenceSpec.md)
- [NSPreferenceDescription](/en/automation/crmscript/reference/CRMScript.NetServer.NSPreferenceDescription.md)
- [NSPreferenceDescriptionLine](/en/automation/crmscript/reference/CRMScript.NetServer.NSPreferenceDescriptionLine.md)
