@thepappo said in Модули и переменные:
@Fox said in Модули и переменные:
Чегось? Использование статичных id для инпутов это костыль?
Как-то можно сделать, чтобы эти id после обновления не менялись? Тему по ссылке выше посмотрел. Или ты имеешь в виду, просто их руками каждый раз прописывать после обновления?
Вы вероятно не понимаете, что за id нужно прописывать и в чём собственно дело? Смотрите, каждое действие в модуле BAS состоит из трёх файлов
*_select.js
*_interface.js
*_code.js
Если открыть в текстовом редакторе файл "*_interface.js" то можно увидеть код шаблона вёрстки интерфейса действия для BAS
Каждый параметр действия начинается со строки <%= _.template(, далее в нём находится этот пресловутый id
При сохранении действия BAS помещает данные элементов интерфейса (значения инпутов, чекбоксов, выпадающих списков и т.д.) в техническом описании действий для рабочей зоны BAS (зелёная строка, начиняющаяся с /*Dat:)
Данные сохраняются с id полей откуда они были взяты, и когда вы открываете сохранённое действие, то из технического описания в интерфейс BAS загружаются данные действия (вписываются данные в инпуты, выбираются чекбоксы и выпадающие элементы списка).
Проблема вот в чём, при создании модуля из функции BAS все id интерфейса действий генерируются случайными и после обновления модуля, данные из технического описания действия не могут найти места, куда им нужно вписать данные.
В целом же фича явно нужная, сделать статические переменные, как в случае с названиями функций. Их все равно на русском нормальный человек писать не будет в басе.
А как BAS будет понимать, вы создаёте новый модуль или обновляете старый?
Думаю я могу сделать промежуточный вариант исправления этой проблемы