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