@Zen Вот код кубиков, просто скопируйте его и вставьте в редакторе БАС в функцию onApplicationStart. В глобальной переменной DIR всегда будет корень проекта
BAS:[{"name":"","code":"/*Dat:eyJzIjoic2NyaXB0X3N0YXRzX3Byb2plY3RfcGF0aCIsInYiOjEsImYiOltdLCJ1dyI6IjAiLCJ1dCI6IjAiLCJ1dG8iOiIwIiwidW0iOiIwIiwiZCI6W3siaWQiOiJTYXZlIiwidHlwZSI6InZhciIsImRhdGEiOiJQUk9KRUNUX1BBVEgifV19*/\nVAR_PROJECT_PATH = project_path()","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":0,"id":981188489,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""},{"name":"","code":"/*Dat:eyJzIjoiUmVnZXhwRmlyc3QiLCJ2IjoxLCJmIjpbXSwidXciOiIwIiwidXQiOiIwIiwidXRvIjoiMCIsInVtIjoiMCIsImQiOlt7ImlkIjoiVmFsdWUiLCJ0eXBlIjoiY29uc3RyIiwiZGF0YSI6IltbUFJPSkVDVF9QQVRIXV0iLCJjbGFzcyI6InN0cmluZyJ9LHsiaWQiOiJSZWdleHAiLCJ0eXBlIjoiY29uc3RyIiwiZGF0YSI6IiheLispKD86KD89XFwvYXBwc3JlbW90ZSl8KD89XFwvYXBwc2xvY2FsKXwoPzooPzwhZW5naW5lKVxcL1teL10rJCkpIiwiY2xhc3MiOiJzdHJpbmcifSx7ImlkIjoiUmVzdWx0IiwidHlwZSI6InZhciIsImRhdGEiOiJESVIifSx7ImlkIjoiUmVzdWx0QWxsIiwidHlwZSI6InZhciIsImRhdGEiOiJBTExfTUFUQ0gifV19*/\nvar regexp_result = native(\"regexp\", \"first\", JSON.stringify({text: VAR_PROJECT_PATH,regexp:\"(^.+)(?:(?=\\u005c/appsremote)|(?=\\u005c/appslocal)|(?:(?\\u003c!engine)\\u005c/[^/]+$))\"}))\nif(regexp_result.length == 0)\nregexp_result = []\nelse\nregexp_result = JSON.parse(regexp_result)\nVAR_ALL_MATCH = regexp_result.pop()\nif(typeof(VAR_ALL_MATCH) == 'undefined' || !VAR_ALL_MATCH)\nVAR_ALL_MATCH = \"\"\nVAR_DIR = regexp_result[0]\nif(typeof(VAR_DIR) == 'undefined' || !VAR_DIR)\nVAR_DIR = \"\"\nif(regexp_result.length == 0)\n{\nVAR_DIR = VAR_ALL_MATCH\n}","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":0,"id":123829951,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""},{"name":"","code":"/*Dat:eyJzIjoiZ2xvYmFsc2V0IiwidiI6MSwiZiI6W10sInV3IjoiMCIsInV0IjoiMCIsInV0byI6IjAiLCJ1bSI6IjAiLCJkIjpbeyJpZCI6Ik5hbWUiLCJ0eXBlIjoidmFyIiwiZGF0YSI6IkRJUiJ9LHsiaWQiOiJWYWx1ZSIsInR5cGUiOiJjb25zdHIiLCJkYXRhIjoiW1tESVJdXSIsImNsYXNzIjoic3RyaW5nIn1dfQ==*/\nvar val = JSON.stringify(VAR_DIR);\nPSet(\"basglobal\", \"DIR\", val)","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":0,"id":851150913,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""}]Баг. Портит файл проекта при сохранении.
-
Это серьезно. При очередном сохранении в XML файле проекта стало вместо вот этого:
<SettingsWorker>EnableFlash=false ProxiesReconnect=false ForceUtf8=true IsSafe=true SkipFrames=1 ToolboxHeight=794 MaxBrowserStartSimultaneously=10 MinFreeMemoryToStartBrowser=500 MinUnusedCpu=0 ScenarioWidth=363 Zoom=100 IsMaximized=false Restart=true UseHumanLikeMouseMoves=true DisableWebgl=true DebugToolbox=false DebugScenario=false Languages="Node,8.6.0" Modules="8.6.0,mssql,*" ProxyTunneling=true </SettingsWorker>вот это:
<SettingsWorker>EnableFlash=false ProxiesReconnect=true ForceUtf8=true SkipFrames=1 ToolboxHeight=250 ScenarioWidth=500 Zoom=100 IsMaximized=false Restart=false UseHumanLikeMouseMoves=true </SettingsWorker>Т.о. пропали все языки и модули. С другой стороны хорошо, что есть автобекап ))
-
@support Можно конечно видео записать, но думаю и так будет понятно..
- Открыть в BAS скрипт_1, в котором есть настройки (NPM модули, пропуск кадров, и т.п.)
- Открыть во втором окне BAS скрипт_2, в котором дефолтные настройки.
- Зайти в настройки скрипт_2 и сохранить (нажать кнопку ok) и выйти.
- Если обновить скрипт_1 в первом окне BAS, то настройки в нём сменятся на настройки из скрипт_2.
Баг проявляется даже если проекты разные и ни как друг с другом не контактировали (не переносились блоки из одного скрипта в другой)