﻿# Интеграция с OnlyOffice

> [HTML Version](onlyoffice.html)

Модуль для просмотра и редактирования документов онлайн с использованием сервера OnlyOffice позволяет работать с документами в интерфейсе ELMA365.

## Особенности установки сервера OnlyOffice

Для работы требуется установленный [сервер ONLYOFFICE Docs](/ru/help/platform/install-onlyoffice.html), который можно загрузить с [официального сайта](https://www.onlyoffice.com/ru/). Вы можете использовать бесплатную OpenSource версию. Предварительно ознакомьтесь с лимитами и ограничениями, а также инструкцией по установке OnlyOffice на [официальном сайте](https://www.onlyoffice.com/ru/download.aspx?from=downloadintegrationmenu). Обратите внимание, инструкции отличаются в зависимости от варианта поставки.

````
начало внимание 

````
Для корректной работы модуля интеграции рекомендуем устанавливать OnlyOffice версии 8.1 и выше. 

````
конец внимание

### ````
Изменение порта по умолчанию

При установке OnlyOffice на один физический сервер с ELMA365 обязательно смените порт по умолчанию для сервера OnlyOffice на другой, например 8080.

Чтобы сменить порт, выполните установку сервера OnlyOffice с параметром `/DS\_PORT` командой: 

````
onlyoffice-documentserver-ee.exe /DS\_PORT=<PORT\_NUMBER>

````
Где \[OBJECT\] — имя исполняемого файла дистрибутива сервера ONLYOFFICE Docs, а `<PORT\_NUMBER>` — номер порта, который вы хотите использовать для OnlyOffice.

Чтобы проверить готовность сервера работать с документами, перейдите по ссылке \[OBJECT\]. Откроется страница с кодом \[OBJECT\].

Обратите внимание, сервер OnlyOffice должен быть настроен на работу по HTTPS и доступен в сети как пользователям, так и серверу ELMA365.

Также для корректной работы модуля на сервере OnlyOffice необходимо использовать TLS‑сертификат, выданный доверенным удостоверяющим центром. При использовании самоподписанного TLS‑сертификата в работе модуля могут возникать ошибки. Например, без дополнительных настроек на стороне браузера или приложения просмотр документов будет недоступен. 

### Настройка поддержки JWT

В ELMA365 поддерживается работа с JWT‑токенами, которые используются для обеспечения дополнительного уровня безопасности при аутентификации. Начиная с версии ONLYOFFICE Docs 7.2, валидация JWT включена по умолчанию. Для более ранних версий её необходимо включить.

Включение валидации JWT-токенов на стороне OnlyOffice

1. Откройте конфигурационный файл \[OBJECT\] по следующему пути:

- для Linux:** **\[OBJECT\];

- для Windows:** **\[OBJECT\].

2. Отредактируйте файл согласно инструкциям на [официальном сайте](https://helpcenter.onlyoffice.com/ru/installation/docs-configure-jwt.aspx).

3. Убедитесь, что в поле \[OBJECT\] добавлены следующие заголовки:

````
    "inbox": \{  
     "header": "AuthorizationJWT"  
    \},  
    "outbox": \{  
     "header": "AuthorizationJWT"  
    \}

4. ````
Скопируйте секретный ключ, указанный в поле \[OBJECT\].

5. Сохраните файл.

6. Перезапустите службы, чтобы изменения вступили в силу. Команды зависят от способа установки сервера OnlyOffice. Подробнее о них читайте в официальной документации разработчика по ссылке, указанной выше.

После этого необходимо указать секретный ключ при [настройке модуля](#configure-module) в ELMA365.

Если вы не используете JWT, для корректной работы модуля отключите проверку токенов в настройках OnlyOffice.

Отключение валидации JWT-токенов на стороне OnlyOffice

1. Откройте конфигурационный файл \[OBJECT\] по следующему пути:

	- для Linux:** **`/etc/onlyoffice/documentserver/local.json`;

	- для Windows:** **\[OBJECT\].

2. Для полей \[OBJECT\], \[OBJECT\] и \[OBJECT\] установите значение \[OBJECT\]. 

3. Сохраните изменения.

4. Перезапустите службы, чтобы изменения вступили в силу. Команды зависят от способа установки сервера OnlyOffice. Подробнее читайте в [официальной документации разработчика](https://helpcenter.onlyoffice.com/docs/installation/docs-configure-jwt.aspx).

### Настройка поддержки самоподписанного сертификата и приватного адреса

По умолчанию в OnlyOnffice блокируется получение файлов из хранилища, в котором настроены самоподписанный сертификат или приватный адрес. Если в ELMA365 вы используете такие настройки, измените параметры на сервере OnlyOffice. Порядок внесения изменений зависит от способа установки сервера.

Для сервера OnlyOffice, установленного на локальном компьютере

1. Откройте конфигурационный файл \[OBJECT\] по пути:

	- для Linux:** **\[OBJECT\];

	- для Windows:** **`%ProgramFiles%\\ONLYOFFICE\\DocumentServer\\config\\local.json`.

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  
        \},

````
  
Подробнее про параметры читайте в [официальной документации OnlyOffice](https://helpcenter.onlyoffice.com/docs/installation/docs-developer-configuring.aspx).

4. Сохраните файл и примените изменённые настройки с помощью команды:

````
systemctl restart ds-converter ds-docservice ds-example ds-metrics
````

````
Для сервера OnlyOffice, установленного в Docker-контейнер

  
Параметры можно изменить следующими способами:

- с помощью Docker — в команде запуска контейнера добавьте:

	- \[OBJECT\] — если в ELMA365 вы используете приватный адрес;

	- \[OBJECT\] и \[OBJECT\] —  если в ELMA365 вы используете самоподписанные сертификаты.

Пример команды:

````
sudo docker run -i -t -d -p 443:443 --restart=always \\  
…  
\-e ALLOW\_PRIVATE\_IP\_ADDRESS=true \\  
\-e USE\_UNAUTHORIZED\_STORAGE=true \\  
\-e JWT\_IN\_BODY=true onlyoffice/documentserver:8.3.3.1

- ````
с помощью Docker Compose — выполните шаги:

1. Остановите приложение OnlyOffice, используя команду:

````
docker compose down

2. ````
Откройте файл с параметрами, которые описывают приложение OnlyOffice. Обычно для него используется название \[OBJECT\].

3. В файле перейдите к секции \[OBJECT\] и задайте следующие значения для параметров:

- \[OBJECT\] и \[OBJECT\] — если в ELMA365 вы используете самоподписанные сертификаты;

- \[OBJECT\] — если в ELMA365 вы используете приватный адрес.

4. Сохраните файл и запустите OnlyOffice c обновлёнными параметрами с помощью команды:

````
docker compose up
````

## ````
Установка модуля OnlyOffice в системе ELMA365

Модуль можно загрузить из каталога [ELMA365 Store](https://store.elma365.ru/component/onlyoffice_v1-101) или в виде файла формата **.e365**.

Для установки модуля выполните следующие действия:

1. В ELMA365** **перейдите в раздел **Администрирование > Модули **и нажмите кнопку **+ Модуль **в правом верхнем углу.

2. В открывшемся окне перейдите в каталог ELMA365 Store или выберите ссылку **Загрузить файл** и добавьте файл формата** .e365**.

3. Дождитесь окончания проверки и установки. Затем нажмите кнопку **Перейти в модуль**.

**(only-2.png)**

## Настройка модуля

1. На открывшейся странице заполните основные поля:** **

- **Адрес сервера OnlyOffice\*** — адрес до OnlyOffice в формате \[OBJECT\];

- **Поддерживаемые форматы\*** — отметьте форматы файлов, с которыми вы хотите работать в Р7-Офис: **.doc**, **.docx**, **.odt**, **.txt**, **.xls**, **.xlsx**, **.ods**, **.csv**, **.ppt**, **.pptx**, **.odp**, **.docm**, **.xlsm**, **.rtf**. Можно отметить сразу все опции.

Если активированы форматы **.docx**, **.xlsx** и **.pptx**, пользователи могут создавать документы, таблицы и презентации в онлайн‑режиме:

	- [на странице раздела «Файлы»](add-files-workspace-items.md#create-file-online);

	- в дизайнере интерфейсов на вкладке [Файлы](designer-tabs.md#files-tab);

	- в виджете [Список файлов](file-list.md), если в его настройках разрешено добавлять файлы.

2. Перейдите к дополнительным настройкам:  
**(only-office-4.png)**

- **Язык интерфейса\*** — укажите нужный язык интерфейса OnlyOffice. По умолчанию используется русская локализация;

- **Секрет для формирования JWT** — если на сервере ONLYOFFICE Docs [включена поддержка JWT](#enable-jwt), укажите в этом поле секретный ключ. Его можно скопировать в конфигурационном файле \[OBJECT\] в поле \[OBJECT\];

- **Чат\*** — отключает возможности внутреннего чата OnlyOffice в режиме редактирования. Установите **Нет**. Это настройка относится именно к внутренней функции OnlyOffice;

- **Комментарии\*** — опция включает и отключает возможности внутренних комментариев OnlyOffice в режиме редактирования. Установите **Нет**. Это настройка относится именно к внутренней функции OnlyOffice;

- **Запуск макросов\*** — установите **Да**, чтобы включить выполнение макросов в документе;

- **Плагины\*** — установите **Да**, чтобы включить поддержку плагинов OnlyOffice;

- **Показывать кнопку "Печать"** — по умолчанию печать документов доступна только с боковой панели формы просмотра. Вы можете дополнительно включить отображение кнопки **(onlyoffice-5.png)** в правом верхнем углу редактора модуля, выбрав **Да**;

- **Количество лицензий\* **— если у вашей компании есть лимит на одновременную работу с файлами в OnlyOffice, установите счётчик доступных лицензий, указав их число в поле. Когда все лицензии будут заняты, пользователь увидит предупреждение о достигнутом лимите, а файл откроется для просмотра в формате **.pdf**.  
  
Без этой настройки при открытии файла сотрудник увидит сообщение об ошибке, и сможет просмотреть содержимое, только когда освободится лицензия. Это происходит, если пользователь не совершает никаких действий на странице с документом в течение 1 минуты 30 секунд.  
  
Обратите внимание, при указании количества лицензий в настройках модуля учитывайте те, что регулярно используются на других площадках ELMA365, например, в тестовом окружении. Вычитайте их из общего числа доступных лицензий OnlyOffice, чтобы счётчик в текущей компании работал корректно.

3. В блоке **Стартовые настройки для пользователей** заполните поля:  
**(only-office-3.png)**

- **Тема интерфейса** — по умолчанию при просмотре файла с помощью модуля применяется светлая тема интерфейса OnlyOffice. Вы можете изменить её на тёмную;

- **Рецензирование** — установите **Да**, чтобы при редактировании файла автоматически включался режим отслеживания изменений. Все изменения, внесённые в этом режиме, фиксируются как правки и выделяются цветом. Их можно принять или отклонить. Пользователи могут индивидуально включать и отключать отслеживание изменений при редактировании определённого документа на вкладке **Совместная работа**;

- **Отображение изменений** — выберите, как отображаются изменения, внесённые в документ в режиме рецензирования. Опция работает для ONLYOFFICE Docs версии 7.0 и выше:

	- **Подсветка **— опция используется по умолчанию. Во время просмотра документа правки, добавленные в режиме отслеживания изменений, выделены цветом. При нажатии на отредактированный текст можно посмотреть автора, дату и детали исправлений. Все вносимые изменения отображаются для пользователя в реальном времени.

В режиме редактирования можно принять или отклонить правки, нажав на выделенный цветом текст;

	- **Не показывать **— в режиме просмотра правки не видны, пока их не одобрят. Чтобы увидеть последние принятые правки, а также изменения, внесённые с отключённым рецензированием, нужно обновить страницу. Как только все пользователи заканчивают редактирование, и новая версия документа добавляется в систему, страница обновляется автоматически.

В режиме редактирования все ещё не принятые исправления выделены цветом. Их можно принять или отклонить, нажав на них;

	- **Показывать с изменениями** — исправления, внесённые в режиме рецензирования, при просмотре документа отображаются без выделения, как если бы они уже были приняты. Если рецензирование отключено, в режиме просмотра можно увидеть изменение текста в моменте.  
  
При редактировании документа правки, которые ещё не приняты, выделены цветом. Их можно принять или отклонить, нажав на них;

	- **Упрощенная подсветка** — во время просмотра документа правки, добавленные в режиме отслеживания изменений, выделены цветом. Все вносимые изменения отображаются для пользователя в реальном времени. Автора исправлений нельзя посмотреть.  
  
В режиме редактирования ещё не принятые исправления выделены цветом без возможности их принять или отклонить.

Обратите внимание, сотрудники могут [изменить эти настройки для себя](edit-documents-locally.md#edit-settings), используя опции в редакторе OnlyOffice. Изменения сохранятся в локальном хранилище браузера (local storage). Если пользователь удалит сохранённые параметры из этого хранилища, вновь применятся настройки, заданные в модуле.



4. После заполнения полей сохраните настройки.

## Использование OnlyOffice

Сервис OnlyOffice по умолчанию используется для просмотра и редактирования файлов на форме [приложения типа Документ](#onlyoffice-in-docs) и в разделе [Файлы](#onlyoffice-in-files). 

Для работы с файлами в приложениях других типов разместите на их формах [специальные виджеты](#onlyoffice-on-forms). 

### OnlyOffice для работы в приложении типа «Документ»

В [приложении типа Документ](360009923631.md) вы можете добавлять файл при создании элемента. После этого документ отобразится на форме с помощью OnlyOffice. 

**(only-office-5.png)**

Внести правки в документ можно несколькими способами: 

- перейдите на форму редактирования элемента приложения, нажав **Редактировать** в левом нижнем углу формы просмотра;

- откройте полноэкранный режим редактирования, нажав **Редактировать** на верхней панели формы просмотра. 

Подробнее о редактировании документа пользователем читайте в статье [«Карточка документа»](360009671252.md#edit). 

### OnlyOffice для работы в разделе «Файлы»

В разделе [Файлы](/ru/help/platform/360014164452.html) при открытии документа предпросмотр происходит с помощью OnlyOffice. Подробнее о доступных действиях в карточке просмотра файла читайте в статье [«Просмотр файлов в ELMA365»](preview-and-edit-files.md).

### Настройки для работы OnlyOffice в приложениях типа «Стандартное» и «Событие»

Для просмотра файлов на формах приложений типа **Стандартное** или **Событие** вы можете воспользоваться виджетом [Просмотр файла](/ru/help/platform/view_file_widget.html).

Чтобы открывать файл на редактирование, разместите на форме приложения виджет **Просмотр и редактирование файла в OnlyOffice**. Для его настройки заполните поля:

**(only-office-7.png)**

- **File** — нажмите на значок (chain_icon.png)и выберите свойство типа **Файлы** из контекста приложения или бизнес‑процесса;

- **Отображать в режиме редактирования** — выберите **Да**, чтобы после загрузки файл по умолчанию был открыт для внесения изменений. 

Виджет **Просмотр и редактирование файла в OnlyOffice** доступен только после включения модуля интеграции с OnlyOffice. При отключении модуля на формах, где был размещён виджет, появится сообщение об ошибке. 

### Особенности редактирования документов в формате .pdf

Вы можете изменять **.pdf**-файлы в интерфейсе ELMA365. 

Для этого администратор системы должен:

- настроить интеграцию с OnlyOffice версии 8.1 и выше;

- в [настройках модуля](#configure-module) включить поддержку формата **.pdf**. 

Для редактирования выполните следующие действия:

1. Откройте карточку с документом в приложении типа **Документ** или файл в разделе **Файлы**. Нажмите кнопку **Редактировать**.  

2. На панели инструментов нажмите **Редактировать PDF**, а затем **Выделить**.  
**(only-office-10.png)**

3. Выделите фрагмент, который хотите скорректировать и в появившемся окне нажмите **Редактировать текст**. 

4. Внесите изменения и сохраните их, нажав на панели инструментов значок дискеты.  
(onlyoffice-8.png)

5. Чтобы добавить отредактированную версию в ELMA365:

- на форме приложения типа **Документ** нажмите кнопку **Сохранить**;

- в разделе **Файлы** выйдите из режима редактирования файла. 

## Часто задаваемые вопросы

- **У меня была предварительная версия и теперь я поставил новую. Как понять, где старая, а где новая?**

URL до актуальной версии: \[OBJECT\].

- **В браузере я вижу, что OnlyOffice работает по https, но в ELMA365 появляется ошибка Download failed.**  
**(only-14.png)**

Если ваш путь сертификации **DST Root CA x3 / R3 / Ваш\_сервер**, то вероятно причина в устаревании сертификата R3. Данная ошибка сертификата игнорируется в браузерах. 

**(only-15.png)**

Убедиться в этом можно, воспользовавшись сервисом проверки TLS, например, [www.ssllabs.com/ssltest/analyze.html](https://www.ssllabs.com/ssltest/analyze.html).

**(only-16.png)**

Для решения проблемы вам нужно использовать сертификат, где указан не только** Ваш\_сервер**, но и путь сертификации. Обычно такой сертификат выдаётся сразу и в его названии написано **+chain**.