Особенности разработки в Р7-Офис Типы автоматизации: макросы и плагины
В офисном пакете Р7 поддерживаются два типа автоматизации действий пользователя: макросы и плагины.
Макросы:
- Представляют собой скрипты автоматизации, встроенные в документ и функционирующие только в рамках этого документа.
- Не могут содержать отдельный интерфейс пользователя, построенный на технологиях HTML, CSS и JavaScript.
Плагины:
- Независимые от документов наборы файлов, упакованные в ZIP-архив с расширением .plugin и устанавливаемые в приложения.
- Могут иметь пользовательский интерфейс, созданный с использованием HTML, CSS и JavaScript.
Отличия от MS Office
- Запись действий:
- В отличие от MS Office, в Р7 отсутствует возможность записи действий пользователя в скрипт для последующего воспроизведения.
Языки программирования и инструменты разработки
- Скриптовый язык:
- Для создания макросов и плагинов используется язык JavaScript.
- Редакторы кода:
- Для плагинов можно использовать любой редактор, поддерживающий JavaScript, например, Microsoft Visual Studio Code.
- Для макросов используется встроенный редактор плагина «макрос», который ограничен по функциональности, но не требует внешнего редактора и включает простой отладчик.
Отладка
- Макросы:
- Встроенный редактор предоставляет базовый отладчик с возможностью установки точек останова и просмотра переменных.
- Плагины:
- Отладка производится с помощью DevTools, доступного через контекстное меню редактора при запуске приложения с ключом «--ascdesktop-support-debug-info».
Требования к знаниям
- JavaScript:
- Базовые знания скриптового языка JavaScript.
- HTML и CSS:
- Минимальное понимание языка разметки HTML и языка форматирования CSS.
Ограничения API и взаимодействия
- Ограниченное API:
- API для работы с приложениями и документами в Р7 предоставлено в ограниченном объеме. Не все возможности, доступные пользователю при работе с редактором и документами, доступны для автоматизации в макросах и плагинах.
- Взаимодействие с операционной системой:
- Ограничены возможности по взаимодействию между плагином и операционной системой. Например, нельзя сохранить данные в произвольный файл на жесткий диск стандартными способами, и взаимодействие с внешними программами требует использования прокси-серверов.
Эти особенности и ограничения делают процесс автоматизации в Р7 специфичным и требуют особого подхода и знаний для эффективного использования макросов и плагинов.