@lo66er said in Консоль браузера в BAS:
@Fox А можно ссылочку на тред со входом по токену с помощью бас, если такой имеется?
Нет, используйте поиск
Исходные данные:
В BAS IDE слетают визуально настройки вызова параметров функции модуля на по умолчанию, что заданы в функции модуля. Причем в самом коде скрипта все в порядке, функция вызывается с правильными параметрами.
В данном примере параметр length равен в скрипте 5, а отображается как 15, что является значением параметра по умолчанию.
_call_function(AccountProfileMaker_randomPassword,{ "length": (5),"useDigits": ("true"),"useSpecialChars": ("true") })!


Если после открытия скрипта, поправить параметр вызова функции в BAS IDE на тот, что в коде, то сохранение скрипта и перезапуск BAS исправляет ошибку отображения. И работать это будет только на этом компьютере.
Но это все до обновления BAS. При обновлении BAS, в новой версии BAS нет установленного кастомного модуля отдельно и никогда не было, а есть только в коде самого скрипта и я опять натыкаюсь на это баг.
Готов удаленно на своей компьютере продемонстрировать, как воспроизвести ошибку по шагам и ответить на все вопросы.
Скрипт с установленным модулем:
TestFunctional_AccountProfileMakerModule.xml
Модуль отдельно:
AccountProfileMaker.zip
Проект, из которого генерируется модуль:
AccountProfileMakerModuleSrc.xml
Для меня этот баг критичный, прошу помочь, спасите помогите😄
@m4zuper, @Fox
Правильно ли я понял, что это чисто визуальный баг, который не сказывается на работе скрипта? Это скрипт для тестирования модуля, который запускается после каждого обновления BAS, верно? Получается алгоритм такой?:
@m4zuper said in bug: отображение параметров вызова функции из модуля, если модуль не установлен отдельно в BAS:
правильно ли я понял, что это чисто визуальный баг
Ну как сказать.
Вот я дал кому-то скрипт допилить функционал, получил результат работы.
Я смотрю на код в BAS IDE, а там не то, что реально выполняется. Как мне понять, это "чисто визуально" или реальный баг? Для меня это критичный баг.
@m4zuper said in bug: отображение параметров вызова функции из модуля, если модуль не установлен отдельно в BAS:
Открытие действия модуля, а там 15, вместо 5?
Вероятно, если кто-то скачает этот скрипт, то там будет 15 вместо 5, а в коде 5.
Скрипт с установленным модулем:
TestFunctional_AccountProfileMakerModule.xml
Если в скрипте используются действия из стороннего модуля, то код модуля сохраняется в коде скрипта. К примеру скрипт с изменённым модулем "Список" https://community.bablosoft.com/topic/22171/действие-создать-список/2

Если открыть код приложенного проекта, то в конце можно заметить тег "Modules" и в нём будет установленный модуль "List" с архивом модуля в base64

Далее есть проблема со сбросом параметров в действии при обновлении модулей: https://community.bablosoft.com/topic/14537/вопросы-по-модулям-bas
Смысл в том, что при генерации модуля создаются рандомные значения id полей параметров, а в проекте записаны id старого модуля, по этому и происходит установка стандартных для модуля значений.
Эти данные сохраняются в технических данных действия (текст Dat:...), по этому в коде данные сохранены корректные, а в интерфейсе их нет. Если сохранить действие, то его код будет также заменён.
@Fox said in bug: отображение параметров вызова функции из модуля, если модуль не установлен отдельно в BAS:
Эти данные сохраняются в технических данных действия (текст Dat:...), по этому в коде данные сохранены корректные, а в интерфейсе их нет.
Большое спасибо за разъяснение.
Внутри /*Dat: находится то, что я вижу в BAS IDE.
{
"s": "AccountProfileMaker_randomPassword",
"v": 1,
"f": [],
"uw": "0",
"ut": "0",
"uto": "0",
"um": "0",
"d": [
{
"id": "iyiwobjc", <=== auto generated id
"type": "constr",
"data": "5",
"class": "int"
},
{
"id": "lwbogtly", <=== auto generated id
"type": "constr",
"data": "true",
"class": "string"
},
{
"id": "tpnpfvrc", <=== auto generated id
"type": "constr",
"data": "true",
"class": "string"
},
{
"id": "Save",
"type": "var",
"data": "APM_PASSWORD_RESULT"
}
]
}
Буду искать workflow при обновлении модуля, как решить свой вопрос, чтобы ничего не поломать у тех, у кого уже модуль установлен.
Может, автогенерация id не мой вариант. Буду думать.
@sergerdn said in bug: отображение параметров вызова функции из модуля, если модуль не установлен отдельно в BAS:
@Fox said in bug: отображение параметров вызова функции из модуля, если модуль не установлен отдельно в BAS:
Эти данные сохраняются в технических данных действия (текст Dat:...), по этому в коде данные сохранены корректные, а в интерфейсе их нет.
Большое спасибо за разъяснение.
Внутри /*Dat: находится то, что я вижу в BAS IDE.
Оно именно для этого и нужно
Буду искать workflow при обновлении модуля, как решить свой вопрос, чтобы ничего не поломать у тех, у кого уже модуль установлен.
Может, автогенерация id не мой вариант. Буду думать.
Можно в ручную менять id полей в файлах интерфейса у сгенерированных модулей на стационарные или можете использовать мой скрипт, который заменяет id полей нового модуля из старого.
@Fox said in bug: отображение параметров вызова функции из модуля, если модуль не установлен отдельно в BAS:
можно в ручную менять id полей в файлах интерфейса у сгенерированных модулей на стационарные
Да, я думаю, что я так и сделаю. Это будет надежнее.