# Элементы управления содержимым

- Human documentation: [https://docs.univer.ai/ru-RU/guides/docs/features/content-controls](https://docs.univer.ai/ru-RU/guides/docs/features/content-controls)

- Agent Markdown: [https://docs.univer.ai/ru-RU/guides/docs/features/content-controls.md](https://docs.univer.ai/ru-RU/guides/docs/features/content-controls.md)

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.2.0`

- Source: [docs/features/content-controls.ru-RU.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/docs/features/content-controls.ru-RU.mdx)

---

Элементы SDT поддерживают форматированный и обычный текст, флажки, даты, списки, изображения, группы, повторяющиеся разделы и блоки документа. Настройте Docs Core и лицензию Pro, затем зарегистрируйте плагины до создания документа. Добавьте локаль UI в `locales` и подключите CSS. Docs Advanced их не включает.

#### npm

```bash
npm install @univerjs-pro/docs-sdt @univerjs-pro/docs-sdt-ui
```

#### pnpm

```bash
pnpm add @univerjs-pro/docs-sdt @univerjs-pro/docs-sdt-ui
```

#### yarn

```bash
yarn add @univerjs-pro/docs-sdt @univerjs-pro/docs-sdt-ui
```

#### bun

```bash
bun add @univerjs-pro/docs-sdt @univerjs-pro/docs-sdt-ui
```

```ts
import { UniverDocsSdtPlugin } from '@univerjs-pro/docs-sdt'
import { UniverDocsSdtUIPlugin } from '@univerjs-pro/docs-sdt-ui'
import FeatureLocale from '@univerjs-pro/docs-sdt-ui/locale/ru-RU'
import { LocaleType } from '@univerjs/core'

import '@univerjs-pro/docs-sdt-ui/lib/index.css'

univerAPI.loadLocales(LocaleType.RU_RU, FeatureLocale)

univer.registerPlugin(UniverDocsSdtPlugin)
univer.registerPlugin(UniverDocsSdtUIPlugin)
```

## Вставка в выделение

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

```ts
import { InsertSdtCommand } from '@univerjs-pro/docs-sdt-ui'

await univerAPI.executeCommand(InsertSdtCommand.id, { kind: 'checkbox' })
```

## Блокировки и сохранение

Элементы хранятся как диапазоны `CustomRangeType.SDT` в `IDocumentBody.customRanges`, метаданные — в `ISdtCustomRange.properties`. Блокировка содержимого запрещает изменение значений, блокировка элемента — удаление оболочки. Раздел может запрещать добавление и удаление повторов. Для поддержки отмены и повтора изменяйте данные через команды.

См. [команды](https://docs.univer.ai/ru-RU/reference/packages/plugins/univerjs-pro/docs-sdt.md) и [UI API](https://docs.univer.ai/ru-RU/reference/packages/plugins/univerjs-pro/docs-sdt-ui.md). Преобразованием DOCX занимается [Exchange](https://docs.univer.ai/ru-RU/guides/docs/features/import-export.md); поддержка редактора не гарантирует сохранность всех свойств Word и привязок XML.
