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

Поддержка
  • @Antonz Но задача состоит в том, что бы эти id в старой и новой версии модуля были одинаковые, иначе данные полей очистятся при обновлении.

    Да и скорее всего не получится обновить модуль во всех проектах автоматически, так как вы в проектах используете действия из модуля, а они записываются в проекте в виде кода. То есть нужно будет открыть проект, заменить модуль и пересохранить (открыть и сохранить) действия модуля

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

    @Antonz Но задача состоит в том, что бы эти id в старой и новой версии модуля были одинаковые, иначе данные полей очистятся при обновлении.

    Да и скорее всего не получится обновить модуль во всех проектах автоматически, так как вы в проектах используете действия из модуля, а они записываются в проекте в виде кода. То есть нужно будет открыть проект, заменить модуль и пересохранить (открыть и сохранить) действия модуля

    Спасибо! Благодарность отправил)
    Получается по факту единственный вариант это ручное обновление модуля, повторная компиляция скрипта?

    пересохранить (открыть и сохранить) действия модуля

    Т.е. еще нужно в ручную каждый вызов модуля в скрипте пересохранять в любом случае?
    2021-10-12 21-15-50 test_modul_start.xml - Browser Automation Studio.jpg

  • @Antonz для обновления скриптов есть специальный инструмент

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

    @Antonz для обновления скриптов есть специальный инструмент

    Вы про web панель управления BAS?

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

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

    @Antonz для обновления скриптов есть специальный инструмент

    Вы про web панель управления BAS?

    d7675548-a627-4589-8834-7c47a34f81f6-изображение.png

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

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

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

    @Antonz для обновления скриптов есть специальный инструмент

    Вы про web панель управления BAS?

    d7675548-a627-4589-8834-7c47a34f81f6-изображение.png

    Это нужно как я понимаю при переходе на новую версию BAS клиента?
    Я подумал что это должно сохранить входящие параметры модулей при обновление через интерфейс, но этого не произошло.

    Прописывание в ручную своего ID в файле интерфейса так же не помогло. Модуль после такого не сохраняет параметры почему-то в режиме записи, т.е не нажимается кнопка "ОК"...

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

    Это нужно как я понимаю при переходе на новую версию BAS клиента?

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

    Я подумал что это должно сохранить входящие параметры модулей при обновление через интерфейс, но этого не произошло.
    Прописывание в ручную своего ID в файле интерфейса так же не помогло. Модуль после такого не сохраняет параметры почему-то в режиме записи, т.е не нажимается кнопка "ОК"...

    Прочитайте внимательнее мои посты выше:

    8bd37dcb-a458-49e6-945c-c8c91d42536e-изображение.png

  • Вроде разобрался с массовым обновлением модулей, на тестовых вариантах работает. Всем спасибо кто пытался помочь!
    Единственное так и не понял зачем "Обновить действия проекта" при обновление модуля.
    Обошелся путем прописывания своих 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 после установки такого модуля.