@glitch2077 said in Пожелания к созданию функций - дополнения к новой системы модулей.:
@Fox Если не сложно можете создать простой пример, у меня не получается.
Смотри, вот я создал функцию toster
bc141aa0-9a32-46a1-9eb1-0f52d172eb52-изображение.png
которая возвращает случайное число и случайную строку через разделитель |
Через менеджер модулей создал из этой функции модуль, в итоге получил архив toster.zip. Далее разархивировал архив
9f21dd52-6196-4f58-bddd-e8302335d579-изображение.png
открыл код действия, файл 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 с одним действием, которое парсит результат вызова функции и сохраняет его в две разные переменные
252043fb-3ca8-498f-8d93-07bab93e3806-изображение.png
e6e704ee-c751-4b69-9b84-9c384d31ec45-изображение.png
a559111e-2633-459c-8ee0-df6e96a72f5b-изображение.png
Более подробное описание внутренностей модулей, можно посмотреть здесь