![]() |
![]() |
![]() |
|
Блокировка сеансов с информационной базой | ☑ | ||
---|---|---|---|---|
0
Joshim
01.03.13
✎
11:45
|
Запускаю обработку, которая должна заблокировать новые сеансы с информационной базой:
Server1CName = "ServName"; InfoBaseName = "BaseName"; InfoBaseUserName = "UserName"; InfoBaseUserPassword = "UserPassword"; COMConnector = Новый COMОбъект("V82.COMConnector"); AgentConnection = COMConnector.ConnectAgent(Server1CName); Для Каждого Cluster Из AgentConnection.GetClusters() Цикл AgentConnection.Authenticate(Cluster, "", ""); Для Каждого WorkingProcess Из AgentConnection.GetWorkingProcesses(Cluster) Цикл Если WorkingProcess.Running <> 1 Тогда Продолжить; КонецЕсли; СтрПодкл = "tcp://" +Server1CName + ":" + Формат(WorkingProcess.MainPort, "ЧГ="); WorkingProcessConnection = COMConnector.ConnectWorkingProcess(СтрПодкл); Для Каждого InfoBaseInfo Из WorkingProcessConnection.GetInfoBases() Цикл Если InfoBaseInfo.Name <> InfoBaseName Тогда Продолжить; КонецЕсли; WorkingProcessConnection.AddAuthentication(InfoBaseUserName, InfoBaseUserPassword); InfoBaseInfo.DeniedFrom = ТекущаяДата(); InfoBaseInfo.DeniedTo = ТекущаяДата() + 3600; InfoBaseInfo.DeniedMessage = "Регламентное обсл"; //InfoBaseInfo.DeniedParameter = ; InfoBaseInfo.PermissionCode = "123"; InfoBaseInfo.SessionsDenied = 1; Сообщить("Блокировка сеансов ИБ установлена. UC = " + InfoBaseInfo.PermissionCode); КонецЦикла; КонецЦикла; КонецЦикла; Код выполняется успешно, но блокировка не устанавливается! |
|||
1
Joshim
01.03.13
✎
11:45
|
Как установить блокировку?
|
|||
2
Maxus43
01.03.13
✎
11:46
|
а по православному не хочешь? УстановитьБлокировкуСеансов
|
|||
3
Maxus43
01.03.13
✎
11:47
|
Блокировка = ПолучитьБлокировкуУстановкиСоединений();
// Используя код разрешения можно будет подключиться к базе // при установленной блокировке Блокировка.КодРазрешения = "КодДоступа"; Блокировка.Начало = ТекущаяДата() - 1; Блокировка.Конец = ТекущаяДата() + 100; // Текст сообщения, который будет отображаться при попытке соединения Блокировка.Сообщение = "ТекстСообщения"; Блокировка.Установлена = Истина; УстановитьБлокировкуУстановкиСоединений(Блокировка); |
|||
4
Joshim
01.03.13
✎
11:49
|
(2) хочу. этот путь мне не подходит, так как этот код потом перенесу в другой язык разработки, а там методы 1С не работают
|
|||
5
Maxus43
01.03.13
✎
11:58
|
попробуй UpdateInfoBase(InfoBaseInfo)
|
|||
6
Maxus43
01.03.13
✎
11:59
|
AgentConnection.UpdateInfoBase(InfoBaseInfo)
|
|||
7
Maxus43
01.03.13
✎
11:59
|
тьфу, WorkingProcessConnection.UpdateInfoBase(InfoBaseInfo)
|
|||
8
Joshim
01.03.13
✎
12:06
|
(7) да так работает. Ценная информация! Откуда тут все знают?)
|
|||
9
Maxus43
01.03.13
✎
12:09
|
(9) открою секрет, я не знал до сего момента. Но посмотрев в СП и набрав 1 строку в гугле - я понял.
|
|||
10
Maxus43
01.03.13
✎
12:10
|
Опыт не в том, чтобы наизусть всё знать, а в том как быстро найти и понять...
|
|||
11
Maxus43
01.03.13
✎
12:27
|
(7) + это кстати скорее фича, в СП написано что обновлять можно только Descr у базы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |