Имя: Пароль:
1C
1С v8
Никак не могу программно установить блокировку регл заданий = Истина. Помогите
0 evorle145
 
03.06.13
12:09
Соединитель = Новый COMОбъект("V82.COMConnector");
   СоединениеСАгентом = Соединитель.ConnectAgent("server:1540");
   //СоединениеСАгентом.AuthenticateAgent("111", "111");
   Кластеры = СоединениеСАгентом.GetClusters();
   Кластер = Кластеры.GetValue(Кластеры.GetLowerBound()); // первый кластер
   СоединениеСАгентом.Authenticate(Кластер, "", "");
   РабочиеПроцессы = СоединениеСАгентом.GetWorkingProcesses(Кластер);
   МассивРабочиеПроцессы = РабочиеПроцессы.Выгрузить();
   Для каждого РабочийПроцесс Из МассивРабочиеПроцессы Цикл
   
    АдресРабочегоПроцесса = "tcp://" + РабочийПроцесс.HostName + ":" + XMLСтрока(РабочийПроцесс.MainPort);
       СоединениеСРабочимПроцессом = Соединитель.ConnectWorkingProcess(АдресРабочегоПроцесса);
       //получаем все инфобазы
       ИнформационныеБазы = СоединениеСРабочимПроцессом.GetInfoBases();
       ИнформационнаяБаза = ИнформационныеБазы.GetValue(ИнформационныеБазы.GetUpperBound()); // последняя информационная база
       СоединениеСРабочимПроцессом.AddAuthentication("111", "111");
       
       // Создать объект нужной информационной базы.
       ИнформационнаяБаза = СоединениеСРабочимПроцессом.CreateInfoBaseInfo();
       ИнформационнаяБаза.Name = "test111";
       ИнформационнаяБаза.ScheduledJobsDenied = Истина; // вот здесь проблема!!!!!!!!!!!!!!!!!!
       // Получить соединения базы.
       СоединенияБазы = СоединениеСРабочимПроцессом.GetInfoBaseConnections(ИнформационнаяБаза);
       //СоединенияБазы = ПолучитьСеансыИнформационнойБазы();
       
       // Разорвать соединения клиентских приложений.
       Для Каждого Соединение Из СоединенияБазы Цикл
           СоединениеСРабочимПроцессом.Disconnect(Соединение);
       КонецЦикла;
   КонецЦикла;
1 evorle145
 
03.06.13
12:10
То есть когда отладчиком иду, то здесь присваивается истина ИнформационнаяБаза.ScheduledJobsDenied = Истина;
Но когда захожу в администрирование 1с, то там в свойствах базы галочка не стоит!
2 evorle145
 
03.06.13
12:12
Смысл кода в том, чтобы найти нужную базу, сбросить все сеансы ( это работает) и установить программно галку блокировка регл заданий ( это не работает)
3 evorle145
 
03.06.13
12:17
Есть еще данные, что что-то не так. Когда я отладичиком дохожу до строки ИнформационнаяБаза.ScheduledJobsDenied = Истина;, то ИнформационнаяБаза.ScheduledJobsDenied ВСЕГДА равно Ложь, даже если я в ручную эту галку поставил
4 evorle145
 
03.06.13
12:25
(3) , с одной стороны это намек что я ставлю блокировку не той базе, а с другой пользователей то эта обработка выгоняет из нужной базы!!
5 evorle145
 
03.06.13
12:38
я кажется понял в чем дело.. ИнформационнаяБаза - это немного другое..
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший