Artifact d4cb0498017e8cefe7d76fd61195c537d5ae7d3c:
- File RunEnterprise.js — part of check-in [be7d942828] at 2014-03-26 15:35:11 on branch trunk — запуск отладки от определенного имени, по списку и по выбору (user: artbear size: 7849) [more...]
$engine JScript $uname RunEnterprise $dname Запуск 1С $addin global $addin stdcommands //$addin stdlib ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////{ Cкрипт "Запуск 1С Предприятия" (RunEnterprise.js) для проекта "Снегопат" //// //// Описание: макрос выполняет запуск альтернативного режима работы. //// Для обычного толстого клиента альтернативным является толстый клиент управляемое приложение и наоборот. //// Для смены режима исправьте значения констант режимЗапуска1 и режимЗапуска2 //// //// У меня сейчас активно юзается разработка как в обычном, так и в управляемом приложении - потихоньку начинаю переползать на упр.приложение //// без этого макроса приходится вручную переключать в настройках режимы, режим запуски отладки также неудобен, т.к. запустить только один сеанс в режиме отладки //// //// Автор: Артур Аюханов aka artbear <aartbear@gmail.com> ////} ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// global.connectGlobals(SelfScript); // stdlib.require('SettingsManagement.js', SelfScript); function getPredefinedHotkeys(predef){ predef.setVersion(1); predef.add("Альтернативный режим", "Ctrl + Alt + F5"); } SelfScript.Self['macrosАльтернативный режим'] = function () { поменятьРежимЗапуска() //запустить 1С if(stdcommands.Config.RunEnterprise.getState().enabled) stdcommands.Config.RunEnterprise.send() поменятьРежимЗапуска() } function поменятьРежимЗапуска() { var былРежимЗапуска = profileRoot.getValue(путьПрофиля) var новыйРежим = былРежимЗапуска; if(новыйРежим == режимЗапуска1) новыйРежим = режимЗапуска2 else новыйРежим = режимЗапуска1 profileRoot.setValue(путьПрофиля, новыйРежим) return былРежимЗапуска } // Дополнение 28.01.2014 Slider function StartDebugAs( userName ) { путьПрофиляПользователя = "Launch/UserNew" путьСпособАвторизации = "Launch/AuthenticationTypeNew" var пользователь = profileRoot.getValue(путьПрофиляПользователя); var авторизация = profileRoot.getValue(путьСпособАвторизации); profileRoot.setValue(путьПрофиляПользователя, userName ); profileRoot.setValue(путьСпособАвторизации, 1); if( stdcommands.CDebug.Start.getState().enabled ) { stdcommands.CDebug.Restart.send(); } // возвращаем настройки назад как было profileRoot.setValue(путьПрофиляПользователя, пользователь ); profileRoot.setValue(путьСпособАвторизации, авторизация ); } SelfScript.Self['macrosЗапуск отладки от имени (выбор при запуске)'] = function () { StartDebugAs( "" ); } SelfScript.Self['macrosЗапуск отладки от имени (по списку)'] = function () { путьДоСпискаПользователей = "Launch/MRULaunchUserList" var списокЗначенийПользователей = profileRoot.getValue( путьДоСпискаПользователей ); массив = списокЗначенийПользователей.ВыгрузитьЗначения(); быстрыйНаборКоличество = списокЗначенийПользователей.Количество(); if ( быстрыйНаборКоличество > 0 ) { var ListMode = v8New("ValueList"); for ( i = 0; i < быстрыйНаборКоличество; i++ ) { пользователь = списокЗначенийПользователей.Получить( i ); ListMode.add( i, пользователь ); } первыйВСписке = списокЗначенийПользователей.Получить(0); choice = ListMode.ChooseItem("Выберите пользователя", первыйВСписке ); if ( choice != undefined ) { имяВыбранногоПользователя = choice.Представление; StartDebugAs( имяВыбранногоПользователя ); } } } SelfScript.Self['macrosЗапуск отладки от имени Администратор'] = function () { StartDebugAs("Администратор"); } //ДополнениеКонец SelfScript.Self['macrosНастроить режимы запуска'] = function () { var текущийРежимЗапуска = profileRoot.getValue(путьПрофиля); ////{ режимы запуска 1С, заданные в профайле // 1 тонкий клиент // 2 автоматически // 3 толстый клиент (управляемое приложение) // 4 толстый клиент (обычное приложение) // 5 веб-клиент ////} var ListMode = v8New("ValueList"); ListMode.add(1, "Тонкий клиент"); ListMode.add(2, "Автоматически"); ListMode.add(3, "Толстый клиент (управляемое приложение)"); ListMode.add(4, "Толстый клиент (обычное приложение)"); ListMode.add(5, "Веб-клиент"); var defaultItem = ListMode.FindByValue(текущийРежимЗапуска); var choice = ListMode.ChooseItem("Выберите режим запуска по умолчанию", defaultItem); if (choice!=undefined) { режимЗапуска1 = choice.value; if (режимЗапуска1!=текущийРежимЗапуска) profileRoot.setValue(путьПрофиля, режимЗапуска1); } var defaultItem = ListMode.FindByValue(режимЗапуска2); var choice = ListMode.ChooseItem("Выберите альтернативный режим запуска", defaultItem); if (choice!=undefined) { режимЗапуска2 = choice.value; } //Сохраним режимы запуска profileRoot.setValue(pflRunEnterpriseStartModeAlternative, режимЗапуска2); } var pflRunEnterpriseStartModeAlternative = "RunEnterprise/StartAlternativeMode"; profileRoot.createValue(pflRunEnterpriseStartModeAlternative, 3, pflSnegopat); // управляемый толстый, для алтернативного режима var путьПрофиля = "Launch/StartMode2" var режимЗапуска1 = profileRoot.getValue(путьПрофиля); var режимЗапуска2 = profileRoot.getValue(pflRunEnterpriseStartModeAlternative);