Программный модуль
Программный модуль представляет собой инструмент для формирования специальных программных методов в обработке данных и используется для написания простых общеиспользуемых функций.
Окно программного модуля содержит следующие элементы:
Вкладка Основные
Вкладка Код
Кнопка Проверить программный модуль.
Вкладка Основные содержит:
Название: название программного модуля, обязательно для заполнения.
Имя: имя программного модуля, необязательно для заполнения.
Комментарий: описание программного модуля, необязательно для заполнения.
Загрузить архив: кнопка выбора подключаемых библиотек в виде бинарных файлов или архивов для их дальнейшей загрузки.
Примечание
При использовании в программном модуле сторонней библиотеки, имеющей зависимости от других библиотек, необходимо убедиться что в программный модуль добавлены все зависимости.
Например, библиотека ClosedXML (0.101.0) имеет зависимость от DocumentFormat.OpenXml (2.16.0) и SixLabors.Fonts (1.0.0-beta19). В таком случае для корректной работы библиотеки ClosedXML в загружаемом архиве должны быть все три библиотеки.
Кнопка Проверить программный модуль запускает функцию проверки введённого кода на наличие ошибок.

Вкладка Код представлена текстовым полем для написания кода на языке 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);