# Сравнение содержимого

> Сравнивайте версии и просматривайте добавления, удаления и изменения по модели продукта.

- Human documentation: [https://docs.univer.ai/ru-RU/overview/features/shared/compare](https://docs.univer.ai/ru-RU/overview/features/shared/compare)

- Agent Markdown: [https://docs.univer.ai/ru-RU/overview/features/shared/compare.md](https://docs.univer.ai/ru-RU/overview/features/shared/compare.md)

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.3.0`

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

---

Compare получает два полностью восстановленных снимка Unit и возвращает семантические различия по ячейкам, абзацам, страницам или записям. Это помогает проверять историю, результаты агентов и Worktree.

## Объекты сравнения

| Продукт | Примеры |
| --- | --- |
| Sheet | Листы, значения и формулы, строки, столбцы, стили и зарегистрированные ресурсы, включая диаграммы. |
| Doc | Абзацы, текст, стили, таблицы, блоки и рисунки. |
| Slide | Страницы, элементы, геометрия, стили, макеты и темы. |
| Relational Table | Таблицы, поля, записи и представления. |
| Canvases | Страницы, элементы и связанные ресурсы. |

Изменения делятся на добавления, удаления и обновления. Масштаб и выделение исключены как временное состояние интерфейса. Охват зависит от адаптера; PDF не включён.

## Как Snapshot и changeset участвуют в сравнении

Snapshot хранит полное состояние содержимого на определённой ревизии. Mutation описывает отдельное изменение, а changeset объединяет mutations в упорядоченную фиксацию. История сохраняет и восстанавливает версии; Compare показывает различия между двумя восстановленными версиями.

```mermaid
flowchart LR
    S["Базовый Snapshot"]
    CA["Применить changesets A"]
    CB["Применить changesets B"]
    A["Версия A"]
    B["Версия B"]
    C["Сравнение по продукту"]
    D["Добавлено · удалено · изменено"]
    S --> CA --> A
    S --> CB --> B
    A --> C
    B --> C
    C --> D
```

При сравнении истории или Worktree загружается базовый Snapshot, а последующие changesets применяются по порядку до целевых ревизий. Полные состояния передаются адаптеру продукта. Доступные changesets также помогают сопоставлять структурные изменения, например вставку или удаление строк и столбцов. Если есть только два полных состояния, можно выполнить сравнение снимков.

Результат следует модели продукта: ячейки и строки или столбцы Sheet, абзацы Doc, элементы Slide и Canvases, поля и записи Relational Table. Временное выделение и масштаб не считаются изменениями содержимого. Compare работает только для чтения; восстановление версии и слияние Worktree выполняются отдельно.

## Связь с Server SDK и AI SDK

**Server SDK** предоставляет Snapshots, changesets и номера ревизий и восстанавливает сравниваемое содержимое. Приложение передаёт оба состояния и доступную историю в Compare, получает структурированные различия и показывает их в веб-интерфейсе проверки. См. [историю](https://docs.univer.ai/ru-RU/overview/features/shared/history.md) и [расширения сервиса совместной работы](https://docs.univer.ai/ru-RU/server/collaboration/extensions.md).

**AI SDK** загружает и изменяет содержимое в Worktree и фиксирует результат Agent. Приложения могут использовать структурированные различия для проверок Agent и последующей обработки, а люди — визуально просматривать те же изменения перед слиянием. См. [процесс Worktree для Agent](https://docs.univer.ai/ru-RU/ai/worktree.md) и [операции с содержимым](https://docs.univer.ai/ru-RU/ai/content-operations.md).

## Примеры сравнения пяти продуктов

Во всех примерах используется план запуска Northstar: сначала создана и отправлена полная базовая версия, затем внесены изменения в Worktree и открыт Compare для просмотра различий.

В списке изменений **синий** обозначает правки, **зелёный** — добавления, **красный** — удаления. Панели только для чтения показывают содержимое до и после. Нажмите на изображение, чтобы увеличить его.

### Sheet: бюджет и структура строк

Обновить прогнозы исследований и редактора, удалить Legacy tooling, добавить Accessibility QA и пересчитать итоги. Сопоставить изменения значений и результатов формул со строками.

![Sheet: бюджет и структура строк](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/features/compare/sheets.jpg)

### Doc: план запуска и абзацы

Обновить дату запуска, число пилотных команд и целевой процент завершения. Удалить прежнее согласование и добавить проверку качества с сохранением контекста абзацев.

![Doc: план запуска и абзацы](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/features/compare/docs.jpg)

### Slide: показатели и элементы страницы

Обновить три карточки показателей, удалить блок прежнего согласования и добавить проверку качества. Сравнить текст и элементы одной страницы.

![Slide: показатели и элементы страницы](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/features/compare/slides.jpg)

### Relational Table: поля и записи задач

Обновить прогресс, статусы и даты, переименовать поле даты, удалить прежнее согласование и добавить задачу доступности. Просмотреть различия по таблице, полю и записи.

![Relational Table: поля и записи задач](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/features/compare/bases.jpg)

### Canvases: процесс и элементы холста

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

![Canvases: процесс и элементы холста](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/features/compare/boards.jpg)

## Получение результата

Зарегистрируйте плагины сравнения и расширения Facade продукта, затем вызовите `compareUnitData()`. Для повторных фильтров и страниц используйте `prepareUnitComparison()` и `query()`.

Покажите сводку, затем детали по листам, страницам или таблицам. По необходимости запросите изменения или полные значения до и после. Детализация по умолчанию ограничена: первая страница может содержать не все различия. Проверьте диагностику и полноту поддержки.

См. [API](https://docs.univer.ai/ru-RU/reference/facade/unit-comparison.md), [историю](https://docs.univer.ai/ru-RU/overview/features/shared/history.md) и [Worktree](https://docs.univer.ai/ru-RU/overview/features/shared/worktree.md).

[Ко всем возможностям](https://docs.univer.ai/ru-RU/overview/features.md)
