Массовое обновление модулей

Поддержка
  • Вроде разобрался с массовым обновлением модулей, на тестовых вариантах работает. Всем спасибо кто пытался помочь!
    Единственное так и не понял зачем "Обновить действия проекта" при обновление модуля.
    Обошелся путем прописывания своих ID у параметров модуля. Соответсвенно после обновления процедуру по прописки своих ID, указанных ранее, повторяем)

  • @Fox said in Массовое обновление модулей:

    Этот инструмент позволяет автоматически пересохранить действия

    По факту параметры модуля должны были не сбрасываться на те, что по умолчанию. Но почему-то эта функция не работает так и сбрасывает входящие параметры модуля. У вас работает правильно?

  • @Antonz said in Массовое обновление модулей:

    @Fox said in Массовое обновление модулей:

    Этот инструмент позволяет автоматически пересохранить действия

    По факту параметры модуля должны были не сбрасываться на те, что по умолчанию. Но почему-то эта функция не работает так и сбрасывает входящие параметры модуля. У вас работает правильно?

    Перечитайте тему заново, я уже объяснял почему так происходит

  • @Fox said in Массовое обновление модулей:

    @Antonz said in Массовое обновление модулей:

    @Fox said in Массовое обновление модулей:

    Этот инструмент позволяет автоматически пересохранить действия

    По факту параметры модуля должны были не сбрасываться на те, что по умолчанию. Но почему-то эта функция не работает так и сбрасывает входящие параметры модуля. У вас работает правильно?

    Перечитайте тему заново, я уже объяснял почему так происходит

    Потому что ID параметров динамические. Но я тогда не понял зачем эта функция)
    Без нее при статичных ID - параметры сохраняются.

  • @Antonz на самом деле, что бы не было всех этих проблем модули лучше писать вручную используя api bas, но разбираться придется самому

  • @Antonz Подскажи как в итоге получилось побороть проблему? У меня все те же проблемы. Сделал скрипт который переписывает идентификаторы так чтобы они зависели только от имени переменной (соответственно если адейдт не меняет переменные и они сохраняют свои идентификаторы). Натравил скрипт, модуль в итоге загружается, но так же как у тебя было не дает нажать кнопку ОК.

  • @stepnoy said in Массовое обновление модулей:

    @Antonz Подскажи как в итоге получилось побороть проблему? У меня все те же проблемы. Сделал скрипт который переписывает идентификаторы так чтобы они зависели только от имени переменной (соответственно если адейдт не меняет переменные и они сохраняют свои идентификаторы). Натравил скрипт, модуль в итоге загружается, но так же как у тебя было не дает нажать кнопку ОК.

    Значит сделали что-то неправильно. Я ранее выкладывал рабочий вариант https://community.bablosoft.com/topic/14537/вопросы-по-модулям-bas/8

  • @Fox Я пробовал этот скрипт, после него в режиме записи пропадают вообще все модули. Я смотрел внутрь него, он меняет идентификаторы только в файлах *_interface.js, но файлы *_select.js и *_code.js так же ссылаются на эти идентификаторы. И если их соответственно не исправлять, то ломается сам BAS.

    Снимок экрана 2023-02-15 в 18.56.49.png

  • @stepnoy said in Массовое обновление модулей:

    @Fox Я пробовал этот скрипт, после него в режиме записи пропадают вообще все модули. Я смотрел внутрь него, он меняет идентификаторы только в файлах *_interface.js, но файлы *_select.js и *_code.js так же ссылаются на эти идентификаторы. И если их соответственно не исправлять, то ломается сам BAS.

    А какие иденитфикаторы у вас в файлах "_select.js" и "_code.js" находятся? Здесь я очень подробно описал причину проблемы с обновлением модулей: https://community.bablosoft.com/topic/23201/модули-и-переменные/10

  • @Fox Проблема решилась. Мой скрипт заменял id: "Save", а этого не стоило делать. Делюсь скриптом, может кому то поможет https://pastebin.com/Xwxgpj9d

    Он кушает в параметре zip файл с модулем, после того как отрабатывает модуль можно использовать. Расчет на то что если не менять имена параметров функции, то они не будут сбрасываться при обновлении модуля. Если в новой версии имя параметра или функции изменилось - значения сбросятся.

    Для работы нужен python и пакет tqdm.

    pip install tqdm # установка пакета 
    python script_name.py module_name.zip # обработка модуля
    

    Вот сквозные идентификаторы в каждом из файлов _select + _code + _interface
    Снимок экрана 2023-02-15 в 19.16.48.png

    Снимок экрана 2023-02-15 в 19.15.11.png

    Снимок экрана 2023-02-15 в 19.15.35.png

    Если менять только в одном файле у меня ломается BAS после установки такого модуля.