﻿# Интеграция с Р7-Офис

> [HTML Version](r7-office.html)

Решение для просмотра и редактирования документов онлайн в интерфейсе ELMA365 с помощью сервера Р7‑Офис.

````
начало внимание 

````
Для корректной работы рекомендуем использовать сервер Р7‑Офис версии 7.4. 

````
конец внимание

````
Интеграция с сервером Р7-Офис осуществляется в несколько этапов:

1. Установка сервера Р7-Офис.

2. [Установка решения Интеграция Р7-Офис в систему ELMA365](#r7-office-install-solution).

3. [Настройка модуля интеграции с Р7-Офис](#configure-module), входящего в состав решения. 

## Установка сервера Р7-Офис

Для работы требуется установленный [Сервер документов Р7-Офис](/ru/help/platform/install-r7-office.html). Перейдите на [официальный сайт](https://r7-office.ru/), чтобы загрузить и приобрести решение. На сайте производителя вы также можете ознакомиться с [инструкциями по установке Р7-Офис](https://support.r7-office.ru/hc/ru/categories/4650763337116-%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-%D1%81%D0%BA%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F).

### Настройка поддержки JWT

В ELMA365 поддерживается работа с JWT‑токенами, которые используются для обеспечения дополнительного уровня безопасности при аутентификации. 

Начиная с версии 7.2, валидация JWT включена по умолчанию. Для более ранних версий её необходимо включить.

Включение валидации JWT-токенов на стороне Р7-Офис

1. Откройте конфигурационный файл \[OBJECT\] по следующему пути:

- для Linux:** **\[OBJECT\];

- для Windows:** **\[OBJECT\].

2. Отредактируйте файл согласно инструкциям на [официальном сайте](https://support.r7-office.ru/document_server/api-document_server/more_api/%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%8C-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-api/signature-2/).

3. Убедитесь, что в файле в поле \[OBJECT\] добавлены следующие заголовки:

````
    "inbox": \{  
     "header": "AuthorizationJWT"  
    \},  
    "outbox": \{  
     "header": "AuthorizationJWT"  
    \}

4. ````
Скопируйте секретный ключ, указанный в поле \[OBJECT\].

5. Сохраните файл.

6. Перезапустите службы, чтобы изменения вступили в силу.

Если Р7-Офис установлен в Docker-контейнер, для перезапуска используйте команду:

````
systemctl restart ds-converter ds-docservice ds-example ds-metrics

````
В случае установки напрямую на сервер используйте команду:

````
supervisorctl restart all

````
После этого необходимо указать секретный ключ при [настройке модуля](#configure-module) в ELMA365.

Если вы не используете JWT, для корректной работы модуля отключите проверку токенов в настройках Р7‑Офис.

Отключение валидации JWT-токенов на стороне Р7-Офис

1. Откройте конфигурационный файл \[OBJECT\] по следующему пути:

	- для Linux:** **\[OBJECT\];

	- для Windows:** **\[OBJECT\].

2. Для полей \[OBJECT\], \[OBJECT\] и \[OBJECT\] установите значение \[OBJECT\]. 

3. Сохраните изменения. 

4. Перезапустите службы, чтобы изменения вступили в силу.

Если Р7-Офис установлен в Docker-контейнер, для перезапуска используйте команду:

````
systemctl restart ds-converter ds-docservice ds-example ds-metrics

````
В случае установки напрямую на сервер используйте команду:

````
supervisorctl restart all
````

### ````
Настройка поддержки самоподписанного сертификата и приватного адреса

По умолчанию в Р7‑Офис блокируется получение файлов из хранилища, в котором настроены самоподписанный сертификат или приватный адрес. Если в ELMA365 вы используете такие настройки, измените параметры на сервере Р7‑Офис. Порядок внесения изменений зависит от способа установки сервера.

Для сервера Р7‑Офис, установленного на локальном компьютере

1. Откройте конфигурационный файл \[OBJECT\] по пути:

	- для Linux:** **\[OBJECT\];

	- для Windows:** **\[OBJECT\].

2. Если в ELMA365 вы используете самоподписанные сертификаты, добавьте параметры:

````
        "inbox": \{  
            "header": "AuthorizationJWT",  
            "inBody": true  
        \},  
        "outbox": \{  
            "header": "AuthorizationJWT",  
            "inBody": true  
        \}  
        …  
        "requestDefaults": \{  
            "headers": \{  
                "User-Agent": "Node.js/6.13",  
                "Connection": "Keep-Alive"  
        \},  
        "gzip": true,  
        "rejectUnauthorized": false  
        \},

3. ````
Если в ELMA365 вы используете приватный адрес, добавьте параметры:

````
        "request-filtering-agent" : \{  
            "allowPrivateIPAddress": true,  
            "allowMetaIPAddress": true  
        \},

````
  
Подробнее про параметры читайте в [официальной документации Р7‑Офис](https://support.r7-office.ru/document_server/settings-ds/nastrojka-servera-dokumentov-dlja-razrabotchikov/).

4. Сохраните файл и примените изменённые настройки с помощью команды:

````
systemctl restart ds-converter ds-docservice ds-example ds-metrics
````

````
Для сервера Р7‑Офис, установленного в Docker-контейнер

  
Параметры можно изменить следующими способами:

- с помощью Docker — в команде запуска контейнера добавьте:

	- \[OBJECT\] — если в ELMA365 вы используете приватный адрес;

	- \[OBJECT\] и \[OBJECT\] —  если в ELMA365 вы используете самоподписанные сертификаты.

Пример команды:

````
sudo docker run -i -t -d -p 80:80 --restart=always \\  
…  
\-e ALLOW\_PRIVATE\_IP\_ADDRESS=true \\  
\-e USE\_UNAUTHORIZED\_STORAGE=true \\  
\-e JWT\_IN\_BODY=true r7-office/documentserver:8.3.3.1

- ````
с помощью Docker Compose — выполните шаги:

1. Остановите приложение Р7‑Офис, используя команду:

````
docker compose down

2. ````
Откройте файл с параметрами, которые описывают приложение Р7‑Офис. Обычно для него используется название \[OBJECT\].

3. В файле перейдите к секции \[OBJECT\] и задайте следующие значения для параметров:

- \[OBJECT\] и \[OBJECT\] — если в ELMA365 вы используете самоподписанные сертификаты;

- \[OBJECT\] — если в ELMA365 вы используете приватный адрес.

4. Сохраните файл и запустите Р7‑Офис c обновлёнными параметрами с помощью команды:

````
docker compose up
````

## ````
Установка решения «Интеграция с Р7-Офис» в ELMA365

Решение **Интеграция с Р7-Офис** можно [импортировать из каталога ELMA365 Store](https://store.elma365.ru/component/ext_00e82811_87d6_4d46_a5d4_e444ed8a857a-136) или [загрузить в виде файла формата .e365](/ru/help/platform/upload-solution-file.html).

Для этого выполните следующие действия:

1. В ELMA365 перейдите в раздел **Администрирование > Решения **и нажмите кнопку **+ Решение **в правом верхнем углу.

2. В открывшемся окне перейдите в каталог ELMA365 Store или выберите **Загрузить файл** и добавьте файл формата **.e365**.

3. Дождитесь окончания проверки и установки. После этого в систему добавится модуль, обеспечивающий интеграцию с Р7-Офис. 

## Настройка модуля интеграции с Р7-Офис

После установки решения перейдите к настройке модуля интеграции с Р7-Офис. 

1. На странице **Администрирование > Модули** откройте карточку модуля и заполните основные поля:

** **

- **Адрес сервера Р7-Офис\* **— адрес до сервера документов Р7-Офис в формате \[OBJECT\];

- **Поддерживаемые форматы\* **— отметьте форматы файлов, с которыми вы хотите работать в Р7-Офис: **.doc**, **.docx**, **.odt**, **.txt**, **.xls**, **.xlsx**, **.ods**, **.csv**, **.ppt**, **.pptx**, **.odp**, **.docm**, **.xlsm**, **.rtf**. Можно отметить сразу все опции.

Если активированы форматы **.docx**, **.xlsx** и **.pptx**, пользователи могут создавать документы, таблицы и презентации в онлайн‑режиме:

	- [на странице раздела «Файлы»](add-files-workspace-items.md);

	- в дизайнере интерфейсов на вкладке [Файлы](designer-tabs.md#files-tab);

	- в виджете [Список файлов](file-list.md), если в его настройках разрешено добавлять файлы.

2. Перейдите к дополнительным настройкам:  
**(r7-office-3-1.png)**

- **Секрет для формирования JWT** — если на сервере Р7‑Офис [включена поддержка JWT](#enable-jwt), укажите в этом поле секретный ключ. Его можно скопировать в конфигурационном файле \[OBJECT\] в поле \[OBJECT\];

- **Чат\* **— отключает возможности внутреннего чата Р7-Офис в режиме редактирования. Установите **Нет**. Эта настройка относится именно к внутренней функции Р7‑Офис;

- **Комментарии\* **— опция включает и отключает возможности внутренних комментариев Р7‑Офис в режиме редактирования. Установите **Нет**. Эта настройка относится именно к внутренней функции Р7‑Офис;

- **Запуск макросов\*** — установите **Да**, чтобы включить выполнение макросов в документе;

- **Плагины\*** — установите **Да**, чтобы включить поддержку плагинов Р7‑Офис;

- **Показывать кнопку "Печать"** — по умолчанию печать документов доступна только с боковой панели формы просмотра. Вы можете дополнительно включить отображение кнопки (onlyoffice-5.png) в правом верхнем углу редактора модуля, выбрав **Да**;

- **Количество лицензий** — если у вашей компании есть лимит на одновременную работу с файлами в Р7‑Офис, установите счётчик доступных лицензий, указав их число в поле. Когда все лицензии будут заняты, пользователь увидит предупреждение о достигнутом лимите, а файл откроется для просмотра в формате **.pdf**.  
  
Без этой настройки при открытии файла сотрудник увидит сообщение об ошибке, и сможет просмотреть содержимое, только когда освободится лицензия. Это происходит, если пользователь не совершает никаких действий на странице с документом в течение 1 минуты 30 секунд.  
  
Обратите внимание, при указании количества лицензий в настройках модуля учитывайте те, что регулярно используются на других площадках ELMA365, например, в тестовом окружении. Вычитайте их из общего числа доступных лицензий Р7‑Офис, чтобы счётчик в текущей компании работал корректно. 

3. В блоке **Стартовые настройки для пользователей** заполните поля:  
**(r7-office-3.png)**

- **Тема интерфейса **— по умолчанию при просмотре файла с помощью модуля применяется светлая тема интерфейса Р7‑Офис. Вы можете изменить её на тёмную;

- **Рецензирование** — установите **Да**, чтобы при редактировании файла автоматически включался режим отслеживания изменений. Все изменения, внесённые в этом режиме, фиксируются как правки и выделяются цветом. Их можно принять или отклонить. Пользователи могут индивидуально включать и отключать отслеживание изменений при редактировании определённого документа на вкладке **Совместная работа**;

- **Отображение изменений** — выберите, как отображаются изменения, внесённые в документ в режиме рецензирования. Опция доступна для сервера Р7‑Офис версии 7.0 и выше:

	- **Подсветка **— опция используется по умолчанию. Во время просмотра документа правки, добавленные в режиме отслеживания изменений, выделены цветом. При нажатии на отредактированный текст можно посмотреть автора, дату и детали исправлений. Все вносимые изменения отображаются для пользователя в реальном времени.

В режиме редактирования можно принять или отклонить правки, нажав на выделенный цветом текст;

	- **Не показывать **— в режиме просмотра правки не видны, пока их не одобрят. Чтобы увидеть последние принятые правки, а также изменения, внесённые с отключённым рецензированием, нужно обновить страницу. Как только все пользователи заканчивают редактирование, и новая версия документа добавляется в систему, страница обновляется автоматически.

В режиме редактирования все ещё не принятые исправления выделены цветом. Их можно принять или отклонить, нажав на них;

	- **Показывать с изменениями** — исправления, внесённые в режиме рецензирования, при просмотре документа отображаются без выделения, как если бы они уже были приняты. Если рецензирование отключено, в режиме просмотра можно увидеть изменение текста в моменте.  
  
При редактировании документа правки, которые ещё не приняты, выделены цветом. Их можно принять или отклонить, нажав на них.

	- **Упрощенная подсветка** — во время просмотра документа правки, добавленные в режиме отслеживания изменений, выделены цветом. Все вносимые изменения отображаются для пользователя в реальном времени. Автора исправлений нельзя посмотреть.  
  
В режиме редактирования ещё не принятые исправления выделены цветом без возможности их принять или отклонить.

Обратите внимание, сотрудники могут [изменить эти настройки для себя](edit-documents-locally.md#edit-settings), используя опции в редакторе Р7-Офис. Изменения сохранятся в локальном хранилище браузера (local storage). Если пользователь удалит сохранённые параметры из этого хранилища, вновь применятся настройки, заданные в модуле.

4. После заполнения полей сохраните настройки.

## Настройка виджета «Просмотр и редактирование в Р7-Офис»

Чтобы в элементе приложения открывать файл сразу на редактирование, разместите на форме виджет **Просмотр и редактирование в Р7-Офис**. 

Для настройки виджета заполните поля:

**(r7-office-6.png)**

- **File** — нажмите на значок (chain_icon.png)  и выберите свойство типа **Файлы** из контекста приложения или бизнес‑процесса;

- **Отображать в режиме редактирования** — выберите **Да**, чтобы после загрузки файл по умолчанию был открыт для внесения изменений. 

Виджет **Просмотр и редактирование в Р7-Офис** доступен только после включения модуля интеграции с Р7-Офис. При отключении модуля на формах, где был размещён виджет, появится сообщение об ошибке.

## Использование Р7-Офис

Сервис Р7-Офис по умолчанию используется для просмотра и редактирования файлов на форме [приложения типа Документ](#r7-in-docs) и в разделе [Файлы](#r7-in-files). 

Для работы с файлами в приложениях других типов разместите на их формах [специальные виджеты](#r7-on-forms). 

### Р7-Офис для работы с приложением типа «Документ»

В [приложении типа Документ](/ru/help/ecm/360009923631.html) вы можете добавлять файл при создании элемента. После этого документ отобразится на форме с помощью Р7-Офис. 

**(r7-office-7.png)**

Чтобы внести правки в документ, нажмите кнопку **Редактировать**. Подробнее о редактировании документа пользователем читайте в статье [«Карточка документа»](360009671252.md#edit). 

### Р7-Офис для работы в разделе «Файлы»

В разделе [Файлы](/ru/help/platform/360014164452.html) при открытии документа предпросмотр происходит с помощью Р7-Офис. Подробнее о доступных действиях в карточке просмотра файла читайте в статье [«Просмотр файлов в ELMA365»](preview-and-edit-files.md).

### Р7-Офис для работы в приложениях типа «Стандартное» и «Событие»

Для просмотра файлов на формах приложений типа **Стандартное** и **Событие** вы можете воспользоваться виджетом [Просмотр файла](view_file_widget.md).

Чтобы открывать файл на редактирование, разместите на форме приложения виджет [Просмотр и редактирование в Р7‑Офис](#r7-office-widget).