Отключение пользователей встроенными функциями


Что может быть лучше обработок или процедур отключения непослушных пользователей из базы?
Наверное, какая-то встроенная вещь!
Надо бы ей воспользоваться.

Laughing

8.1

Создаем ярлык. Назовем его: Отключение или Завершение.
«C:Program Files1cv81in1cv8.exe»  ENTERPRISE /F»ПутьКБазе» /N»Юзер» /P»ЕгоПароль» /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

При этом произойдет запуск программы под админскими правами пользователя , а на экране других выйдет сообщение, оповещающее об отключении. Сам пользователь отключится тоже через 60 сек.
Ага, пользователи отключились, можно все что угодно делать с базой. А если кому-то нетерпится и начинает запускать 1С, то что будет? А его просто программа не пустит.
Что делаем?

Создаем ярлык. Назовем его: Разрешить
«C:Program Files1cv81in1cv8.exe»  ENTERPRISE /F»ПутьКБазе» /N»Юзер» /P»ЕгоПароль» /WA- /AU- /DisableStartupMessages /C РазрешитьРаботуПользователей /UC ПакетноеОбновлениеКонфигурацииИБ

Все. Теперь можно всем работать!

Smile

8.2

Отключалка

«C:Program Files1cv82common1cestart.exe» ENTERPRISE /F»ПутьКБазе» /N»Юзер» /P»ЕгоПароль» /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

Включалка

«C:Program Files1cv82common1cestart.exe» ENTERPRISE /F»ПутьКБазе» /N»Юзер» /P»ЕгоПароль» /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения

 

Это работает для фалового варианта.

Для серверного меняем /Fна /S

Кста, работающие пользователи автоматически включаться в работу

Замечено, если у пользователей закрывается 1С с запросом завершения работы, то в 8.2 будет окно это маячить :-(…. пока думаю над этим.

Всем огромный фэнкс!

67 Comments

  1. WKBAPKA

    я не знал о такой фиче

    Reply
  2. WKBAPKA

    это для файлового варианта… а для серверного?

    Reply
  3. anig99

    Вообще есть пункт меню в сервисе «Установить блокировку подключения к базе».

    Выгоняет пользователей.

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

    Reply
  4. Abadonna

    хм… прям удивительно (1) неужели действительно не знал?

    Reply
  5. WKBAPKA

    2(4): вот те крест!

    Reply
  6. WKBAPKA

    так всеже, для серверного варианта что то есть похожее?

    Reply
  7. Einzelhaft

    (6) Для серверного вместо ключа /F пиши ключ /S

    Reply
  8. WKBAPKA

    2(7): спасибо. вроде работает

    Reply
  9. Einzelhaft

    (6) Для серверного вместо ключа /F пиши ключ /S

    например «C:Program Files1cv81in1cv8.exe» ENTERPRISE /S<ИмяСервераSql><ИмяБазыНа1ССервере> /N <имя> /P <пароль> /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

    единственное что мне неясно — что делает ключ /AU- 🙁

    Reply
  10. Alex39

    «C:Program Files1cv81in1cv8.exe» ENTERPRISE /F Пала1 /N Александр /P 123 /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

    Как-то не получилось. ни просто с названием базы, ни когда путь прописывал. Наименование пользователя Александр пароль 123. Выдаёт сообщение: информационная база не обнаружена. Создать новую?

    Reply
  11. Einzelhaft

    (10) Путь заключай в кавычки (если длинные названия) и без пробелов

    например

    «C:Program Files (x86)1cv81in1cv8.exe» ENTERPRISE /SSQLSRVMyDB /NАдминистратор /P123 /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

    или

    «C:Program Files (x86)1cv81in1cv8.exe» ENTERPRISE /FD:FileBasesmyDB /NАдминистратор /P123 /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

    Reply
  12. SergeyTY

    круть. а для семерки есть подобная штучка?

    Reply
  13. demo-05

    ❗ Да, спасибо за комменты и плюсики.

    Ну,

    во-первых: фича расчитана для удобства администрирования, поэтому я не писал про пункт меню…

    Во-вторых: правильно заметили — это для файлового варианта. Обязательно подправлю

    /AU — запрет вывода вопроса об обновлении текущей версии 1С:Предприятия с административной установки (для базовых версий не используются).

    Reply
  14. Abadonna

    (5)

    вот те крест!

    Стало быть не занимался обменами.

    Сервис-Прочие обмены данными- Настройка выполнения обменов…

    Ежели есть хоть одна настройка

    Действия — Настройка обновления конфигурации

    оно тебе автоматически построит:

    REM Путь к файлу для ошибок и сообщений
    set FileInformation=»»
    
    date /t >> %FileInformation%
    time /t >> %FileInformation%
    set DataBaseName>>%FileInformation%
    
    rem Завершение работы пользователей
    start «» /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% /CЗавершитьРаботуПользователей /UCПакетноеОбновлениеКонфигурацииИБ /Out%FileInformation% -NoTruncate /DisableStartupMessages
    
    start «» /wait %v8exe% CONFIG     %DataBase% %AdminUser% /UpdateDBCfg /UCПакетноеОбновлениеКонфигурацииИБ /Out%FileInformation% -NoTruncate
    
    rem Разрешение работы пользователей
    start «» /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% /CРазрешитьРаботуПользователей /UCПакетноеОбновлениеКонфигурацииИБ /Out%FileInformation% -NoTruncate /DisableStartupMessages
    
    rem Запуск самой программы
    start «» %v8exe% ENTERPRISE %DataBase% %User%  /DisableStartupMessages
    

    Показать

    P.S. Вот тут правильная настройка обмена, когда периферия, при необходимости, обновляет свою конфигурацию вслед за центральной

    Reply
  15. Yackov

    А вот если баз много, то как быть? Если ярлычков не напасешься, то как? 😎

    Reply
  16. Abadonna

    (15) Сходи куда-нибудь в партком, они раньше мастера ярлыки вешать были 🙂

    Reply
  17. alexk-is

    (15) Вот эта штука http://www.infostart.ru/public/19363/ настрогает таких скриптов сколько хочешь. Только глочками выбери базы для которых сделать скрипты.

    Reply
  18. iov

    (14) P.S. Вот тут правильная настройка обмена, когда периферия, при необходимости, обновляет свою конфигурацию вслед за центральной

    Там наверно ссылочка должна быть?

    Reply
  19. Abadonna

    (18)

    Там наверно ссылочка должна быть?

    На что????

    Reply
  20. iov

    (19) на правильную настройку обмена , когда периферия, при необходимости, обновляет свою конфигурацию вслед за центральной 🙂 Может я неправильно понял — тогды извиняйте.

    Reply
  21. Abadonna

    (20) Поясняю: центральная база может иметь дурную привычку взять да обновиться злобным, например, франчем 😉 Изменились реквизиты объектов, добавились новые… да мало ли! В правильном обмене париться с обновлением периферийной базы не придется, она получит от центральной информацию о том, что та изменилась, и сама обновится. Все это предусмотрено штатными механизмами обмена восьмерки

    Reply
  22. iov

    (21) а вот теперь все ясно. 🙂 а я надеялся сохранить что нить умное для балбеса админа а то в отпуск спокойно не сходить 😥

    Reply
  23. a-novoselov

    а как ты повисшие сессии такой штукой отключишь? Еще один батник для перезапуска сервера?)

    Reply
  24. iov

    (23) Хм на то они и повисшие, чтобы жизнь была веселее.

    Reply
  25. Андроид

    Ставлю +

    Но есть проблемка Имя пользоветеля состоит из 3 слов..

    Подставляет только первое…

    Reply
  26. lookindenis

    (12)

    то-же хотелось бы услышать ответ =)

    повторюсь: «а для семерки есть подобная штучка?»

    Reply
  27. Sherlock99

    Я в семерке писал обработчикОжидания, который проверял константу на завершение работы. Если константа была равна Да (1), то три раза с интервалом в 30 сек пользователям выдается предупреждение о необходимости завершить работу. Если они ее не успевали за это время заврешить, 1С закрывалась сама. При открытии же, проверялась константа на заврешение, если она равна Да (1), то 1С сразу же закрывается

    Reply
  28. Abadonna

    Забавно, но вот тут http://infostart.ru/public/21720/ изложено практически то же самое, опубликовано аж 12.08.2009, но плюсиков всего 3.

    Похоже, надо еще со временем публикации угадать 😀

    Reply
  29. w-divin

    (28)

    Главная → Каталог

    Каталог

    Публикация удалена

    Reply
  30. Abadonna

    (29) Очень интересно 😮 Вчера утром (02.10.10) она была на месте и плюсиков было 3, сейчас плюсиков 4 и удалена.

    Кстати, четвертый плюс от lookindenis (коммент 26)

    Reply
  31. Nuuq
    Ставлю +

    Но есть проблемка Имя пользоветеля состоит из 3 слов..

    Подставляет только первое…

    Дело в том, что в твоем случае значение параметра (имя пользователя) помимо одного слова включает еще и другие символы (пробелы,скобки, может даже еще буквы…) — значит в данном случае параметр (имя пользователя) нужно указывать в кавычках + параметры, которые не нужны (пароль) не указывать вообще, т.е. вот так (обрати внимание на параметр /N чего тока тут нет, запятых еще не хватает :))

    «C:Program Files1cv81in1cv8.exe» ENTERPRISE /FD:1cDemoAccounting /N»Иванов Иван Иванович (директор)» /WA- /AU- /DisableStartupMessages /CЗавершитьРаботуПользователей

    З.Ы.: а если ты где-то просто обновляешь базу, то лучше заходи под админом, у него логин как правило короткий да и прав хватит на все 🙂

    Reply
  32. acrk

    Попробовал. Выгнать — выгнала. А разрешить не получается — требует код разрешения.

    Reply
  33. nikitan

    (32)

    Как это не удивительно, но код доступа к базе «КодДоступа».

    Система такой ставит по умолчанию 😀

    Reply
  34. nikitan

    Код из типового ЗиУПа 2.5.27.5:

    // Устанавливает блокировку соединений ИБ.

    //

    // Параметры

    // ТекстСообщения – Строка – текст, который будет частью сообщения об ошибке

    // при попытке установки соединения с заблокированной

    // информационной базой.

    //

    // КодРазрешения — Строка — строка, которая должна быть добавлена к параметру

    // командной строки «/uc» или к параметру строки

    // соединения «uc», чтобы установить соединение с

    // информационной базой несмотря на блокировку.

    //

    // Возвращаемое значение:

    // Булево – результат завершения работы пользователей.

    //

    Процедура УстановитьБлокировкуСоединений(Знач ТекстСообщения = «»,

    Знач КодРазрешения = «КодРазрешения») Экспорт

    Блокировка = Новый БлокировкаУстановкиСоединений;

    Блокировка.Установлена = Истина;

    Блокировка.Начало = ТекущаяДата();

    Блокировка.КодРазрешения = КодРазрешения;

    Блокировка.Сообщение = СфомироватьСообщениеБлокировки(ТекстСообщения, КодРазрешения);

    УстановитьБлокировкуУстановкиСоединений(Блокировка);

    КонецПроцедуры

    В функции ОбработатьПараметрыЗапуска(), общего модуля УправлениеСоединениямиИБ, вызов процедуры УстановитьБлокировкуСоединений() производится без параметров, отсюда и следует (33)

    Автору топика потенциальный минус за такое!!!

    Нужно описывать все.

    Reply
  35. sgirg

    День добрый…. что то я никак не пойму куда вводить эту строку: «C:Program Files1cv81in1cv8.exe» ENTERPRISE /F <путь к базе> /N <имя> /P <пароль> /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

    В свойствах ярлыка в поле «Объект»???

    А все разобрался… по другому немного сделал…

    Reply
  36. bulpi

    Возможно, для автора я скажу новость… Но эта штука относится не к платформе, а к семейству типовых конфигураций. В которых написана фигова туча строчек кода для обработки параметра ЗавершитьРаботуПользователей. Об этом ОБЯЗАТЕЛЬНО нужно было написАть. И указать в описании не «Приложение для Windows для 1С: Предприятие 8.1; 1С: Предприятие 8.2 «, а конкретный список конфигураций. А так лично я зря потратил время на изучение этой статьи. Уж как-нибудь в СВОИХ конфигурациях я реализую эту штуку без помощи кого-бы то ни было.

    Reply
  37. VSvintsov

    попробовал на УТ 10.3 12.96 файловая и сервере Win2008

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

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

    В результате грохнул его сеанс через менеджер терм доступа — только тогда БД освободилась

    Reply
  38. Gribo

    завершить завершил, а вот разрешить не дает

    Reply
  39. Samir_2011

    Платформа 8.2, БП 2.0.

    Запрет: «C:Program Files1cv82common1cestart.exe» ENTERPRISE /F D:1CYear /N 111 /P 111 /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

    Разрешение: «C:Program Files1cv82common1cestart.exe» ENTERPRISE /F D:1CYear /N 111 /P 111 /WA- /AU- /DisableStartupMessages /C РазрешитьРаботуПользователей /UC КодРазрешения

    Работает, но вопрос на засыпку — при запрете окно программы сворачивается и войти нельзя никому, в том числе и админу, пока не разблокируешь. Как тогда войти в программу?

    Reply
  40. AntonH851

    А разве код разрешения не для этого предназначен?

    Reply
  41. mrdug

    А вот эта ошибка из-за чего возникает: Отсутствует файл базы данных «‘C:Documents/1Cv8.1CD'»?

    Reply
  42. Samir_2011

    Я так понял, что данный код позволяет входить администратору и выгонять всех пользователей, кроме себя — для проведения различного рода работ, там 1с обновить и так далее. Или она только для полного аввыгона людей из базы под ноль в том числе и администратора-инициатора?

    Reply
  43. swamp

    в файловом варианте ничего не произошло

    пользователь загрузился у меня, но у работающих пользователей никакой таблички не появилось

    Reply
  44. swamp

    виноват, произошло, только через некоторое время (секунд 15-30).

    так и должно быть?

    Reply
  45. briz

    (0) Администратор Кластера и Пароль Администратора Кластера должны быть заданы ?

    Reply
  46. Attest

    Полезная информация, спасибо, но использовать хочется интрумент посолиднее!

    Reply
  47. swamp

    а можно изменить текст на этом всплывающем сообщении?

    Reply
  48. Tpakmop

    Не работает, Ставлю так: «C:Program Files1cv828.2.14.533in1cv8.exe» ENTERPRISE /F «C:1С — ИБ1» /N «1» /P «1» /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

    Запускается 1С предприятие под данным пользователем и все, ни у кого не отрубается.

    Может я что-то не так делаю?

    Reply
  49. pandaa61

    «C:Program Files1cv828.2.14.533in1cv8.exe» ENTERPRISE /F «C:1С — ИБ1» /N «1» /P «1» /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

    Аналогично! Запускается база, подключенные пользователи продолжают работать, в чем дело не понимаю……

    Reply
  50. sinjevla

    Спасибо за подсказку, полезная информация, буду тестировать.

    Reply
  51. dim0n_la

    (49) pandaa61, (48) Tpakmop, может у вас конфа не типовая. В статье не заметил упоминания о том, что параметры «ЗавершитьРаботуПользователей» и «РазрешитьРаботуПользователей» должны обрабатываться в конфигурации специальным кодом вызываемым процедурой «ПриНачалеРаботыСистемы» в которую и передаются эти параметы в переменную ПараметрЗапуска. такой функционал есть в типовых, но в самописных конфигурациях его может и не быть. тогда никакие параметры не помогут.

    Reply
  52. SERJ_1CC

    Инетерсно, тоже не сталкивался, пригодится однозначно, разобраться надо только в работе

    Reply
  53. WWWolfy

    Можно просто создать 2 ярлыка 1С

    Копируем дважды ярлык 1С на раб. столе и переименовываем «Закрыть» и «Открыть».

    В свойствах ярлыка добавляем в поле Объект, чтобы выглядело так:

    «C:Program Files1cv82common1cestart.exe» /C ЗавершитьРаботуПользователей

    У второго ярлыка так:

    «C:Program Files1cv82common1cestart.exe» /C РазрешитьРаботуПользователей /UCКодРазрешения

    Ярлыки будут открывать и закрывать любые типовые базы.

    Reply
  54. nick_e

    Было бы удобно если бы все это было оформлено в виде галочек и переключателей в обработке, чтоб не прописывать настройки вручную.

    Reply
  55. Andle

    В УПП, при установленной настройке пользователя «спрашивать подтверждение при закрытии программы», чего-то это не срабатывает.

    Reply
  56. LimonkaRu

    мне нужно для батника, для периферийной базы, чтобы когда погржается конфиг из центральной — выгнать всех юзеров и подгрузить конфиг. первоначально был такой батник:

    @echo avtoobmen Noria2

    start «» /wait «c:Program Files (x86)1cv828.2.14.540in1cv8.exe» enterprise /F D:Base_1C111 /N Autoobmen /P 111 /Execute «d:ObrabotkaSeansa.epf»

    @echo end

    @echo avtoobmen Noria2

    start «» /wait «c:Program Files (x86)1cv828.2.14.540in1cv8.exe» CONFIG /F D:Base_1C111 /N Autoobmen /P 111 /UpdateDBCfg

    @echo end

    все работало, но батник закрывал только сеанс пользователя Autoobmen с помощью обработки ObrabotkaSeansa.epf, которая содержит в модуле объекта строку с кодом:

    ЗавершитьРаботуСистемы(Ложь);

    но появилась выгонять всех пользователей, а не только текущий сеанс закрывать, перед подгрузкой конфига

    так вот по вашим описанием у меня не работает строка в батнике:

    @echo avtoobmen Amplituda

    «C:Program Files (x86)1cv82common1cestart.exe» ENTERPRISE /F d:Base_1C111 /N Autoobmen /P 111 /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

    @echo end

    открывает 1С, выполняет автообмен, а вот ни свой, ни сеансы других пользователей не закрывает(((

    как быть?

    Win7

    КА 8.2, снята с поддержки с возможностью обновления

    Reply
  57. sip

    Открываетбазу под пользовалетем.ю которого надо закрыть и ошибка

    Параметр запуска ЗавершитьРаботуПользователей не отработан. Нет прав на администрирование информационной базы.

    Что можно сделать?

    Reply
  58. izz

    Спасибо за полезную информацию. Как раз пригодилось для написания батника для отключения пользователей в 1с 8.2! Теперь не надо утром ругать на пользователей, которые не вышли на ночь из базы (из-за них выгрузка базы не делалась).

    Reply
  59. krovohlebka

    и у нас не работает ключ ЗавершитьРаботуПользователей

    серверная версия

    в том числе в качестве ярлыка

    Reply
  60. OscarTT

    (57)

    Похоже и у нас те же грабли (((

    Reply
  61. artur_antipin

    УПП 1.3.25

    Не работает команда.

    А для выполнения этой команды нужна установка блокировки соединений?

    Reply
  62. zup_tptu
    «C:Program Files1cv82common1cestart.exe» ENTERPRISE /F»ПутьКБазе» /N»Юзер» /P»ЕгоПароль» /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения

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

    Как это лечится?

    Reply
  63. bayce

    Пароль пользователя хранить в батнике.

    В целях безопасности это правильно?

    Reply
  64. Nicholas

    Какие минимальные права должны быть у пользователя, от имени которого запускается 1С?

    Самый простой вариант дать этому пользователю полные права, но это не безопасно, т.к. тогда в открытом виде будут лежать данные пользователя с полными правами.

    Какие права нужно назначить, чтобы пользователь мог только завершать работу других пользователей, но не смог ничего посмотреть в программе?

    Reply
  65. Swetlana

    Благодарю

    Reply
  66. alexeyvs77

    Как ни пытался юзать выключалку — не работает. Просто открывает сеанс 1С под пользователем /N»Юзер» /P»ЕгоПароль», и все.

    Платформа 8.3.13.1513

    Reply
  67. rush47

    Подскажите, после выполнение bat файла, который включает строки:

    «C:Program Files (x86)1cv88.3.14.16301cv8.exe» ENTERPRISE /S»СерверБаза» /N»Юзер» /P»ЕгоПароль» /C ЗавершитьРаботуПользователей

    «C:Program Files (x86)1cv88.3.14.16301cv8.exe» DESIGNER /S»СерверБаза» /N»Юзер» /P»ЕгоПароль» /UCКодРазрешения /DumpIB «ИмяDt» /OUT «Лог»

    «C:Program Files (x86)1cv88.3.14.16301cv8.exe» ENTERPRISE /S»СерверБаза» /N»Юзер» /P»ЕгоПароль» /CРазрешитьРаботуПользователей /UCКодРазрешения

    на сервере 1С остаётся сеанс Юзера, его приходится завершать вручную, хочется чтобы скриптом, есть ли стандартные команды завершения сеанса конкретного пользователя ? кто-нибудь сталкивался с таким?

    Платформа 8.3.14.1630

    Reply

Leave a Comment

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