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

executeCommand

Обновлено: 18.08.25

window.Asc.plugin.executeCommand (type, data, callback)

Описание
Определяет метод, используемый для отправки данных обратно в редактор.

Этот метод устарел, используйте метод callCommand ↗, который запускает код из параметра строки данных.
Сейчас этот метод в основном используется для работы с OLE-объектами или закрытия плагина без каких-либо других команд. Он также сохраняется для использования с текстом, чтобы предыдущие версии плагина оставались совместимыми.

Обратный вызов — это результат, который возвращает команда. Это необязательный параметр. В случае его отсутствия для возврата результата выполнения команды будет использована функция window.Asc.plugin.onCommandCallback ↗.

Второй параметр — это код JavaScript для работы с Document Builder API, который позволяет плагину отправлять структурированные данные, вставленные в результирующий файл документа (форматированные абзацы, таблицы, текстовые части и отдельные слова и т. д.).
Команды Document Builder можно использовать только для создания контента и его вставки в редактор документов (используя Api.GetDocument().InsertContent(…)). Это ограничение существует из-за функции совместного редактирования в онлайн-редакторах. Если необходимо создать плагин для десктопных редакторов для работы с локальными файлами, такое ограничение не применяется.
Параметры

Название Описание Тип
type Определяет тип команды. Закрытие используется для закрытия окна плагина после выполнения функции в параметре данных. Команда используется для выполнения команды и оставления окна открытым в ожидании следующей команды. строковый
data Определяет команду, написанную в коде JavaScript, целью которой является формирование структурированных данных, которые могут быть вставлены в результирующий файл документа (форматированные абзацы, таблицы, текстовые части и отдельные слова и т. д.). Затем данные отправляются в редакцию. Команда должна быть совместима с синтаксисом Document Builder. строковый
callback Результат, который возвращает метод. функциональный

При создании/редактировании OLE-объектов для работы с ними используются два расширения:

  • Api.asc_addOleObject (window.Asc.plugin.info) — используется для создания OLE — объекта в документе;
  • Api.asc_editOleObject (window.Asc.plugin.info) -используется для редактирования созданного OLE — объекта.

При создании/редактировании объектов их свойства могут быть переданы в объект window.Asc.plugin.info ↗, который определяет, как должен выглядеть объект.
Пример OLE-объекта

window.Asc.plugin.button = function (id) {
    var _info = window.Asc.plugin.info;
    var _method = (_info.objectId === undefined) ? "asc_addOleObject" : "asc_editOleObject";
    _info.width = _info.width ? _info.width : 70;
    _info.height = _info.height ? _info.height : 70;
    _info.widthPix = (_info.mmToPx * _info.width) >> 0;
    _info.heightPix = (_info.mmToPx * _info.height) >> 0;
    _info.imgSrc = window.g_board.getResult(_info.widthPix, _info.heightPix).image;
    _info.data = window.g_board.getData();
    var _code = "Api." + _method + "(" + JSON.stringify(_info) + ");";
    this.executeCommand("close", _code);
};

Пример текста (не используется, но сохранен для совместимости)

window.Asc.plugin.init = function () {
    var sScript = 'var oDocument = Api.GetDocument();';
    sScript += 'oDocument.CreateNewHistoryPoint();';
    sScript += 'oParagraph = Api.CreateParagraph();';
    sScript += 'oParagraph.AddText(\'Hello word!\');';
    sScript += 'oDocument.InsertContent([oParagraph]);';
    window.Asc.plugin.info.recalculate = true;
    this.executeCommand("close", sScript);
};