ScheduledJobsDenied не работает.

1. andadra 19.02.19 14:11 Сейчас в теме
Здравствуйте! Самописная конфигурация
Коннектор = Новый 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(Кластер, , ); надо указать пользака и пароль, но кластер без админа у нас. Что делать? ААА))
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. andadra 19.02.19 14:23 Сейчас в теме
(1)Создали администратора в кластере, теперь ругается на аутентификацию, причем если "пустой" логин пароль то все ок
3. andadra 19.02.19 14:59 Сейчас в теме
АУУУ. ПОМОГИТЕ ПЛЗ. И в кластере все получилось. ЧТо за админ у рабочих процессов?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот