Общие сведения

Python-скрипт экспорта (далее — скрипт) обеспечивает экспорт данных из окна мультисферы в форматах XLSX и ODS по шаблону, заданному в файле конфигурации в формате JSON. Скрипт необходимо зарегистрировать для приложения при помощи утилиты plm-util, чтобы приложение могло с ним работать.

При регистрации скрипта необходимо указывать его название, которое в приложении будет отображаться в списке шаблонов при экспорте с отметкой чекбокса «Выбрать формат перед экспортом» (см. раздел «Экспорт» в руководстве пользователя).

В приложении может быть зарегистрировано сколько угодно много скриптов. Для каждого зарегистрированного скрипта обязательно должен быть предоставлен файл конфигурации в формате JSON (далее — файл конфигурации). Структура файла конфигурации подробно описана на странице «Экспорт данных» в текущем руководстве.

Если для какого-либо зарегистрированного скрипта файл конфигурации отсутствует или имеет недопустимую структуру, то при попытке экспорта по соответствующему шаблону будет отображаться сообщение об ошибке экспорта. Если в пути до файла конфигурации будет содержаться ошибка, то приложение попытается использовать путь, заданный по умолчанию, то есть попытается применить файл config.json, лежащий в той же папке, в которой находится сам скрипт (/var/plmrepo/python-export-excel/src/).

При первоначальной установке пакета со скриптом в папке /var/plmrepo/python-export-excel/src/ можно увидеть пример файла конфигурации config.json.example. Можно использовать этот файл конфигурации как файл конфигурации по умолчанию, настроив его нужным образом и переименовав в config.json.

На его основе можно создавать другие файлы конфигурации и указывать путь до каждого из них при регистрации соответствующих скриптов.

Путь к файлу конфигурации для конкретного зарегистрированного скрипта устанавливается при регистрации скрипта или при редактировании файла-ресурса через утилиту plm-util (см. разделы «Регистрация скрипта» и «Обновление скрипта» ниже). Это позволяет иметь единственный файл с исходным кодом скрипта и отдельные файлы конфигурации для каждого конкретного зарегистрированного скрипта. 

Для обратной совместимости сохранена поддержка скриптов, файлы конфигурации которых хранятся в директории /var/plmrepo/pyscripts/директория_зарегистрированного_python-скрипта.

Регистрировать, обновлять и удалять можно только по одному скрипту за раз.

Подготовка к регистрации

  1. Остановить работу приложения:

    systemctl stop polymatica.service
  2. Убедиться, что в файле конфигурации утилиты plm-util.conf указан параметр, определяющий путь до репозитория Polymatica Analytics, обычно это /var/plmrepo:

    plm.manager.repo_directory = /var/plmrepo

Регистрация скрипта через конфигурационный файл plm-util

Регистрация скрипта

  1.  Открыть на редактирование файл plm-util.conf:

    nano /etc/polymatica/plm-util.conf
  2. Добавить в него строки:

    # Команда регистрации скрипта
    create-pyscript
    # Название регистрируемого скрипта Python
    pyscripts.create.name = Шаблон1
    # Тип регистрируемого скрипта Python (Возможные типы: "formatted_export", "linked_scenario". Для скрипта экспорта используется тип "formatted_export".)
    pyscripts.create.type = formatted_export
    # Путь до регистрируемого скрипта Python на диске
    pyscripts.create.script = /var/plmrepo/python-export-excel/src/main.py
    # Путь до файла конфигурации регистрируемого скрипта
    pyscripts.create.config = /path/to/python-export_excel/config1.json
    # Формат экспортируемого файла (Возможные форматы: "xls", "ods")
    pyscripts.create.format = xls 
  3. Сохранить изменения в plm-util.conf и выполнить команду:

    plm-util --create-pyscript

Обновление скрипта 

  1. Открыть на редактирование файл plm-util.conf:

    nano /etc/polymatica/plm-util.conf
  2. Добавить (раскомментировать) строки:

    # Команда обновления скрипта
    update-pyscript
    # Внесение изменений в зарегистрированный скрипт Python по имени
    # pyscripts.update.by_name = Шаблон1
    # либо
    # Внесение изменений в зарегистрированный скрипт Python по идентификатору
    # pyscripts.update.by_id = 1a71ec1d
    # Новое наименование для скрипта Python
    pyscripts.update.new_name = Шаблон2
    # Новый тип скрипта Python
    pyscripts.update.new_type = formatted_export
    # Путь до нового скрипта Python
    pyscripts.update.new_script = /path/to/new_folder_with_source_script/src/main.py
    # Путь до файла конфигурации нового скрипта
    pyscripts.update.new_config = /path/to/python-export_excel/config2.json
  3. Сохранить изменения в plm-util.conf и выполнить команду:

    plm-util --update-pyscript

Удаление скрипта

  1. Открыть на редактирование файл plm-util.conf:

    nano /etc/polymatica/plm-util.conf
  2. Добавить в него строки:

    delete-pyscript 
    # Удаление зарегистрированного скрипта Python по имени
    # pyscripts.delete.by_name = Шаблон1
    либо
    # Удаление зарегистрированного скрипта Python по идентификатору
    # pyscripts.delete.by_id = e654a03f
  3. Выполните команду:

    plm-util --delete-pyscript

Вывод списка зарегистрированных скриптов

  1.  Открыть на редактирование файл plm-util.conf:

    nano /etc/polymatica/plm-util.conf
  2. Добавить (раскомментировать) строки:

    # Напечатать информацию по имеющимся скриптам
    list_pyscripts
    # Напечатать информацию только по скриптам экспорта (тип "formatted_export")
    pyscripts.list.type = formatted_export
  3. Сохранить изменения в plm-util.conf и выполнить команду:

    plm-util --list-pyscripts

В результате будет получен ответ с указанием количества скриптов и списком скриптов. В списке для каждого скрипта будут указаны его название, идентификатор, создатель, дата и время создания и обновления, тип, путь до скрипта и путь до файла конфигурации.

[2025-10-29 10:42:52.514 +03:00][    info][util] Found 'formatted_export' python scripts: 2
[2025-10-29 10:42:52.514 +03:00][    info][util] List of found python scripts:
[2025-10-29 10:42:52.514 +03:00][    info][util] >>
[2025-10-29 10:42:52.514 +03:00][    info][util] -- name: Template2
[2025-10-29 10:42:52.514 +03:00][    info][util] -- id: d6cff5d4
[2025-10-29 10:42:52.514 +03:00][    info][util] -- creator: 
[2025-10-29 10:42:52.514 +03:00][    info][util] -- created at: Tue, 28 Oct 2025 10:28:37 +0000
[2025-10-29 10:42:52.514 +03:00][    info][util] -- updated at: Tue, 28 Oct 2025 10:28:37 +0000
[2025-10-29 10:42:52.514 +03:00][    info][util] -- type: formatted_export
[2025-10-29 10:42:52.514 +03:00][    info][util] -- python script path: "/var/plmrepo/python-export-excel-master/src/main.py" (exists: true)
[2025-10-29 10:42:52.514 +03:00][    info][util] -- script config path: "/var/plmrepo/export_configs/template2config.json" (exists: true)
[2025-10-29 10:42:52.514 +03:00][    info][util] -- format: xls
[2025-10-29 10:42:52.514 +03:00][    info][util] <<
[2025-10-29 10:42:52.514 +03:00][    info][util] >>
[2025-10-29 10:42:52.514 +03:00][    info][util] -- name: Template1
[2025-10-29 10:42:52.514 +03:00][    info][util] -- id: cce54a02
[2025-10-29 10:42:52.514 +03:00][    info][util] -- creator: 
[2025-10-29 10:42:52.514 +03:00][    info][util] -- created at: Tue, 28 Oct 2025 08:37:38 +0000
[2025-10-29 10:42:52.514 +03:00][    info][util] -- updated at: Tue, 28 Oct 2025 10:39:13 +0000
[2025-10-29 10:42:52.514 +03:00][    info][util] -- type: formatted_export
[2025-10-29 10:42:52.514 +03:00][    info][util] -- python script path: "/var/plmrepo/python-export-excel-master/src/main.py" (exists: true)
[2025-10-29 10:42:52.514 +03:00][    info][util] -- script config path: "/var/plmrepo/export_configs/template1config.json" (exists: true)
[2025-10-29 10:42:52.514 +03:00][    info][util] -- format: xls
[2025-10-29 10:42:52.514 +03:00][    info][util] <<

Для обратной совместимости сохранена поддержка скриптов, файлы конфигурации которых хранятся в директории /var/plmrepo/pyscripts/директория_зарегистрированного_python-скрипта. Так как такие скрипты были зарегистрированы без указания пути до файла конфигурации, при вызове списка зарегистрированных скриптов у такого скрипта соответствующая строка будет иметь следующий вид: 

[2025-07-30 14:25:57.167 +03:00][    info][util] -- script config path: "" (exists: false) 



После успешного завершения процедур регистрации, перерегистрации, удаления или вывода списка скриптов можно запустить сервисы Polymatica Analytics командой:

systemctl start polymatica.service

  • Нет меток