@glitch2077 said in Пожелания к созданию функций - дополнения к новой системы модулей.:
@Fox Если не сложно можете создать простой пример, у меня не получается.
Смотри, вот я создал функцию toster

которая возвращает случайное число и случайную строку через разделитель |
475.xml
Через менеджер модулей создал из этой функции модуль, в итоге получил архив toster.zip. Далее разархивировал архив

открыл код действия, файл toster_toster_code.js и добавил собственно парсинг результата функции и переменные для вывода результата
_call_function(toster_toster,{ })!
var result = _result_function()
<%= variable1 %> = result.split("|")[0]
<%= variable2 %> = result.split("|")[1]
Затем открыл интерфейс действия, файл toster_toster_interface.js и добавил второе поле вывода результата (с разными id)
<div class="container-fluid">
<%= _.template($('#variable_constructor').html())({id:"Save1", description:"Результат1", default_variable: "FUNCTION_RESULT1", help: {description: ""}}) %>
<%= _.template($('#variable_constructor').html())({id:"Save2", description:"Результат2", default_variable: "FUNCTION_RESULT2", help: {description: ""}}) %>
</div>
<div class="tooltipinternal">
</div>
<%= _.template($('#back').html())({action:"executeandadd", visible:true}) %>
добавил сохранение данных в код проекта, файл toster_toster_select.js
var Save1 = this.$el.find("#Save1").val().toUpperCase();
var Save2 = this.$el.find("#Save2").val().toUpperCase();
try{
var code = loader.GetAdditionalData() + _.template($("#toster_toster_code").html())({variable1: "VAR_" + Save1, variable2: "VAR_" + Save2});
code = Normalize(code,0);
BrowserAutomationStudio_Append("", BrowserAutomationStudio_SaveControls() + code, action, DisableIfAdd);
}catch(e)
{}
Заархивировал папку с модулем в zip архив и установил в BAS
toster.zip
В итоге получил модуль toster с одним действием, которое парсит результат вызова функции и сохраняет его в две разные переменные



476.xml
Более подробное описание внутренностей модулей, можно посмотреть здесь