Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы
Редакторы
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Облачный офис
Облачный офис
Почта
Почта
Органайзер
Органайзер
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

История документа

Обновлено: 23.12.25

Вы можете просмотреть историю текстовых документов, электронных таблиц или презентаций с помощью редактора документов.

История документа хранится в сервисе хранения документов. Редактор документов отображает историю документа в виде списка версий на левой панели. При выборе версии документа из списка она будет отображаться для предварительного просмотра:

  1. Пользователь нажимает кнопку История версий при редактировании документа в редакторе документов.
  2. Редактор документов запрашивает список версий документа у службы хранения документов.
  3. Служба хранения документов отправляет список версий документа с номером версии для отображения.
  4. Редактор документов запрашивает информацию о выбранной версии документа у службы хранения документов.
  5. Сервис хранения документов отправляет ссылку на выбранную версию документа.
  6. Редактор документов отображает выбранную версию документа.

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

  1. Создайте html-файл, чтобы открыть документ.
  2. Укажите обработчик события открытия списка истории версий в скрипте конфигурации для инициализации редактора документов. При вызове события onRequestHistory должен быть выполнен метод refreshHistory . Этот метод содержит историю документа для каждой версии документа, если параметр истории присутствовал для каждой версии:
    var onRequestHistory = function() {
        docEditor.refreshHistory({
            "currentVersion": 2,
            "history": [
                {
                    "created": "2010-07-06 10:13 AM",
                    "key": "af86C7e71Ca8",
                    "user": {
                        "id": "F89d8069ba2b",
                        "name": "Kate Cage"
                    },
                    "version": 1
                },
                {
                    "created": "2010-07-07 3:46 PM",
                    "key": "Khirz6zTPdfd7",
                    "user": {
                        "id": "78e1e841",
                        "name": "John Smith"
                    },
                    "version": 2
                },
                ...
            ]
        });
    };
    
    var docEditor = new DocsAPI.DocEditor("placeholder", {
        "events": {
            "onRequestHistory": onRequestHistory,
            ...
        },
        ...
    });
    
  3. В конфигурационном скрипте для инициализации редактора документов укажите обработчик события, который будет выбирать версию из файла. При вызове события onRequestHistoryData должен выполняться метод setHistoryData. Этот метод содержит абсолютный URL-адрес файла соответствующей версии:
    var onRequestHistoryData = function(event) {
        var version = event.data;
        docEditor.setHistoryData({
            "key": "Khirz6zTPdfd7",
            "url": "https://example.com/url-to-example-document.docx",
            "version": version
        })
    };
    
    var docEditor = new DocsAPI.DocEditor("placeholder", {
        "events": {
            "onRequestHistoryData": onRequestHistoryData,
            ...
        },
        ...
    });
    

4. Откройте ваш html-файл в браузере.
5. Откройте пункт «История версий» в меню «Редактор документов».

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

  • история — эта информация позволяет отображать время и автора для каждой версии документа при просмотре истории документа на боковой панели. Должен быть отправлен как изменение свойств объекта, передаваемого в качестве аргумента методу refreshHistorymethod:
docEditor.refreshHistory({
    "currentVersion": 2,
    "history": [
        {
            "changes": changes,
            "created": "2010-07-06 10:13 AM",
            "key": "af86C7e71Ca8",
            "serverVersion": serverVersion,
            "user": {
                "id": "F89d8069ba2b",
                "name": "Kate Cage"
            },
            "version": 1
        },
        {
            "changes": changes,
            "created": "2010-07-07 3:46 PM",
            "key": "Khirz6zTPdfd7",
            "serverVersion": serverVersion,
            "user": {
                "id": "78e1e841",
                "name": "John Smith"
            },
            "version": 2
        },
        ...
    ],
});

Где:

  • изменения — это изменения из  объекта истории возвращенные после сохранения документа;
  • serverVersion — это serverVersion из объекта истории, возвращенного после сохранения документа.

Р7 Document Server выделяет изменения, сделанные с начала текущего сеанса работы с документом, а не с начала версии документа. И даже если за один сеанс создается несколько версий документа, все изменения из этого сеанса будут выделены. Таким образом, вы не можете видеть версии документов, созданные с опцией принудительного сохранения , в истории документов:

  • changesurl — абсолютный URL-адрес файла с данными редактирования документа, используемый для отображения изменений, соответствующих конкретной версии документа. Файл необходимо сохранить, а его адрес передать в качестве параметра changesUrl с помощью метода setHistoryData. В объект необходимо добавить ссылку на предыдущую версию документа (previous.url):
docEditor.setHistoryData({
    "changesUrl": "https://example.com/url-to-changes.zip",
    "key": "Khirz6zTPdfd7",
    "previous": {
        "key": "af86C7e71Ca8",
        "url": "https://example.com/url-to-the-previous-version-of-the-document.docx"
    },
    "url": "https://example.com/url-to-example-document.docx",
    "version": 2
});
Уточнение

Запрос changesurl делается в браузере из добавленного iframe с доменом documentserver, где documentserver — это имя сервера, на котором установлен Сервер документов Р7. Для его корректной работы должны быть разрешены кросс-оригинальные HTTP-запросы (CORS). Этого можно добиться с помощью заголовка Access-Control-Allow-Origin.