Здравствуйте! Самописная конфигурация
ИнформационнаяБаза.ScheduledJobsDenied = Истина; вот на этой строке выпадает ошибка. Поле объекта не обнаружено. Ок, идем в справку, читаем:
Коннектор = Новый COMОбъект("v83.COMConnector");
Агент = Коннектор.ConnectAgent(ИмяСервера);
Кластеры = Агент.GetClusters();
Для каждого Кластер из Кластеры Цикл
Агент.Authenticate(Кластер, , );
Процессы = Агент.GetWorkingProcesses(Кластер);
Для каждого Процесс из Процессы Цикл
Порт = Процесс.MainPort;
// теперь есть адрес и порт для подключения к рабочему процессу
РабПроц = Коннектор.ConnectWorkingProcess(ИмяСервера + ":" + СтрЗаменить(Порт, Символы.НПП, ""));
РабПроц.AddAuthentication("Я", "МойПароль");
ИнформационнаяБаза = "";
Базы = Агент.GetInfoBases(Кластер);
Для каждого База из Базы Цикл
Если нРег(База.Name) = нРег(ИмяБазы) Тогда
ИнформационнаяБаза = База;
ИнформационнаяБаза.ScheduledJobsDenied = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если ИнформационнаяБаза = "" Тогда
// база не найдена
КонецЕсли;
Сеансы = Агент.GetInfoBaseSessions(Кластер, ИнформационнаяБаза);
Для каждого Сеанс из Сеансы Цикл
Если нРег(Сеанс.AppID) = "designer" Тогда
// если это сеансы конфигуратора или фонового задания, то не отключаем
Продолжить;
КонецЕсли;
Агент.TerminateSession(Кластер, Сеанс);
КонецЦикла;
СоединенияБазы = Агент.GetInfoBaseConnections(Кластер, ИнформационнаяБаза);
//Разорвать соединения клиентских приложений.
Для Каждого Соединение Из СоединенияБазы Цикл
Если нРег(Соединение.Application) = "backgroundjob" ИЛИ нРег(Соединение.Application) = "JobScheduler" Тогда
// если это соединение конфигуратора или фонового задания, то не отключаем
Продолжить;
КонецЕсли;
//Если Соединение.UserName = ИмяПользователя() Тогда
// // это текущий пользователь
// Продолжить;
//КонецЕсли;
РабПроц.Disconnect(Соединение);
КонецЦикла;
КонецЦикла;
КонецЦикла;
Коннектор = Неопределено;
ПоказатьИнформационнаяБаза.ScheduledJobsDenied = Истина; вот на этой строке выпадает ошибка. Поле объекта не обнаружено. Ок, идем в справку, читаем:
Информационная база (IInfoBaseInfo). Содержит параметры информационной базы 1С:Предприятия. Объект может быть построен программно. Для этого необходимо его создать методом CreateInfoBaseInfo и заполнить его свойства путем присваивания им новых значений. Уже заполненные объекты могут быть получены методом GetInfoBases. В последнем случае для чтения значений всех их свойств, кроме Name, необходимы административные права.
Представляет собой объект с интерфейсом IInfoBaseInfo.
У меня соответственно поле доступно только name. Здесь написано, что должны быть административные права. Но они у меня административные, это 100%. Есть мысль, что в строке Агент.Authenticate(Кластер, , ); надо указать пользака и пароль, но кластер без админа у нас. Что делать? ААА))
Представляет собой объект с интерфейсом IInfoBaseInfo.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот