Перейти к содержимому


Услуги программиста 1С
Профессиональные программисты 1С.
Весь комплекс услуг сопровождения 1С.

Курсы 1С
Бухгалтерам, менеджерам
и программистам.
Бесплатно!
Живое индивидуальное обучение по 1С.

Как запретить пользователям входить в 1С?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 13

#1   Kazimar

Kazimar

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 136
    • Регистрация: 04-February 09
    • Откуда: , ,

Отправлено 30 August 2010 - 10:26

Всем привет!!! Проблема в следующем. На предприятии около 25 пользователей работает в базе. Когда обновляюсь - отсылаю им сообщения и их выбрасывает. НО, всегда найдется трудоголик которому горит и не терпится зайти в 1С поработать. И очень часто блокируют меня, не дают монопольно зайти или оставляют 1С на моменте авторизации. Только позвониш скажеш, уже другой кто-то лезет. Мне нужно чтоб пока я не дам доступ никто не мог даже авторизацию запустить. Может кто-то сталкивался и знает возможные способы решения данной проблемы - будут очень признателен.

Может быть взаламать что-то в 1С?...

  • 0

#2   pak

pak

      Генерал-майор

    • Модераторы
    • Сообщений: 340
    • Регистрация: 02-February 09
    • Откуда:Солнечный Крым

Отправлено 30 August 2010 - 10:52

Чтоб не дать никомо зайти - блокировать самому, монопольным режимом.
А вот авторизация....
Только что придумал:
Измените путь к базе было- "с:\база" стало - "с:\база1111"
Подключаетесь по новому пути и спокойно работаете.
Никто из пользователей не дойдет до авторизации.
Закончите - вернете взад )))

ЗЫ:
Хотя есть еще вариант для джедаев - напишите собственный "лаунчер" для 1с. И замените у всех стандартный на свой. А уж в собственном проверяйте блокировки как душе угодно.

  • 0

#3   Kazimar

Kazimar

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 136
    • Регистрация: 04-February 09
    • Откуда: , ,

Отправлено 30 August 2010 - 11:10

pak Идея прикольная)
Попробую)
Спасибо!
  • 0

#4   Polukuzov

Polukuzov

      Генерал-майор

    • Пользователи
    • PipPipPipPipPipPipPip
    • Сообщений: 324
    • Регистрация: 23-April 08
    • Откуда: , ,

Отправлено 31 August 2010 - 06:55

Вопрос выгнать пользователей неоднократно обговаривался на различных форумах и у нас тоже
как средствами 1с так и внешними модулями, но вопрос с диалогом авторизации действительно
проблематичен. Вопрос в открытии на чтение файла users.usr, а для монопольного режима его нужно
заблокировать.

Добавлено (31.08.2010, 07:55)
---------------------------------------------

Quote
Измените путь к базе было- "с:\база" стало - "с:\база1111"
Подключаетесь по новому пути и спокойно работаете.
Никто из пользователей не дойдет до авторизации.
Закончите - вернете взад )))

Когда открыт хотя бы один из файлов в этой папке - переименовать не получиться, а если ты первый
монопольно то это уже не нужно.
  • 0

#5   AgA

AgA

      Генерал-майор

    • Пользователи
    • PipPipPipPipPipPipPip
    • Сообщений: 276
    • Регистрация: 07-November 09
    • Откуда:Харьков , Харьковская Область , Украина

Отправлено 01 September 2010 - 19:30

1. Я для файловых версий делал так. менял путь к каталогу. Пользователь не зайдет в каталог которого нет(он изменен). затем вернуть назад.
2. Была встроенная обработка для отключения пользователей. Нажимаю отключить и у всех закрываются режимы. Но она работает на 90%. Если кто нибудь ушел а для закрытия нужно нажать ДА эта обработка может не сработать.
  • 0

#6   Polukuzov

Polukuzov

      Генерал-майор

    • Пользователи
    • PipPipPipPipPipPipPip
    • Сообщений: 324
    • Регистрация: 23-April 08
    • Откуда: , ,

Отправлено 02 September 2010 - 10:06

У меня обработка вікидівала всех кроме тех кто заблокировал окно 1с, на тех такая уловка не работает.
  • 0

#7   MaxxaM

MaxxaM

      Лейтенант

    • Пользователи
    • PipPip
    • Сообщений: 54
    • Регистрация: 15-October 07
    • Откуда:, ,

Отправлено 02 September 2010 - 22:08

Ну проблему с кнопкой "ДА" можно бороться
Code
ЗавершитьРаботуСистемы(0);

а вот с авторизацией только отстрелом пользователей от сервера через пуск/панель управление/администрирование/Общие папки/сеансы (там же смотрим кто завис на авторизации) cool
  • 0

#8   Kazimar

Kazimar

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 136
    • Регистрация: 04-February 09
    • Откуда: , ,

Отправлено 07 September 2010 - 13:04

Вот нашел програмульку, которая патчет 1С. Устанавливаете ее на всех компах и все.
http://infostart.ru/public/14593/

Сам проверил, все работает отлично
Не дает пользователю даже открыть авторизацию!

  • 0

#9   y307

y307

      Рядовой

    • Пользователи
    • Сообщений: 2
    • Регистрация: 04-January 10
    • Откуда:Киев , Киев , Украина

Отправлено 16 September 2010 - 13:06

Я реализовал следующий вариант:

1.Создал глобальную константу текстовую константу "ЗакрытьПрограмму"
в которую под админом записываю количество минут до закрытия
2.В глоб.модуле активировал ф-цию ОбработкаОжидания("ПросмотрБлокнота",20);
3.В ф-ции ПросмотрБлокнота дописал
...
ТекЗнач=СокрЛП(Константа.ЗакрытьПрограмму);
Если ПустоеЗначение(ТекЗнач)=0 Тогда
ЧЧ=0; ММ=0; СС=0;
ТекущееВремя(ЧЧ,ММ,СС);
ТекВремя=ЧЧ*3600+ММ*60+СС;
Поз=Найти(ТекЗнач,":");
Если Поз=0 Тогда
НовЗнач=ТекЗнач+":"+Строка(ТекВремя);
Константа.УстановитьАтрибут("ЗакрытьПрограмму",НовЗнач);
Иначе
Ожидание=Число(Лев(ТекЗнач,Поз-1))*60;
Старт=Число(Прав(ТекЗнач,СтрДлина(ТекЗнач)-Поз));
Ост=Старт+Ожидание-ТекВремя;
Если Ост<=0 Тогда
Если НазваниеНабораПрав()<>"Администратор" Тогда
Предупреждение("Ваше время истекло!",10);
ЗавершитьРаботуСистемы(0);
КонецЕсли;
Иначе
Предупреждение("До закрытия системы осталось "+Строка(Ост)+" сек.!",5);
КонецЕсли;
КонецЕсли;
КонецЕсли;
...
4.В самом конце гл.модуля дописал
...
//отрабатывает при входе в систему
Если (НазваниеНабораПрав()="Администратор") Тогда
Если (ПустоеЗначение(Константа.ЗакрытьПрограмму)=0) Тогда
Если Вопрос("Сбросить режим закрытия программы?",4)=6 Тогда
Константа.УстановитьАтрибут("ЗакрытьПрограмму","");
КонецЕсли;
КонецЕсли;
Иначе
Если ПустоеЗначение(Константа.ЗакрытьПрограмму)=0 Тогда
Предупреждение("Вход заблокирован администратором на 10 минут!",3);//чтобы не ломились без отдыха
ЗавершитьРаботуСистемы(0);
КонецЕсли;
КонецЕсли;
5.Для обхода запроса на закрытие программы переписал ф-цию
// ===============================
Процедура ПриЗавершенииРаботыСистемы()
//
Если ПустоеЗначение(Константа.ЗакрытьПрограмму)=1 Тогда
//
Если Вопрос("Вы действительно хотите выйти из программы?", "Да+Нет") = "Нет" Тогда
СтатусВозврата(0);
Возврат
КонецЕсли;
//
КонецЕсли;
//
...
...
КонецПроцедуры //ПриЗавершенииРаботыСистемы

  • 0

#10   Kazimar

Kazimar

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 136
    • Регистрация: 04-February 09
    • Откуда: , ,

Отправлено 16 September 2010 - 14:48

y307, ты вообще читал о чем тема хоть????
То, что ты "реализовал" итак всем извесно!
  • 0

#11   y307

y307

      Рядовой

    • Пользователи
    • Сообщений: 2
    • Регистрация: 04-January 10
    • Откуда:Киев , Киев , Украина

Отправлено 17 September 2010 - 02:14

читал, поэтому и нарисовал простой и всем извесный способ, позволяющий спокойно успеть зайти в монополный режим в 99,9 случаях, а патчить серьезный екзешник чужой прогой - это плохая идея
  • 0

#12   Kazimar

Kazimar

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 136
    • Регистрация: 04-February 09
    • Откуда: , ,

Отправлено 17 September 2010 - 09:19

1) Патчится не екзешник а seven.dll
2) Твой способ не решает проблему запрещения пользователям открывать даже авторизацию.
Потому что когда на предприятии в базе работают в среднем 35 челов то даже твой процент попадания в монопольный режим снижается с 99,9 до 40%. И даже если тебе и удалось зайти монопольно, любой юзер может открыть 1С на моменте авторизации и остановится там так как база занята. И когда только ты снимеш монопольный режим чтоб сохранить изменения он тебя заблокирует. И в мониторе ты не будеш видеть кто это. Вот тогда ты бы понял настоящую ценность написаной тобой выгонялки.
  • 0

#13   Polukuzov

Polukuzov

      Генерал-майор

    • Пользователи
    • PipPipPipPipPipPipPip
    • Сообщений: 324
    • Регистрация: 23-April 08
    • Откуда: , ,

Отправлено 17 September 2010 - 13:01

Kazimar
Абсолютно с тобой согласен. Еще больше добивает что кто-то не читая прошлые посты и не шарясь по другим сайтам что-то наваял и выдает что он реализовал универсальную панацею от какого-то гемороя. Я не принижаю его заслуг - молодец, но это как путь личного самосовершенства. Да еще обычно разработчики люди жадные и не часто деляться своими ноу-хау. Это ихний хлеб с маслом.
  • 0

#14   AgA

AgA

      Генерал-майор

    • Пользователи
    • PipPipPipPipPipPipPip
    • Сообщений: 276
    • Регистрация: 07-November 09
    • Откуда:Харьков , Харьковская Область , Украина

Отправлено 27 September 2010 - 15:30

Можно просто отключать доступ по сети к сетевому каталогу (для этого нужно работать на сервере). После решения проблемы включать. Это для файловой версии подойдет. Средствами 1с этот вопрос скорее всего не решается.
Можно каждому пользователю по записывать Лок файл в каталог написать "Батничек" а потом удалять. И всем будет говорить что каталог занят. А в реальной жизни только перезагрузка сервера может снять эту проблему.
  • 0



Похожие темы

  Название темы Автор Статистика Последнее сообщение



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных