Имя: Пароль:
1C
 
Как получить в модуле список активных пользователей
0 kis111
 
27.04.09
09:55
Регулярно батником запускаю по списку конфигураторы баз в пакетном режиме с целью резервирования. Но частенько при этом базы не выгружаются по причине невыхода (на выходные, по окончанию работы) кого-то из пользователей. Возможно ли в обработке какой-то командой получить список невышедших пользователей?
1 skunk
 
27.04.09
09:55
возможно
2 ДенисЧ
 
27.04.09
09:55
имеено список? Или таки наличие таковых?
Второе получается элементарно
3 kis111
 
27.04.09
09:59
Мне надо знать - кто именно не вышел - т.е. имена пользователей. Чтобы потом им втык сделать. Приказ о том, что суббота - это НАШЕ время, вышел, но кое-кто его не выполняет..
4 ДенисЧ
 
27.04.09
10:00
файлы *.lck в каталогах пользователей. Делай dir /s *.lck и невозбранно достигнешь желаемого.
5 skunk
 
27.04.09
10:03
6 kis111
 
27.04.09
10:10
(4) Если юзер вышел некорректно (или выкинули его) - этот файл может остаться, а юзера уже нет.
Хотя... Если файл остался - я все равно не смогу ж выгрузку запустить, так?
Еще вопрос - как 1с в мониторе определяет присутствие пользователя в базе? Именно по этим файлам?
7 ДенисЧ
 
27.04.09
10:11
(6) Можно получить список файлов и попытаться их удалить. Если удаляется, значит норма. если нет - оппа.
8 ДенисЧ
 
27.04.09
10:11
(6) а монитор смотрит не на файлы, а  на файллоки на 1cv7.lck в КаталогИБ()
9 kis111
 
27.04.09
10:25
(7) правильно ли я понял? Если файл не удаляется - юзер в базе, если удалился, значит юзера уже в базе нет?
10 skunk
 
27.04.09
10:50
(9)правильно ...

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

а что (5) не помогло?
11 ДенисЧ
 
27.04.09
10:52
(9) Правильно
12 kis111
 
27.04.09
10:55
(10) насчет зверей без каталогов - засада, сам как раз про это думаю. Но, в принципе, кроме нас, таких не очень много - в одной базе рассадить нескольких юзеров с одной записи на несколько - нетрудно, и в другой переписать одну ОЛЕшную обработку... Может, так и сделаем.
Что касается (5) - уже скачал, но так и не понял, даже после прочтения ветки, что это за "Объект", и как это приспособить в мою обработку... :(
13 ДенисЧ
 
27.04.09
10:58
(12) звери без каталога это зло.
14 kis111
 
27.04.09
11:01
(13) Это точно. Но там делал не я.
А для нас - не хочется каталог делать, ибо бывает нужда запустить базу с пользовательского места под твоим логином, а она уже на твоем рабочем месте запущена..
15 skunk
 
27.04.09
11:08
(12)объект находиться в таблице... скопируй ее в свою обработку... ну и далее имеешь процедуру Сформировать ... для заполнения таблицы значений пользователями БД
16 kis111
 
27.04.09
11:16
(15) Спасибо, попробую. А что там насчет офиса говорится? Т.е. если его нет - ничего не заработает?
17 Обработка
 
27.04.09
11:17
v7backup  использую давно. Он умеет выгнять юзеров ночью. Но не всегда конечно. Выгноялку можно придумать в самой 1с через обработку ожиадния. Но там тоже есть  засада. ну вощем комплекс мер поможет.
1. Оргназационный
2. v7backup
3. выгонялкя в самой 1С
4. ну наконец перезагрузка сервака (жестокок тупо за то надежно)
18 kis111
 
27.04.09
11:25
(17)
1. есть приказ, но - не всегда они выходят, забывают. Собссно, для этого и надо получить список юзеров, не вышедших в пятницу.
2. А v7backup со скульными базами может работать - выгружать и выгонять?
3. 1с-Выгонялка (через константу и обработку ожидания) есть, но только в 2х основных базах (да и не всегда работает - те же модальные окна она не уберет). а их больше.
4. до этого не дойдем. Можно проще - выбить юзеров на скульном серваке и на том, где каталоги баз хранятся - но дело в том, что я хотел автоматизировать процесс бэкапа для всех баз, а не разбираться в каждом случае - кто да почему.

Т.е. в ДАННОМ случае хрен с ней, выгонялкой, но чтобы юзеров. кто мне не дал - ЗНАТЬ!
19 ДенисЧ
 
27.04.09
11:26
Если забывают выходить, то net use в батнике рулит...
20 skunk
 
27.04.09
11:27
(18)в принципе вопрос выпинывания зверей из скульной базы не такой уж большой вопрос...
21 kis111
 
27.04.09
11:35
(19) Каким образом это мне поможет узнать, кто в какой базе не вышел?
(20) Да не надо мне их счас выпинывать! Умею я это делать, пусть и вручную, но не надо. Надо просто узнать - КТО. А потом уже вариант 1 - организационные меры.
22 ДенисЧ
 
27.04.09
11:36
(21) это их вышибет :-)
23 Sadovnikov
 
27.04.09
11:37
ВК RiK_SQL
.
ПолучитьСписокАктивныхПользователей(<РежимРаботыПользователя>);
Синтаксис:
ПолучитьСписокАктивныхПользователей()
Назначение:
Получает список пользователей, работающих в данный момент в текущей базе.
Возвращает: список значений, в котором перечислены имена пользователей БД. 0 - в случае ошибки при считывании списка активных пользователей.
P.S. Благодарность Ерохину Андрею aka Vippi за предоставленную идею реализации данного метода.

Параметры:
<РежимРаботыПользователя> - число, какой режим работы пользователей анализировать. Возможные значения: 1 - предприятие, 2 - конфигуратор, 3 - отладчик, 4 - монитор, 0 - все.
24 Обработка
 
27.04.09
11:45
(21) А что не судьба пронализирвать монитор просмтреть сеансы утром?
25 Дядя Васька
 
27.04.09
11:50
(18) Если у тебя скуль, зачем бэкапить средствами 1С, если скуль умеет это делать в разделенном режиме?
26 skunk
 
27.04.09
11:51
(21)короче кури (5) ... либо (23) ...

(24)и что это даст?
27 kis111
 
27.04.09
11:57
(23) Спасибо, счас поищу..
(24) интересно, каким образом, если он зашел в чт, например, а то и раньше. причем народу в базах много, и то заходят, то уходят - нормальные то юзера. Причем некоторые - кто без каталога пользователя - заходят одновременнос нескольких рабочих мест.
А если просто посмотреть, кто СЕЙЧАС в базе - так там уже народу поназаходило - у нас и в вскр люди работают.
Т.е. в принципе узнать можно, но гиморно очень!
(25) Хотя бы чтобы себе загрузить в локальные базы, с которыми я работаю. Да и резервные копии мы привыкли хранить в выгрузках.
28 Обработка
 
27.04.09
11:58
(18) Скульные бекапы ужасно большие бывают. У меня 1сные бекапы хранятся вечно а скульные неделю.  т е ночью бекап делается 2 раза 1сный и скульный.
(26) По сеансам можно понять кто вчера зашел и не вышел. ну конечно за исключением ошибочного выхода.
29 skunk
 
27.04.09
12:00
(28)вот-вто ... а что делать с этими самыми исключениями
30 skunk
 
27.04.09
12:01
(27)тебе как минимум два решения показали... вроде никакого гемороя нет
31 kis111
 
27.04.09
13:21
(30) Ну я и буду их смотреть, пока больше сказать нЕчего :)
Всем спасибо!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан