![]() |
![]() |
![]() |
|
v8: Блокировка регламентных заданий программно | ☑ | ||
---|---|---|---|---|
0
zzerro
09.02.10
✎
10:59
|
Собственно вопрос: Как программно заблокировать и разблокировать все регламентные задания.
|
|||
1
Maxus43
09.02.10
✎
11:09
|
серверный вариант? в нем можно через консоль (т.е. програмно ставим галку блок регл заданий, указываем время начала и конца)
|
|||
2
zzerro
09.02.10
✎
11:14
|
(1) Да, серверный вариант. А можно с примером, как установить программно эту галку?
|
|||
3
zzerro
09.02.10
✎
11:20
|
А если просто запретить использование всех регламентных заданий, это ведь будет аналогично их блокировке?
Например так: ВсеРегламентныеЗадания = РегламентныеЗадания.ПолучитьРегламентныеЗадания(); Для каждого РегламентноеЗадание из ВсеРегламентныеЗадания Цикл РегламентноеЗадание.Использование = Ложь; КонецЦикла; |
|||
4
Maxus43
09.02.10
✎
11:21
|
Я бы сделал лучше типовыми методами. лень искать, но глянь в типовых - установка блокировки соединений. там есть пример типовой. переделай только для регламентных
|
|||
5
zzerro
09.02.10
✎
11:24
|
(4) ща посмотрим, поищем
|
|||
6
73
09.02.10
✎
11:24
|
Информационная база (IInfoBaseInfo)
ScheduledJobsDenied (ScheduledJobsDenied) Использование: Чтение и запись. Описание: Тип: Булево. Признак блокировки выполнения регламентных заданий информационной базы. |
|||
7
zzerro
09.02.10
✎
12:58
|
(6) Спасибо, буду разбраться
|
|||
8
zzerro
09.02.10
✎
15:21
|
А если для файловой версии?
|
|||
9
zzerro
09.02.10
✎
15:33
|
А можно какой-нибудь простой рабочий пример скинуть, как установить программно ScheduledJobsDenied? а то что-то туго идет...
|
|||
10
Maxus43
09.02.10
✎
15:40
|
ты типовой вариант установки блокировки смотрел? там всё есть уже, для серверного по крайней мере
|
|||
11
zzerro
09.02.10
✎
15:55
|
(10)Что то у меня нет в типовой БП 1.6 такого
|
|||
12
Maxus43
09.02.10
✎
16:01
|
(11) сервис - установка блокировки соединений с инф базой
|
|||
13
Maxus43
09.02.10
✎
16:02
|
это обработка. в УПП и ЗУП есть, в бухии тоже должна быть
|
|||
14
Serg_1960
09.02.10
✎
16:06
|
(13) Не согласен. Имхо, в типовых есть блокировка соединений, но не используется ScheduledJobsDenied.
|
|||
15
Maxus43
09.02.10
✎
16:11
|
(14) данная обработка программно заполняет свойства инф базы в консоли сервера 1с. там есть галка - утановить блокировку регл заданий, а есть и установить блокировку соединений
|
|||
16
73
09.02.10
✎
16:21
|
На скорую руку, примерно так:
ИмяРабочегоПроцесса = "SERVER:1562"; ИмяБазы = "*******"; ИмяАдминаБД = "*******"; ПарольАдминаБД = "******"; Соединитель = Новый COMОбъект("V81.COMConnector"); СоединениеСРабочимПроцессом = Соединитель.ConnectWorkingProcess(ИмяРабочегоПроцесса); СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминаБД, ПарольАдминаБД); МассивОписанийБаз = СоединениеСРабочимПроцессом.GetInfoBases(); Для Каждого ОписаниеИБ из МассивОписанийБаз Цикл Если ОписаниеИБ.Name = ИмяБазы Тогда Прервать; КонецЕсли; КонецЦикла; ОписаниеИБ.ScheduledJobsDenied = Истина; СоединениеСРабочимПроцессом.UpdateInfoBase(ОписаниеИБ); |
|||
17
zzerro
09.02.10
✎
16:28
|
(15) Не знаю как у вас, а у меня обработка в сервис - установка блокировки соединений работает через УстановитьБлокировкуУстановкиСоединений(Блокировка)
|
|||
18
zzerro
09.02.10
✎
16:35
|
73, спасибо, попробу так сделать, потом напишу о результатах.
А взлетит если просто сделать как в (3)? |
|||
19
73
09.02.10
✎
16:40
|
Установка блокировки соединений и блокировки выполнения регламентных заданий - разные вещи.
Посмотри на ИТС. Вроде была внешняя обработка: "КонсольСервера1СПредприятия"(у меня сейчас нет ИТС под рукой). Она работала через COM. По поводу (3) ничего не скажу, не пробовал. |
|||
20
73
09.02.10
✎
16:43
|
(16)+ По хорошему, имя рабочего процесса тоже запросить надо. Порт другой может быть.
|
|||
21
zzerro
09.02.10
✎
16:47
|
Ну тут идея такая, на время выполнения перепроведения документов, хочу отрубить все регламентные задания, а потом, после выполнения, включить их снова.
|
|||
22
zzerro
09.02.10
✎
16:51
|
Про GetInfoBases() написано следующее:
Получает массив информационных баз, зарегистрированных в кластере серверов. Для выполнения не требуется аутентификации. При этом у информационной базы можно получить только значения свойств Name и Descr. Что то меня смущает последнее предложение в описании |
|||
23
73
09.02.10
✎
17:22
|
(22) Что смущает? Для того в (16) и есть аутентификация, чтобы не только Name и Descr было.
|
|||
24
zzerro
09.02.10
✎
17:33
|
Просто СП не написано, что при аутентификации все будет доступно
|
|||
25
zzerro
09.02.10
✎
17:35
|
А для файловой достаточно ли ОтключитьОбработчикОжидания("ПоддержкаРегламентныхЗаданиеДляФайловойВерсии")?
|
|||
26
73
09.02.10
✎
17:42
|
(24) Написано, но в другом месте:
Информационная база (IInfoBaseInfo) ........... Уже заполненные объекты могут быть получены методом GetInfoBases. В последнем случае для чтения значений всех их свойств, кроме Name, необходимы административные права. (25) А чего не попробовать (3) ? |
|||
27
zzerro
09.02.10
✎
17:47
|
Обязательно попробую оба варианта, но наверно уже не сегодня. Сначала напишу все, для обоих вариантов, а потом буду проверять что как работает
|
|||
28
zzerro
10.02.10
✎
13:04
|
В общем попробовал работу обоих вариантов. Что могу сказать, работает... Причем (3) работает как для серверного так и для файлового варианта. Наверно на нем и остановлюсь так как проще реализовывается.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |