Программный модуль

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

Окно программного модуля содержит следующие элементы:

  • Вкладка Основные

  • Вкладка Код

  • Кнопка Проверить программный модуль.

Вкладка Основные содержит:

  • Название: название программного модуля, обязательно для заполнения.

  • Имя: имя программного модуля, необязательно для заполнения.

  • Комментарий: описание программного модуля, необязательно для заполнения.

  • Загрузить архив: кнопка выбора подключаемых библиотек в виде бинарных файлов или архивов для их дальнейшей загрузки.

    Примечание

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

    Например, библиотека ClosedXML (0.101.0) имеет зависимость от DocumentFormat.OpenXml (2.16.0) и SixLabors.Fonts (1.0.0-beta19). В таком случае для корректной работы библиотеки ClosedXML в загружаемом архиве должны быть все три библиотеки.

Кнопка Проверить программный модуль запускает функцию проверки введённого кода на наличие ошибок.

../../../_images/outer_lib.png

Вкладка Код представлена текстовым полем для написания кода на языке C#.

В коде программного модуля пишется код функций, например:

public static int GetIntValue(int a)
{
        return a+10;
}

Для вызова функции программного модуля в коде алгоритма или в шаге бизнес-процесса Пользовательский алгоритм используется синтаксис:

{userModules.Name}.{Имя функции в коде программного модуля}

Пример:

int i = ПрограммныйМодуль1.GetIntValue(5);

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

Доступные фасады:

  • IDataBankQuery;

  • ICredentialQuery;

  • IOntologyManager.

    Внимание

    При обращении к классам сторонних библиотек в программном модуле необходимо убедиться, что в Платформе нет одноимённых метаданных.

    Например, если в Платформе уже создан тип данных «DataConfiguration», и при этом создать одноимённый экземпляр класса DataConfiguration библиотеки DataReader, то применение конфигурации завершится ошибкой.

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

Пример кода программного модуля:

public static void ПолучитьЗапись(Guid gu, IDataBankQuery DataBankQuery)
{
        Гора Гора1 = new Гора();
        Гора1 = DataBankQuery.Get<Гора>(gu);
        Logger.Info($"Получена запись в программном модуле {Гора1}");
}

Пример кода алгоритма:

ПрограммныйМодуль1.ПолучитьЗапись(Guid.Parse("10000000-0000-0000-0000-000000000000"), DataBank);