Имя: Пароль:
1C
1С v8
Выгнать пользователя если он уснул
0 r1000
 
23.11.16
15:47
Старая задача. Есть какие то варианты, выкидывать пользователя, если он не работает в 1С более определенного времени, типа не двигает мышью по окну 1С ? Т.е. по принципу стандартной блокировки экрана в виндовс. платформа 8.3
Может быть что то появилось ?
1 Fragster
 
гуру
23.11.16
16:02
не, нету такого
2 oslokot
 
23.11.16
16:17
фоновое задание парсит ЖР на предмет активности пользователей и рубит их сеансы
3 probably
 
23.11.16
16:29
Сформировали большой отчет, открыли кучу окон и настроили их отображение "под себя"; ушли на совещание/длительный звонок от крупного заказчика (и пр.)
И тут некто решает, что я не работаю в 1с и надо её закрыть.
Зачем?
4 Мимохожий Однако
 
23.11.16
16:31
ОФФ: Открыли ветку и "уснул" ))
5 f_vadim
 
23.11.16
16:35
у нас есть главбух, которая сразу предупредила, что не смотря ни на какую активность, если сеанс есть, значит он нужен и срубать его низзя.
6 HardBall
 
23.11.16
16:41
(0) Какова цель?
7 newbling
 
23.11.16
17:02
Есть же параметр убиения спящих сеансов через X секунд в настройках конфигуратора
8 Klesk666
 
23.11.16
17:06
а по мне надо приучать вырубать программу в нерабочее время, , в 99% просто лень закрыть было, а в рабочее конечно делать такого не стоит
9 Fish
 
23.11.16
17:09
(8) А если бухи запустили какую-нибудь длительную обработку?
10 oslokot
 
23.11.16
17:33
(7) В параметрах ИВ выставил время завершения спящего сеанса 120 секунд, жду уже 10 минут и клаву не трогаю. Не отрубается сеанс.

Файловая нетленка 8.3.8
11 Мимохожий Однако
 
23.11.16
17:35
(10) Файловая?
12 oslokot
 
23.11.16
17:36
(11) ога
13 Klesk666
 
23.11.16
17:38
(9) пусть предупредят, пусть знают что там через 30 минут отрубиться, проще сначала все запретить и разрешать помаленьку, чем наоборот
14 oslokot
 
23.11.16
17:42
(11) файловая в пролёте?
15 LeReve
 
23.11.16
17:50
а потом будет выгнать умника который выгнал главбуха без предупреждения....
16 dred999
 
23.11.16
17:53
(7) А где это в конфигураторе настраивается?
17 dred999
 
23.11.16
17:55
(7) Нашел -Время завершения спящего сеанса
18 mistеr
 
23.11.16
18:16
(6) Очевидно экономия лицензий.
19 Diman_Kr
 
23.11.16
18:23
(17) Где нашел? тоже актуально.
20 Мимохожий Однако
 
23.11.16
18:25
(14) да
21 Diman_Kr
 
23.11.16
18:28
(19) А, тоже нашел. Работает хоть в клиент серверной? по умолчанию стоит 86 400 сек, т.е 24 часа, а сеансы висят по несколько суток.
22 Glenas
 
23.11.16
18:50
(6) Экономия электроэнергии видимо :)
23 EvgeniuXP
 
23.11.16
18:55
(5) у нас ночью таких куча сеансов сидят - рубить низя :)))
24 Fragster
 
гуру
24.11.16
11:09
(18) "спящие" сеансы не жрут лицензии
25 Fragster
 
гуру
24.11.16
11:10
те, которые в консоли кластера видны как спящие
26 Jonny_Khomich
 
24.11.16
11:14
(2) пользователь сидит, анализирует полученную информацию(отчет формировался 1 час), бац и выкинули. обидно будет.
27 yurybx
 
24.11.16
11:59
Ниже привожу powershell-скрипт, который, в случае простоя пользователя более часа, выключает компьютер. Скрипт можно изменить, чтобы вместо выключения компьютера он завершал работу пользовательского экземляра 1С. Тогда остается лишь добавить его в планировщик с повторениями через нужные промежутки времени (например, каждые 10 минут). Содержимое скопировать в файл с расширением ps1.

Add-Type @'
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;

namespace PInvoke.Win32 {

    public static class UserInput {

        [DllImport("user32.dll", SetLastError=false)]
        private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);

        [StructLayout(LayoutKind.Sequential)]
        private struct LASTINPUTINFO {
            public uint cbSize;
            public int dwTime;
        }

        public static DateTime LastInput {
            get {
                DateTime bootTime = DateTime.UtcNow.AddMilliseconds(-Environment.TickCount);
                DateTime lastInput = bootTime.AddMilliseconds(LastInputTicks);
                return lastInput;
            }
        }

        public static TimeSpan IdleTime {
            get {
                return DateTime.UtcNow.Subtract(LastInput);
            }
        }

        public static int LastInputTicks {
            get {
                LASTINPUTINFO lii = new LASTINPUTINFO();
                lii.cbSize = (uint)Marshal.SizeOf(typeof(LASTINPUTINFO));
                GetLastInputInfo(ref lii);
                return lii.dwTime;
            }
        }
    }
}
'@

if ([PInvoke.Win32.UserInput]::IdleTime.minutes -ge 60) {
    Stop-Computer -force
    }
28 EvgeniuXP
 
04.12.16
22:45
> Сформировали большой отчет, открыли кучу окон и настроили их отображение "под себя"
сохранил окна, закрыл 1С, открыл 1С, восстановил окна. Нет проблем.
29 vde69
 
04.12.16
22:54
(24) ты будешь удивлен.... жрут гады, в течении 3х суток...

кроме того если после просыпания сервер решит этому сеансу отдать новый рхост - то будет жрать 2 лицензии, и так далее...

разумеется если лицензии выдаются сервером а не клиентом

у меня 70 лицензий как-то не хватило 10 реально активным юзерам :)
30 TormozIT
 
гуру
05.12.16
00:41
Спящего пользователя вебкамера и спец. софт, распознающий образы спящих людей, может выявить. Софт сгенерирует событие, а в 1с его обработать. =)
31 TormozIT
 
гуру
05.12.16
00:42
(29) Это на какой версии платформы спящие не отпускают лицензии 3 суток? Похоже на нештатное поведение платформы.
32 Лефмихалыч
 
05.12.16
07:26
var objWMIService = GetObject("winmgmts:\\.\root\CIMV2");
   var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Desktop", "WQL",
                                          wbemFlagReturnImmediately | wbemFlagForwardOnly);

   var enumItems = new Enumerator(colItems);
   for (; !enumItems.atEnd(); enumItems.moveNext()) {
      var objItem = enumItems.item();

      if(objItem.ScreenSaverActive)
          // вот тут можно что-то делать
33 Tarlich
 
05.12.16
11:13
34 Tarlich
 
05.12.16
11:18
35 vde69
 
05.12.16
11:54
(31) к сожалению это штатное поведение 1с... расписано в администрировании ключей...

просто раньше это проявлялось не так заметно (на то были причины)...

очень хочу перевести юзеров на получение ключей клиентом, но при запуске с сетевой папки 1с не видит файла настроек хаспа, а мапить диск не хочу, сейчас вроде все хорошо кроме ключей....
36 TormozIT
 
гуру
11.12.16
15:57
(35) Дай ссылку на документацию или приведи выдержку из нее.
37 EvgeniuXP
 
11.12.16
19:44
(2) е если пользователь нажал кнопку чтоб выбрать файл и затем уснул? :)
38 timurhv
 
11.12.16
22:10
(29), (35) Т.е. это так себя ведет аппаратный ключ? С программными не замечал такого поведения.
39 Vladal
 
12.12.16
00:24
(27) Просто проверять текущее время - если больше 18 часов, то от 18 часов отсчитывать время простоя и вырубать сеанс.

За скрипт спасибо. Интересно.