#0
by Алекс
1С- 20 релиз. Как выбросить нерадивых юзеров, находящихся в удаленном здании? Желательно средствами bat-файла?
#2
by romix
это подстава: :BEGIN IF EXIST RUNNER.BAT GOTO RUNNER GOTO BEGIN Бесконечный цикл, который жрет 100% ресурсов процессора. :-) На самом деле надо всем послать сообщение через net send, а потом старт-стоп SQL и отрубить оставшихся юзеров (тоже есть какая-то команда).
#3
by alxkorvin
А если у тебя на SQL крутится больше 1 базы? Отрубить оставшихся юзеров в смысле убить процесс 1cv7.exe? опять таки пострадяют все.
#4
by Кирил
Автоматическое завершение программы 1С для всех пользователей!!! Вставить в глобальный модуль эти строки: Идея не моя, но работает неплохо :) Если нужно выкинуть всех с 1С, просто ставишь в константе время, через которое 1С закроется у всех принудительно.
#5
by alxkorvin
А если пользователь после этого сразу запустит новую 1с? Например у меня в 1с 100 пользователей. 20 выходят, а в этот момент 1 успевает зайти :) После чего сбрасывает константу ДоЗавершенияРаботы, в результате чего все пользователи довольные заходят обратно :)
#7
by Кирил
Я зохожу в монитор, когда всех выбросит, сразу же захожу монопольно. Через 20 сек. будет выдоно сообщение, что программа будет закрыта через "" минут, если пользователь набирает документ и проигнорирует предупреждение, то документ не будет сохранён, если он проводит док в это время, то пока документ полностью не проведётся, программа не закроется. Никакого аварийного завершения не будет!
#8
by lexa
В процедуре ПриНачалеРаботыСистемы Константа.ДоЗавершенияРаботы=0, т.е. система только начала работать, а ДоЗавершенияРаботы 0 секунд, следовательно сразу работа завершается?
#9
by Warlock
У меня на большом предприятии специальный справочник сообщений. Помимо большого количества ф-ий, которые я напрограмил, там было завершение работы с указанием пользователя. Т.е. можно указать конкретного юзера и закрыть ему 1С-ку... Если поле юзер оставить пустым, то закроется 1С у всех, у кого ИмяНабораПрав <> "Администратор". Кстати, можно на время остановить службу NetHasp - на серваке 1С будет запускаться...
#10
by romix
Это будет работать, но только для тех пользователей, у кого не открыты модальные окна и не нажата кнопка Заблокировать. Хотя у меня так и сделано - совсем уж нерадивых, которые специально заблокировались, - раз два и обчелся. Их надо снимать рестартом SQL и съемом пользовательских подключений. А если цель сего мероприятия - сделать бэкап, то лучше всего делать его средствами SQL или (в случае DBF) копировать, а потом архивировать файлы DBF.
#11
by Кирил
Если ты установишь константу=1 минуте, через минуту у всех закроется 1С. Затем ты вносиь свои корректировки, запускаешь всех в 1С (константа=1) и снова все повылетают через 1 минуту, поэтому или при старте системы обнулить константу или самому быстро заходить и изменять константу на 0.
#12
by Алекс
Для Warlock_WW >>У меня на большом предприятии специальный справочник сообщений. Помимо >>большого количества ф-ий, которые я напрограмил, там было завершение работы с >>указанием пользователя. Т.е. можно указать конкретного юзера и закрыть ему 1С->>ку... Если поле юзер оставить пустым, то закроется 1С у всех, у кого >>ИмяНабораПрав <> "Администратор". А поподробнее? можно на мыло for_mula@mail.ru
#13
by bnik
А я сделал через внешний файл, причём обработка проверяет если у пользователя права администратора то она не выбрасывает. Если же другие права, то при повторном запуске 1С пользователя всё равно выбрасывает. Код по большей части похож как было предложено выше. Пользуюсь,- очень даже помогает, особенно когда кто-нибудь чай идёт пить.
#14
by Виталий
А как, чтобы "stop.bat user1 user2 ...userNN" и в базе кроме тебя никого !!! Было бы здорово!!!
#15
by Виталий
А как, чтобы "stop.bat user1 user2 ...userNN" и в базе кроме тебя никого !!! Было бы здорово!!!
#18
by Warlock
В Computer Management(Управление компьютером) System Tools/Shared Folders/Sessions найти подключения к нужной базе и отрубить их! Это один из вариантов...
#19
by Warlock
Структура справочника: Код Наименование ПолноеНаименование ПараметрСтрока ПараметрЧисло Пользователь Пример сообщения: Наименование = «Вопрос» ПолноеНаименование = «Сохраните свою текущую работу и закройте, пожалуйста, программу. ОК ?» В данном случае ПараметрЧисло – Таймаут (чтобы не потерять управление). Выполняется команда «Вопрос(ПолноеНаименование,ПараметрСтрока,ПараметрЧисло)». Причем снимается флаг Активно и создается элемент справочника с наименованием «Ответ» и ПолнымНаименованием с именем пользователя и ответом (Да, Нет или Таймаут). Также предусмотрены: ЗавершитьРаботуСистемы(ПараметрЧисло) Сигнал Сообщение Запрос – можно через ВвестиЗначение спросить у Юзера о количестве времени, которое ему еще надо до того, как он закроет 1С Если в сообщении не указан Юзер – все идет Броадкастом, но только не админам :) Алекс, идея, я думаю, понятна... ЗЫ Делал наспех(почти), так что сильно не критикуйте :) Хотя критику я все же хотел бы услышать(прочитать)...
#20
by alxkorvin
Как правильно отрубить пользователей 1с от sql я знаю. Это был риторический вопрос советчикам останавливать sql server :)
#23
by Warlock
Да знаю, знаю... Но как показывает практика, при использовании данной процеду по несколко раз в день, такой бок возникал у меня 1 раз в месяц/два месяца... Винды чаще глючат, что хуже, но - и no problem...
#24
by Z1
+ к И еще бывают зависшие 1с.exe Супердолгая обработка пользователя. Еще есть 1с ждущая пароля пользователя. Иногда ( редко) бывают и зависшие конекты 1с-sql Ответьте на вопрос как часто Вам надо отрубать всех пользователей и зачем ? Все эти обработки ожидания занимают ресурсы и не всегда эфективны. Гораздо проще : 1. Расшарить папку. 2. Убить sql процессы в конкрет. базе. 3. Сделать то что нужно 4. Зашарить папку.
#25
by Warlock
Постоянно в ваших постах читаю "Убить sql процессы в конкрет. базе", "старт-стоп SQL" и т.п. - с точки зрения программиста удобно: минута - и база в вашем распоряжении... А юзеры? Кто-то решил немного поработать в обеденное время, вбил документ строк на 50 и - Ах, ..., ... ...! А если решил директор покопаться? Мысли приблизительно такие "Я вывалил гору денег на эту сетевую SQL 1С, а тут такое... Вот сволочи!" Или это с вашей стороны голая теория?!
#26
by Z1
Тогда надо сначала ответить на вопрос "зачем мы выбрасываем пользователей из 1с ?" и все станет на свои места. Да перед 25 дается обычное net send * о том что через 5 минут отключение 1с. Обычно это или какая-то нештатная ситуация при которой user не могут работать или например смена конфигурации в 21 когда user-ов уже нет и уговаривать то уже некого а в программе очень много пользователей. Самое эффективное ИНМО как раз 24
#29
by Warlock
"Самое эффективное ИНМО как раз 24" - нет сомнений. Но в моем случае так делать было нельзя, а звонить каждый раз им по телефону и спрашивать ну _очень_ напряжно...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Лицевой счёт Т-54
- Как изменить нумерацию листов в кассовой книге?
- Выдается соб - База данных не может быть открыта в однопользовательском реж
- Как достать часы, отработанные человеком на конкретную дату
- как обратиться к данным в строке не из табличной части док?
- Ошибка Кратность 633
- Вопрос по аттестационному заданию №3 (Торговля и Склад)
- Не могу провести документ в Торговле 7.7 будущей датой.Подскажете!!!
- Какой сервер ICQ для локальной сети лучше?
- Посчитать прибыль по акции
- ЗиК: Оформление неполного рабочего дня
- Некорректная печать на принтер
- Кассовая книга
- Запрет изменения пользователя в конфигураторе
- Интересно, а чем сейчас занимается Никита Зайцев aka WildHare
- Лишение премии
- Сохранение отчёта в Exсel
- Раздача ломаных 1С. :). Что делать?
- Кто подключал КАСБИ-02Ф к 1с?
- Как определить время последней модификации любого элемента конфигурации