Skip to main content

Файл регистрации надстройки

В составе надстройки должен присутствовать файл регистрации (манифест), содержащий пары ключ-значение для конфигурации надстройки в приложении редакторов МойОфис.

Файл регистрации имеет обязательное имя Package.lua. Часть ключей должна быть определена в обязательном порядке, в противном случае надстройка не будет зарегистрирована. Ключи могут быть перечислены в произвольном порядке. Поддерживаются ключи, приведенные в таблице.

Таблица - Поддерживаемые ключи конфигурации надстройки

КлючОбязательныйОписание
extensionIDДаУникальный идентификатор надстройки. Значение ключа указывается в нотации обратного доменного имени.
Пример
extensionID = "com.example.entryform".
extensionNameДаНазвание надстройки. Отображается в меню Управление надстройками вкладки Макрокоманды в том случае, если надстройка установлена и включена (см. Рисунок и раздел Установка и управление надстройками в режиме диалога).
Пример:
extensionName = "Учетная карточка сотрудника".
vendorДаАвтор надстройки. Значение ключа отображается в диалоговом окне информации о надстройке.
Пример
vendor = "\"Мой Офис\"".
extensionVersionДаВерсия надстройки в виде таблицы с полями:
- major (число);
- minor (число);
- patch (число);
- build (строка).
Значение ключа отображается в диалоговом окне информации о надстройке.
Пример
extensionVersion = { major = 0, minor = 1, patch = 0, build = "" }.
descriptionНетКраткое описание надстройки. Значение ключа отображается в диалоговом окне информации о надстройке.
Пример
description = "Учетная карточка научного сотрудника".
applicationIdДаИдентификатор приложения, с которым может работать надстройка:
- только «МояТаблица»: "MyOffice Spreadsheet";
- только «МойТекст»: "MyOffice Text";
- одновременно в «МояТаблица» и «МойТекст»:
{"MyOffice Spreadsheet", "MyOffice Text"}.
apiVersionДаАктуальный номер версии API редактора для работы с надстройками в виде таблицы с полями:
- major (число);
- minor (число).
Следует использовать значение 1.0
Пример
apiVersion = { major = 1, minor = 0 }.
commandsProviderДаНаименование файла файла обработчика команд. Допустимо указание пути относительно домашнего каталога надстройки. Недопустимо указание полного пути к файлу сценария надстройки.
Пример
commandsProvider = "cmd/entryform.lua"
Файл сценария под названием entryform.lua расположен в каталоге cmd домашней папки надстройки.
eventsProviderНетНаименование файла, содержащего обработчики событий. Допустимо указание пути относительно домашнего каталога надстройки. Недопустимо указание полного пути к файлу сценария надстройки.
Пример
eventsProvider = "cmd/events.lua"
Файл сценария под названием events.lua расположен в каталоге cmd домашней папки надстройки.
onLoadНетНаименование файла сценария, вызываемого при запуске надстройки. Допустимо указание пути относительно домашнего каталога надстройки.
Пример
onLoad = "cmd/entryform-start.lua"
При запуске надстройки сценарий, находящийся в файле entryform-start.lua в каталоге cmd домашней папки надстройки.
onUnLoadНетНаименование файла сценария, вызываемого перед завершением работы надстройки. Допустимо указание пути относительно домашнего каталога надстройки.
Пример
onUnload = "cmd/entryform-stop.lua"
При запуске надстройки выполнится сценарий, находящийся в файле entryform-stop.lua, в каталоге cmd домашней папки надстройки.
fallbackLanguageНетКод языка (например, 'ru', 'en') который будет использован по умолчанию, если надстройка не содержит словаря для языка, установленного в настройках ОС. Подробнее о возможностях локализации см. раздел Локализация надстроек
Пример
fallbackLanguage = 'RU'.

Пример файла Package.lua:


local Package = {
vendor = "ООО \"Новые Облачные Технологии\"",
description = "Учетная карточка научного сотрудника",
extensionID = "com.example.entryform",
extensionName = "Учетная карточка сотрудника",
extensionVersion = { major = 0, minor = 1, patch = 0, build = "" },
applicationId = "MyOffice Spreadsheet",
apiVersion = { major = 1, minor = 0 },
commandsProvider = "cmd/entryform.lua",
fallbackLanguage = 'RU',
onLoad = "cmd/entryform-start.lua",
onUnload = "cmd/entryform-stop.lua"
}
return Package

Ключи onLoad и onUnLoad позволяют указать сценарии, выполняемые во время запуска или завершения работы надстройки. Эти сценарии могут быть использованы для подготовки ресурсов перед началом работы надстройки и освобождения ресурсов после выгрузки надстройки. Во время запуска и завершения работы надстройки не рекомендуется использование вызовов, взаимодействующих с пользовательским интерфейсом, использования метода messageBox или работы с формами ввода данных.

Сценарии для ключей onLoad и onUnLoad могут быть размещены в одном файле или в раздельных файлах. Сценарии должны содержать реализации методов onLoadExtension() и onUnloadExtension(), например:


local Actions = {}
function Actions.onLoadExtension()
-- Подготовка ресурсов для надстройки
end
function Actions.onUnloadExtension()
-- Освобождение ресурсов надстройки
end
return Actions