# Разрешения

- Human documentation: [https://docs.univer.ai/ru-RU/guides/slides/features/core/permissions](https://docs.univer.ai/ru-RU/guides/slides/features/core/permissions)

- Agent Markdown: [https://docs.univer.ai/ru-RU/guides/slides/features/core/permissions.md](https://docs.univer.ai/ru-RU/guides/slides/features/core/permissions.md)

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.2.0`

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

---

Разрешения Slides обновляются командами и могут применяться к презентации, отдельному слайду или элементу. Разрешение дочернего объекта не отменяет режим только для чтения у родителя.

## Разрешения презентации

```ts
import { UnitAction } from '@univerjs/protocol'

const presentation = univerAPI.getActivePresentation()

if (!presentation) {
  throw new Error('No active presentation')
}

const permission = presentation.getPermission()

await permission.setPoint(UnitAction.Export, false)
await permission.setPoint(UnitAction.Print, true)

console.log(permission.getPoint(UnitAction.Print))
```

На уровне презентации поддерживаются Edit, Copy, Print, Export и Comment. `setReadOnly()` отключает редактирование всей презентации, а `setEditable()` включает его снова.

## Разрешения слайда и элемента

```ts
const slide = presentation.getSlideByIndex(0)
const element = slide?.getElements()[0]

if (slide && element) {
  await slide.getPermission().setEditable(false)
  await slide.getElementPermission(element.getId()).setEditable(true)

  console.log(slide.getElementPermission(element.getId()).canEdit())
}
```

Итоговый `canEdit()` учитывает ограничения презентации, слайда и элемента. Используйте стабильные идентификаторы, если разрешения должны сохраняться в снимках.
