«в глоб. модуле в самом конце пишешь
ОбработкаОжидания(«Выкинуть()»,60); — где «Выкинуть()», это процедура в которой идет проверка на какую — нибуть константу допустим: Константа.Выход
Если Константа.Выход>0 Тогда
Если Имяпользователя <> «Администратор» Тогда
ЗавершитьРаботуСистемы();
КонецЕСли;
КонецЕсли;
есть правда одно но. Но об этом по запросу.»
читатель
Дата регистрации: 07.06.2004
Сообщений: 4
07.06.2004 15:58
Тогда все программеры остануться без работы!
читатель
Дата регистрации: 18.05.2004
Сообщений: 7
07.06.2004 16:01
«Если программно, то можно сделать так :
1) В глобальном методе есть процедура
ОбработкаОжидания(«ЧтоСделать»,10);
Это означает что каждые 10сек будет вызываться процедура ЧтоСделать()
В конфигураторе заводим константу Константа.ВыходитьИз1С — тип Перечисление.Булево
2) Пишем процедуру ЧтоСделать()
1С как закрыть сеансы активных пользователей клиент сервер через консоль
Процедура ЧтоСделать()
Если ИмяПользователя() <> «Администрато» Тогда
Если Константа.ВыходитьИз1С = Перечисление.Булево.Да Тогда
ЗавершитьРаботуСистемы(0);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Это означает, что если константа устанавливается в «Да», то все пользователи кроме «Администратор» завершают сеанс работы с 1С.
3) Можно конечно добавить обработку выхода по времени, если интересно отвечу.»
читатель
Дата регистрации: 10.11.2003
Сообщений: 334
08.06.2004 08:41
Отключить то конечно можно. Но представьте себя на месте бухгалтера. Разносит бухгалтер какой-нибудь длинный многострочный документ (например, огромную накладную на поступление канцтоваров, в которой строчек 30). И вот на 25 строчке (когда документ еще не записан и не проведен) какой-нибудь программер, которому . ударила в голову, отрубает бухгалтера от 1с.
Полчаса работы (а то и больше) насмарку. Я бы такому программеру в морду дал, не задумываясь. В нашей организации если программисту нужно что-нибудь сделать, то он приходит пораньше, или остается после работы, или в выходные. Ну а если позарез что нибудь нужно, то ходит по кабинетам и вежливо всех просит выйти из 1с. А если бы он просто молча всех отключил, то получил бы крутой раз.
Источник: buh.ru
Выгоняем пользователей из серверной информационной базы
Для проведения регламентных работ в информационной базе 1С:Предприятия 8 часто необходимо получить монополный доступ к базе. Например, для выполнения бэкапа базы или выполнения регламентных работ на сервере СУБД (реиндексация и т.д.), необходимо отключить все активные сеансы.
Рассмотрим простой способ отключения пользователей от информационной базы с помощью стандартного функционала сервера 1С:Предприятия.
Как выгнать пользователей из базы 1С 8
Стандартный функционал
Сразу оговорюсь, что речь будет идти о клиент-серверном варианте работы 1С:Предприятия 8. Для отключения сеансов зайдем в консоль администрирования сервера. Там найдем нужную информационную базы в списке:
Зайдя в свойства ИБ установим опцию «Блокировка начала сеансов включена». При этом может быть необходимо ввсетси логин/пароль учетной записи администратора информационной базы.
Не забывайте установить период блокировки сеанса. Также следует предусмотреть, что на время блокировки сеансов нужно остановить все фоновые задания. Делается это опицей «Блокировка регламентных заданий включена».
При необходимости можно установить текст сообщения пользователям, которым они будут уведомлены за 5 минут до блокировки сеансов, а также код разрешения для входа в информационную базу в период блокировки сеансов.
Код разрешения можно использовать для входа в информационную базу для выполнения регламентных работ, пока остальные сеансы не активные. Вводить код разрешения при подключении к базе нужно с помощью параметров. Например, так будет выглядеть параметр, переданный серверу, если код разрешения «123456».
Войдя в базу таким способом мы получим монополный доступ к информационной базе. Другие сеансы не смогут к нам присоединиться.
Уведомление пользователю о блокировке сеансов выглядит следующим образом (в зависимости от сообщения, введенного администратором). Появляется оно каждую минуту за 5 минут до периода блокировки.
По началу периода блокировки сеансов сначала появляется уведомление:
После сеанс завершается.
Активные сеансы также можно отключить, удалив их из списка активных сеансов. Подобное действие порой необходимо для завершения зависших сеансов.
На практике об отключении пользователей лучше сообщать заранее, чтобы снизить риски потери данных, введенных пользователями, но еще не сохраненных.
Непонятное для пользователей, а иногда и начинающих программистов, слово «регистры». Попытаемся раскрыть его в этой статье. Рассмотрим устройство регистров накопления.
Для получения доступа к обновлениям конфигураций 1С 8.2 фирма 1С выпускает диски информационно-технического сопровождения (ИТС)
«Особенности использования механизма настройки прав доступа для реквизитов»
Разработки
Выгрузка прайс-листа 1С 7.7 в Excel
Печать прайс-листа для 1С7.7 (ТиС)
Доступ к реквизитам справочника в 1с7.7 для каждого пользователя
Разработка разграничивает доступ к реквизитам справочника в 1С 7.7
Печать ценников для УТ 10.3 платформа 8.2 на две цены (розничная и оптовая)
«Обработка для печати ценников с двумя ценами в УТ 10.3»
Еще от автора
- Передача данных между управляемыми формами
- Фиксируем колонку в отчете на СКД
- Создаем бизнес-процесс в несколько шагов
- Если у Вас нет феноменальной памяти
Источник: 1clancer.ru
Как выкинуть пользователей из 1с #16685
Нужно принудительно сбросить пользователей из 1с. Глюкнула терминалка че-то — сессии сбросились, а пользователи в мониторе 1с висят, файл .LCK из рабочей папки удалить не дает, говорит занят программой, а в диспетчере задач нету именно этой 1с-ки. Такая ситуация была побеждена в прошлый раз перезагрузкой сервака, но может быть есть другой метод — перезагрузку из-за одного пользователя делать проблематично. если кто чего знает — поделитея, плз.
#1 by MetaEditor
а про такую чтуку как tsadmin.exe слыхал. (пуск-выполнить)
#2 by Spaler
Не всегда tsadmin.exe помогает, по монитору — юзер висит, в tsadmin.exe — его нет
#3 by slavka
зайди в «управление компьютером» посмотри в «общие файлы»-> «открытые файлы» и «Сеансы».
#4 by Нгк
Это терминалка. Там нет общих файлов. Может попробовать отключить доступ пользователю в параметрах безопасности?И еще вариант. Запустить проверку диска командой chkdsk с параметром /x. Она все отключит
#5 by slavka
если это терминалка то это не значит что нет расшаренных папок. вот если их нет то ты прав
#6 by anna187
Такая же фигня. Висит у меня тут один призрак. Что делать.
#7 by Нгк
Согласен. Никто не запрещает расшаривать файлы. но по логике не базы
#8 by WAR
#9 by MetaEditor
сделай taskkill /im 1cv7.exe — должно убить все экземпляры 1С на сервере.
#10 by МуМу
Есть программа. Отключает «призраков» , может это делать в пакетном режиме -вечером по расписанию например. Стоит 100 у.е.
#12 by slavka
а ты не сталкивался с такой шнягой что сессии в ЕМ не киляются. помогает токо Start/Stop сервака?
#13 by Spaler
Я считаю актуально, убить только призрака, остальные должны доработать
#14 by МуМу
То 12. А рефреш ты делал?:)ЕМ он в онлайне не перерисовывает
#15 by Митхун Чакраборти
А каким терминалом пользуетесь? Насколько я помню в Citrix’е есть такая шняшка: время простоя после которого сессия отваливается, т.е. если пользователь не трогает ни клаву, ни мышь какое-то время сессия отваливается. И вот, если пользователь отвалился, то ему надо просто подождать это время и заходить снова в терминал.
#16 by anna187
При наличии призрака в мониторе пользователей у меня ни одного процесса 1cv7.exe на серваке не было 🙁
#17 by slavka
да конечно делал
#18 by ILYA
Панель управления -> Администрирование -> Диспетчер служб терминаловКликаешь на нужном пользователе правой кнопкой и выбираешь Сброс.
#19 by Spaler
#20 by anna187
Ага. А там ничего нет, а призрак в мониторе пользователей висит. Мысль: кто- то завис на этапе входа.
#21 by ILYA
Тада с помощью Диспетчера служб терминалов и Диспетчера задач (развернутого на всех пользователей) вычисляем PID ничейной задачи 1Cv7.exeИ ее убиваем :)))))))))
#22 by anna187
#23 by ILYA
Долго и мучительно :))))))Когда в Диспетчере служб терм. кликаешь на пользователя в левом окошке, то справа появляются его задачи и их PID. В Диспетчере задач смотришь ПИДЫ 1Cv7.exe и сверяешь их с терм. Если в терм. такого нет, то руби смело — мертвяк.
#24 by ILYA
Или еще.В диспетчере задач с помощью меню Вид -> Выбрать столбцы выбираешь Имя пользователя и Номер сеанса. там все видно будет.
#25 by anna187
дык нет в терминалке пользователей, говорю же. ни активных, ни пассивных. а в мониторе призрак
#26 by Seb
Давайте уточним один момент. Терминальные клинеты и пользователи 1С не есть одно и тоже. ТК — это служба винды, если он умерла то умерла. Пользователи — это факт подключения к базе. Наример у меня одна терминальная сессия а в ней сисдит три юзера.
Монитор показывает их весх поотдельности, но комп указывает один и тотже. С вашей проблемой не сталкивался, но я так думаю, что факт подключения фиксируется какимто файликом в юзеерской папке.
#27 by Seb
Похожая ситуация была с Ёкселём, когда слетел ексель, с открытым файлом, при повторном открытии система закричала «Файл открыт др пользователем. » — то есть она взвера гдето галочку что файл открыт, а при авари не убрала. тоже помогла перезагрузка. папки с такими файлами не удаляются, зато переименовываются. Может имеет смысл переименовать папку призрака ЮЗЕР в ЮЗЕР.кил и создать новую ЮЗЕР. не знаю не пробовал, это теория.
#28 by anna187
Самое смешное что и папки нужного пользователя не занняты. Пользователь спокойно вошел и работает в базе повторно, тогда как старый пользователь себе спокойно висит 🙁 Думаю поможет перезагрузка сервера, но это уже ночью.
#29 by SiAl
На будущее есть идея: если пользователей базы немного, то для каждого создать копию экзешника 1С с оригинальным именем (да хоть имя пользователя 1С) и в параметрах подключения стартовать соответствующий экзешник, по крайней мере меньше гемороя с определением в таск менеджере подвисшего сеанса.
#30 by Uno
Пути правильно писать надо через сетевую шару. а не через локальную и будет вам счастье.
#31 by Seb
Тогда встает вопрос, откуда монитор берет список активных пользователей. (я лично не знаю). Если это простая таблица (бред конечно, но вдруг), где все при коннекте/дисконекте регистрируются/отключаются — дык просто зайти и пальчиками снести строку. А так если висит, но не мешает входить, ну и пусть висит, кушать же не просит. Я понимаю если после сбоя юзер не может войти — это критично, а так.
#32 by МуМу
Берет он их проверяя блокировки на файл 1cv7.md . Почти на эту тему читайте >А вообще если просто выкинуть их надо то делайте как Uno говорит.
#33 by anna187
Висит пользователь, входить не мешает, кушать не просит, а обновить конфигурацию не дает. 🙁 Вот в этом и была проблема. Перезагрузкой сервера конечно вылечилось.
Источник: avprog.ru