В процессе эксплуатации информационных систем на платформе 1С часто возникает задача по завершению работы пользователей для выполнения различных регламентных работ. В конфигурациях 1С есть обработка для блокировки работы пользователей. Эта встроенная обработка послужила шаблоном для создания обработки для завершения работы пользователей по расписанию.
Обработка оформлена в виде внешней обработки , подключается в справочнике Дополнительные отчеты и обработки. Содержит две команды.
Первая команда -для работы в интерактивном режиме . Форма обработки выглядит просто — всего две кнопки
Так как обработка в процессе работы создает Comconnector, в информационной базе пришлось создать пользователеля без защиты от опасных действий. Ниже на рисунке указан этот реквизит
Этого же пользователя надо указать в настройке регламентного задания для запуска обработки по расписанию- это- Администрирование- Поддержка и обслуживание — Регламентные и фоновые задания — найти в списке рег заданий Дополнительная обработка : Завершение работы пользователей/ Команда : Завершение работы пользователей
Ниже исходный код команды , которая выполняется в интерактивном режиме.
&НаКлиенте
Процедура Завершить(Команда)
Если Не ЭтоФайловаяБаза() Тогда
ПараметрыАдминистрирования=ПараметрыИБ();
ПодстрокиСтрокиСоединения = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СтрокаСоединенияИнформационнойБазы(),";");
Если ПодстрокиСтрокиСоединения.Количество()> 1 и Лев(ПодстрокиСтрокиСоединения[0], 5) = "Srvr=" и Лев(ПодстрокиСтрокиСоединения[1], 4) = "Ref=" Тогда
ИмяСервера = Сред(ПодстрокиСтрокиСоединения[0],7, СтрДлина(ПодстрокиСтрокиСоединения[0]) - 7);
ИмяИБ = Сред(ПодстрокиСтрокиСоединения[1],6, СтрДлина(ПодстрокиСтрокиСоединения[1]) - 6);
Если ПараметрыАдминистрирования.АдресАгентаСервера<>ИмяСервера Тогда
ПараметрыАдминистрирования.АдресАгентаСервера=ИмяСервера;
КонецЕсли;
Если ПараметрыАдминистрирования.ИмяВКластере<>ИмяИБ Тогда
ПараметрыАдминистрирования.ИмяВКластере=ИмяИБ;
КонецЕсли;
КонецЕсли;
СоединенияИБКлиентСервер.УдалитьВсеСеансыКромеТекущего(ПараметрыАдминистрирования);
СоединенияИБКлиент.СохранитьПараметрыАдминистрирования(Неопределено);
СоединенияИБКлиент.ЗавершитьРаботуЭтогоСеанса();
Иначе
Сообщить("Для файловой базы не работает!");
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПараметрыИБ()
Возврат Константы.ПараметрыАдминистрированияИБ.Получить().Получить();
КонецФункции
&НаСервере
Функция ЭтоФайловаяБаза()
Возврат ОбщегоНазначения.ИнформационнаяБазаФайловая();
КонецФункции
Обработка проверялась на типовых конфигурациях Зарплата и управление персоналом 3.1 (3.1.2.154) и Бухгалтерия предприятия 3.0 (3.0.48.21) , на платформе 8.3.9.2170. Для файловых баз не работает.
Добрый день.
Скачали вашу обработку для тестирования.
1С:БП 3.0, платформа 3.10.2168 база SQL — не работает.
Ошибка следующая …
{ОбщийМодуль.АдминистрированиеКластераCOMКлиентСервер.Модуль(1075)}: Ошибка при вызове метода контекста (Authenticate)
СоединениеСАгентомСервера.Authenticate(Кластер, ИмяАдминистратораКластера, ПарольАдминистратораКластера);
по причине:
Произошла исключительная ситуация: Ошибка операции администрирования
Администратор кластера не аутентифицирован
Не нашел в вашей обработке где указать администратора кластера и пароль.
нужно пустые логин и пароль
(2) ну это же есть не хорошо, чтобы админ кластера был пустой … это требование безопасности …
лучше добавьте возможность, чтобы можно было указать имя и пароль админа кластера
Добрый день!
В вашей информационной базе не заполнена константа Параметры администрирования ИБ . Обработка все нужные для запуска данные получает из этой константы. Самый простой способ — запустить обработку Блокировка работы пользователей.
Путь к этой обработка следующий — Администрирование- Поддержка и обслуживание — Блокировка работы пользователей — будет экран Блокировка работы пользователей — здесь кнопка — Снять блокировку- следующий экран — Управление блокировкой сеансов- здесь Вы указываете администратора информационной базы и параметры администрирования кластера . Кнопка ОК, чтобы записать данные.
В справке к встроенной обработке так же есть нужная информация.
Если не получится , напишите , приложу рисунки с копиями экранов.
(4) приложите плиз. рисунки с копиями экранов
Прикладываю копии экранов.
На первом рисунке показано как «добраться» до обработки Блокировка работы …
На втором рисунке показана кнопка, на которую надо нажать
На третьем рисунке экран, где нужно заполнить реквизиты .
Для записи данных кнопка ОК.
по кнопке с вопросительным знаком вызывается справка, часть которой показана на последнем четвертом рисунке.
Спасибо.
(6)Выходит ошибка В сервере кластеров :1541 не найдена информационная база. Подскажите в чем может быть проблема
(8) При этом база есть?
(9)база есть,она на sql,есть кластер. Мне кажется,что обработка не получает ИмяВКластере или оно как-то неправильно заполняется
Там все не очень сложно и все прозрачно.
Вопросы к вам
1.Обработка Блокировка работы пользователей в этой базе работает?
2. Из этой обработки Завершение по кнопке работает?
3. Вас нет в списке загрузивших обработку. Каким образом Вы ее получили?
(11)Я пытаюсь заблокировать пользователей стандартным механизмом блокировки Администрирование-Обслуживание-Блокировка пользователей, как в комментарии (6)
Что не получилось?
не получается
(13)не получается
Рисунок-Информацию о программе можете приложить?