Обработка для управления подключениями пользователей и создание бэкапа КЛИЕНТ-СЕРВЕРНОЙ базы данных 1С 8.2-8.3 (управляемое приложение,"такси")

Опубликовал Дмитрий Топчий (hakerxp) в раздел Администрирование - Архивирование (backup)

Данная обработка позволяет легко и быстро отключить от любой БД одного или несколько пользователей одновременно, установить блокировку сеансов, что необходимо при регламентных операциях с БД, создать резервную копию базы, удалить "дубли" сеансов. Обработка отключает соединения и сеансы указанных пользователей, даже если сеанс или соединение были "повисшими". Возможна интеграция в любую конфигурацию! (Обновление от 11.03.2016, версия 3.0)

Обработка проста в использовании. От Вас требуется только указать один раз логин и пароль админа кластера серверов, пароль админа базы данных(ИБ, если он есть), порт агента кластера (если он нестандартный(не 1540)).

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

Особенности:

- Можно указать одного пользователя, нескольких или отключить всех (кроме текущего сеанса и соединения) за один прием;

- Заблокировать сеансы, чтоб нельзя было установить новый сеанс на указанный Вами период;

- Снять блокировку сеанса;

- При отключении удаляются сеансы и соединения, даже если они "повисли" (часто бывает);

- Можно легко создать резервную копию базы в формате *.dt

- Можно удалить "дубли" сеансов. Актуально, если мало программных лицензий и имеются несколько запущенных сеансов под одним пользователем. Остается только самый поздний сеанс для каждого пользователя.

- Легко встраивается в любую конфигурацию. Все нужные функции находяться в модуле объекта, так что можно легко их вызывать из любого места.

ВНИМАНИЕ! Если открыть обработку как внешнюю в режиме обычного приложения (даже если есть режим совместимости с 8.2), то она не откроется (нюансы 1с). Но если встроить в конфигурацию и выставить в конфигураторе режим совместимости с 8.2 (8.3), то обработка будет работать! В управляемом режиме работает как и внешняя обработка, так и встроенная!

 COM-соединение идет через V82.Comconnector(V83.Comconnector). Возможно, может не быть установлен на компьютере данный компанент. Как устанавливать читаем здесь http://forum.infostart.ru/forum24/topic45491/


Обновление от 11.03.2016 Ver. 3.0!

- Добавлена версия обработки для УТ11, БП3.0 и т.д. для интерфейса "такси", работает без синхронных вызовов. Будет работать на всех типовых конфигурациях и не только.

- Добавлена команда "Удаление дублей сеансов". Актуально, если мало программных лицензий и имеются несколько запущенных сеансов под одним пользователем. Остается только самый поздний сеанс для каждого пользователя.

- Добавлена поддержка платформы 8.4 (V84.Comconnector)

Обновление от 12.03.2014 Ver. 2.0! 

- Переработан код отключения пользователей;

- Добавлена поддержка платформы 8.3 (V83.Comconnector)

Обновление от 11.12.2012 Ver. 1.3! Добавлена возможность создавать бэкапы базы (файловой и серверной) средствами 1С. При этом происходит автоматическое отключение всех пользователей от базы (только для серверной!), установка блокировки на базу (в файлом она не блокируется!), и создание бэкапа по указанному пути (если серверная, то путь указывается относительно сервера БД) и происходит выгрузка в файл dt. Автоматическое снятие блокировки можно организовать, в обработке есть код. Или по-старинке.

Скачать файлы

Наименование Файл Версия Размер
ОтключениеПользователейОтИБ (версия 2.0, управляемая форма)
.epf 14,70Kb
11.03.16
486
.epf 2.0 14,70Kb 486 Скачать
ОтключениеПользователейОтИБ (версия 3.0, управляемая форма, "такси")
.epf 15,99Kb
12.03.16
56
.epf 3.0 15,99Kb 56 Скачать

См. также

PowerTools от 1 000
Комментарии
1. Сергей Иванов (u_n_k_n_o_w_n) 31 05.11.12 22:05 Сейчас в теме
Добрый день!!!
Это чтобы на пользоваться стандартными средствами 1С?
2. Дмитрий Топчий (hakerxp) 731 06.11.12 08:48 Сейчас в теме
Если вы имеете ввиду штатные в типовых конфигурациях, то стандартные средства удаляют только сеанс, подключения не трогают,и нет возможности выбрать несколько пользователей. Если имеете ввиду через сервер 1с, то это дело вкуса.
3. Евгений Федоров (FedorovEvg) 144 06.11.12 10:17 Сейчас в теме
А через консольку почему нельзя удалять ?
Запуск консольки два клика.
4. Дмитрий Топчий (hakerxp) 731 06.11.12 10:22 Сейчас в теме
Можете и через консоль-дело вкуса! НО! Если вы делаете автоматическое отключение пользователей при регламентной операции обновления конфигурации при обмене, то вряд ли консоль вам сильно поможет.
5. Евгений Федоров (FedorovEvg) 144 07.11.12 11:23 Сейчас в теме
(4) а почему она может не помочь ?
6. Дмитрий Топчий (hakerxp) 731 07.11.12 11:27 Сейчас в теме
Потому что вряд ли вы будите следить за процессом обмена конфигурацией в 3 часа ночи, когда нужно выгнать автоматически всех пользователей и выполнить обновление конфигурации.
7. Ruslan (rus128) 2 07.11.12 12:43 Сейчас в теме
1) Как выполнить обновление конфигурации из режима "Предприятие"?
2) Как при этом автоматически в 3 часа ночи отключить ВСЕ сеансы, КРОМЕ своего?
9. Дмитрий Топчий (hakerxp) 731 07.11.12 12:55 Сейчас в теме
1. Учтите что такое обновление применяет изменения конфигурации к базе данных, и в основном в распределенной базе данных в процессе обмена, когда пришло изменение от центральной базы и нужно всех выгнать и запустить обновление автоматом.

2. Функцию отключения берете из формы и переносите либо в модуль обработки либо в свой код и НЕ передаете параметры. Подключаете к регламентной операции, и в заданное время всех отрубает, кроме вашего сеанса. Я ж писал, что придется немного перестроить обработку чтоб интегрировать в систему. Ну а следом можно и функцию блокировки сеансов и обновления системы автоматом перенести и прикрутить!
10. Alex Steiner (OrsoBear) 07.11.12 14:20 Сейчас в теме
"Не усатновлены на сервере COM-компанен"
Опечатка - установлены.
Тип указан - внешняя обработка ert и при этом все базы 8 версии.
Поправьте пожалуйста.
11. Евгений Федоров (FedorovEvg) 144 08.11.12 10:08 Сейчас в теме
(6) А смысл следить за пользователями ? Что бы выгнать пользователей необходимо открыть вашу обработку и отключить. Те же самые действия можно сделать с помощью консоли.
В описании вашей обработки не указано, что можно настроить ее запуск в определенное время 3.00 ночи, она выгонить всех пользователей, если они есть, отрубит сеансы, проведет автоматическое обновление конфигурации.
Как я понял, ваша обработка просто демонстирирует часть функций по работе с пользователями, по аналогии с консолью серверов 1С.
12. Дмитрий Топчий (hakerxp) 731 08.11.12 10:28 Сейчас в теме
Вы невнимательно читаете что я писал в комментариях. Рекомендую еще раз прочитать.
13. Сергей Радченко (Rad90210) 10 08.11.12 13:16 Сейчас в теме
(9) hakerxp,
Эх. А как бы хотелось чтобы уже реализованно. )))
14. Дмитрий Топчий (hakerxp) 731 08.11.12 13:51 Сейчас в теме
(13)Если Вы имеете ввиду выполнение по расписанию, то трудно регламентные операции запихнуть в обработку, да еще заставить менеджера кластеров следить за ней)))
15. Яков Коган (Yashazz) 1987 08.11.12 15:01 Сейчас в теме
Сделайте слово "любой" маленькими буквами, а "клиент-серверной" - большими, пожалуйста. Ничего нового в вашей разработке нет, а люди подумают, что это толковая вещь и по файловым базам тоже.
16. Дмитрий Топчий (hakerxp) 731 08.11.12 15:11 Сейчас в теме
(15)Ну вообще-то, на Нобелевскую премию не претендую и Америку не открыл, но многим будет полезна, т.к. стоящих обработок мало!
17. Сергей Иванов (u_n_k_n_o_w_n) 31 08.11.12 18:31 Сейчас в теме
Это уже реализовано и доступно на сайте its.1c.ru.
18. Евгений Федоров (FedorovEvg) 144 09.11.12 09:57 Сейчас в теме
(16) стоящих обработок мало и к сожелению ваша к ним не относится :(
19. Дмитрий Топчий (hakerxp) 731 09.11.12 10:03 Сейчас в теме
(18) Спасибо за критику. "Не пинают только дохлую собаку" (Карнеги)! Так что смотрю моя работа пользуется спросом.
20. креек фелер (GoodWinSpr) 394 09.11.12 12:40 Сейчас в теме
Автор прав, это дела вкуса, имеет место быть...
21. Дмитрий Елисеев (w-divin) 19.11.12 17:52 Сейчас в теме
(3) FedorovEvg, (5) FedorovEvg, (11) FedorovEvg, (18) FedorovEvg,

я вот не пойму зачем писать бред, если ты не в теме?
22. Александр Чемезов (chemezov) 22.11.12 09:43 Сейчас в теме
23. Дмитрий Топчий (hakerxp) 731 22.11.12 09:52 Сейчас в теме
(22) У меня нет подписки, а нужда была в такой обработке - вот и написал.
24. Сергей Иванов (u_n_k_n_o_w_n) 31 26.11.12 15:31 Сейчас в теме
Изобретать "велосипед" - тоже занятное занятие. Вопрос в другом: насколько это необходимо.
25. Дмитрий Топчий (hakerxp) 731 26.11.12 15:39 Сейчас в теме
Велосипеды бывают разные: одни горные, другие спортивные, третье - детские. Но это велосипед. Зачем столько плодить? Так и в данном случае - кому-то будет полезна полностью, кому будет полезен код, кому - еще что будет полезно.
27. Алексей Роза (DoctorRoza) 12.12.12 16:12 Сейчас в теме
Хороший, 2-х колесный инструмент, может и пригодится! :)
sergiobargio1; +1 Ответить
28. qwerty qwerty (vamleshka) 15.12.12 20:53 Сейчас в теме
З а ч е м? было тратить столько времени на писанину этого чуда юда? мне бы столько свободного времени. Только я одного не понял бэкапы какие sql она делает? или dt-шник? Если dt-шник и при этом работает в фоновом задании то это конечно зачет, а так если ее нужно держать постоянно включенной, то это полный негуд. потому что сервер приложений перезагрузился ночью и бэкапы нифга не сделались.
29. Дмитрий Топчий (hakerxp) 731 16.12.12 16:51 Сейчас в теме
Создает dt, берете код и всовываете в ваш код в фоновое и будет и в фоне работать. А так код универсален.
30. andrey dyak (dyak84) 04.01.13 11:50 Сейчас в теме
Такой маленикий вопрос а если у нас моного кластерная система соотвественно есть 4 рабочих процеса. Ваша обработка будет завершать сеансы пользователей. Зарание спасибо за ответ
31. y-ha Воронцова (y-ha) 30.01.13 17:22 Сейчас в теме
А подскажите где на its.1c.ru типовая обработка?
В разделе Универсальные отчеты и обработки что-то нет...
catalogi; +1 Ответить
32. Александр Иванов (catalogi) 21.03.13 17:15 Сейчас в теме
(17) u_n_k_n_o_w_n,

Где именно на its.1c.ru есть такая обработка?
Не нашел.
sergiobargio1; +1 Ответить
33. Z Lu (validat) 1 24.09.13 15:57 Сейчас в теме
Обработка полезная! Несколько раз сталкивался с подвисшим сеансом, хотя все компьютеры выключены. Приходиться включить компьютер пользователя, который возможно не вышел как положено, запустить 1эску, выйти, завершить терминальный сеанс.
Приходиться тратить время на это все, потому что не даёт сделать бэкап. Обязательно скачаю и опробую.
34. Andrey Karetskiy (silberRus) 36 23.03.14 11:59 Сейчас в теме
Почему у меня бакап срабатывает если запускать ее как внешнюю обработку, а если встроить в конфигуратор то нет. Запускаю причем обработку на сервере, всеравно пофиг.
35. Leo Po (webresurs) 116 19.06.14 09:51 Сейчас в теме
8.3 Клиент-сервер - запускается работает......., но когда хочу прикрепить данную обработку к разделу Администрирование, выдает ошибку "Метод объекта не обнаружен (СведенияОВнешнейОбработке)...
- поправьте! или подскажите как?
36. Дмитрий Топчий (hakerxp) 731 19.06.14 10:08 Сейчас в теме
Нужно добавить в модуль объекта обработки

Функция СведенияОВнешнейОбработке() Экспорт
	Инфо = Новый Структура(
	"Вид, Команды, БезопасныйРежим, Назначение, Наименование, Версия, Информация, ВерсияБСП",
	"ДополнительнаяОбработка", Новый ТаблицаЗначений, Истина, Новый Массив);
	
	Инфо.Наименование = НСтр("ru=Обработка для управления подключениями пользователей и создание бэкапа");
	Инфо.Версия       = "1.0";
	Инфо.Информация   = НСтр("ru=Обработка для управления подключениями пользователей и создание бэкапа");
	
	Колонки = Инфо.Команды.Колонки;
	ТипСтрока = Новый ОписаниеТипов("Строка");
	Колонки.Добавить("Представление", ТипСтрока);
	Колонки.Добавить("Идентификатор", ТипСтрока);
	Колонки.Добавить("Использование", ТипСтрока);
	Колонки.Добавить("Модификатор",   ТипСтрока);
	Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
	
	// Единственная команда, что делать - определяем по типу переданного
	Команда = Инфо.Команды.Добавить();
	Команда.Представление = НСтр("ru = 'Обработка для управления подключениями пользователей и создание бэкапа'");
	Команда.Идентификатор = "ФормаГлавная";
	Команда.Использование = "ОткрытиеФормы";
	
	Возврат Инфо;	
КонецФункции
...Показать Скрыть



Взято из типовых, но может меняться в зависимости от обновлений типовых конфигураций.
37. Максим Жохов (ZhokhovM) 255 17.09.14 18:00 Сейчас в теме
здравствуйте! УНФ 1.4.2.22 тоже подходит? "сделать резервную копию* это значит выгрузить Dt в указанный каталог?
38. Дмитрий Топчий (hakerxp) 731 18.09.14 08:40 Сейчас в теме
(37), подходит для любой конфигурации на УФ. Резервная копия создается через выгрузку в .dt
39. Дмитрий Топчий (hakerxp) 731 11.03.16 11:17 Сейчас в теме
Обновление от 11.03.2016 Ver. 3.0!
- Добавлена версия обработки для УТ11, БП3.0 и т.д. для интерфейса "такси", работает без синхронных вызовов. Будет работать на всех типовых конфигурациях и не только.
- Добавлена команда "Удаление дублей сеансов". Актуально, если мало программных лицензий и имеются несколько запущенных сеансов под одним пользователем. Остается только самый поздний сеанс для каждого пользователя.
- Добавлена поддержка платформы 8.4 (V84.Comconnector)
40. Яков Коган (Yashazz) 1987 12.03.16 21:03 Сейчас в теме
Уважаемый, а что, трудно было сделать действительно универсал, обойтись без вот этого позорного "встраивается в любую конфигурацию с небольшими изменениями. ", а?
Не говоря уж о том, что это чудовищный баян. И что более качественные версии на ИС лежат в изобилии.

Сам, грешен, свою поделочку когда-то опубликовал... Но и то старался, чтобы общие модули не были задействованы.
41. Дмитрий Топчий (hakerxp) 731 12.03.16 21:31 Сейчас в теме
(40), Вы правы. Я убрал из описания публикации фразу "встраивается в любую конфигурацию с небольшими изменениями.". Действительно можно ее встроить без доработок.
42. Денис Ковалев (denger8088) 01.11.16 21:20 Сейчас в теме
Добрый день! У меня почему то не получается сделать "Резервную копию базы"! База закрывается пользователи отключаются а копии в указанном месте нету!? Подскажите почему! Спасибо.
43. Юрий Н (graphbuh) 139 01.02.17 10:27 Сейчас в теме
А есть ли опция завершения спящих сеансов (указание время спящего сеанса и период опроса) с предварительным предупреждением пользователей (работа будет завершена - да / нет).
44. Дмитрий Топчий (hakerxp) 731 01.02.17 10:48 Сейчас в теме
(43) , то что вы хотите, требует доработки конфигурации. В обработке это не сделать так просто.
45. Юрий Н (graphbuh) 139 01.02.17 11:27 Сейчас в теме
Я думаю да. И в общем то морально готов на такую доработку. Сейчас пришлось включить рестарт службы каждую ночь. Ваша обработка может работать в режиме регламентного задания? опрос мог бы проходить как ...если существует подсистема / общий модуль такой-то --> завершение спящего сеанса /просто сеанса = ответ пользователя по таймауту.... Сейчас такого нет ни у кого (чтоб был опрос / формат регламентного задания / контроль спящих или не активных сеансов)

И во всех случаях спасибо за обработку, даже просто написать статью на infostart это труд, 1-2 часа времени не оплаченного, не говоря уже о продукте. В каждом велосипеде, есть что-то свое , уникальное, плюс вынуждает авторов оригинального велосипеда не почивать на лаврах, а продолжать делать что-то новое, идти дальше.
46. Дмитрий Топчий (hakerxp) 731 01.02.17 11:48 Сейчас в теме
Если это ком. предложение по доработке, то можем обсудить по почте topchiydu@gmail.com. Я могу вам сделать и оповещение при отключении, могу по рег. заданию чтоб работало.