Завершение работы пользователей регламентным заданием




Обработка «Завершение работы пользователей» позволяет завершить работу пользователей регламентным заданием, используются механизмы типовых конфигураций. Может быть полезна администраторам информационных систем на платформе 1С.

В процессе эксплуатации информационных систем на платформе 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. Для файловых баз не работает.

16 Comments

  1. OlegBog1971

    Добрый день.

    Скачали вашу обработку для тестирования.

    1С:БП 3.0, платформа 3.10.2168 база SQL — не работает.

    Ошибка следующая …

    {ОбщийМодуль.АдминистрированиеКластераCOMКлиентСервер.Модуль(1075)}: Ошибка при вызове метода контекста (Authenticate)

    СоединениеСАгентомСервера.Authenticate(Кластер, ИмяАдминистратораКластера, ПарольАдминистратораКластера);

    по причине:

    Произошла исключительная ситуация: Ошибка операции администрирования

    Администратор кластера не аутентифицирован

    Не нашел в вашей обработке где указать администратора кластера и пароль.

    Reply
  2. user730384

    нужно пустые логин и пароль

    Reply
  3. OlegBog1971

    (2) ну это же есть не хорошо, чтобы админ кластера был пустой … это требование безопасности …

    лучше добавьте возможность, чтобы можно было указать имя и пароль админа кластера

    Reply
  4. ВикторП

    Добрый день!

    В вашей информационной базе не заполнена константа Параметры администрирования ИБ . Обработка все нужные для запуска данные получает из этой константы. Самый простой способ — запустить обработку Блокировка работы пользователей.

    Путь к этой обработка следующий — Администрирование- Поддержка и обслуживание — Блокировка работы пользователей — будет экран Блокировка работы пользователей — здесь кнопка — Снять блокировку- следующий экран — Управление блокировкой сеансов- здесь Вы указываете администратора информационной базы и параметры администрирования кластера . Кнопка ОК, чтобы записать данные.

    В справке к встроенной обработке так же есть нужная информация.

    Если не получится , напишите , приложу рисунки с копиями экранов.

    Reply
  5. OlegBog1971

    (4) приложите плиз. рисунки с копиями экранов

    Reply
  6. ВикторП

    Прикладываю копии экранов.

    На первом рисунке показано как «добраться» до обработки Блокировка работы …

    На втором рисунке показана кнопка, на которую надо нажать

    На третьем рисунке экран, где нужно заполнить реквизиты .

    Для записи данных кнопка ОК.

    по кнопке с вопросительным знаком вызывается справка, часть которой показана на последнем четвертом рисунке.

    Reply
  7. AKV77

    Спасибо.

    Reply
  8. user1180797

    (6)Выходит ошибка В сервере кластеров :1541 не найдена информационная база. Подскажите в чем может быть проблема

    Reply
  9. ВикторП

    (8) При этом база есть?

    Reply
  10. user1180797

    (9)база есть,она на sql,есть кластер. Мне кажется,что обработка не получает ИмяВКластере или оно как-то неправильно заполняется

    Reply
  11. ВикторП

    Там все не очень сложно и все прозрачно.

    Вопросы к вам

    1.Обработка Блокировка работы пользователей в этой базе работает?

    2. Из этой обработки Завершение по кнопке работает?

    3. Вас нет в списке загрузивших обработку. Каким образом Вы ее получили?

    Reply
  12. user1180797

    (11)Я пытаюсь заблокировать пользователей стандартным механизмом блокировки Администрирование-Обслуживание-Блокировка пользователей, как в комментарии (6)

    Reply
  13. ВикторП

    Что не получилось?

    Reply
  14. user1180797

    не получается

    Reply
  15. user1180797

    (13)не получается

    Reply
  16. ВикторП

    Рисунок-Информацию о программе можете приложить?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *