gifts2017

UsersLog.exe. Система полной отчетности об использовании рабочего времени пользователями. 1С, Word, Excel, Кино, Интернет, Одноклассники, ВКонтакте и т.д. Не только 1С, но и все активные окна Windows посекундно!

Опубликовал Alexander Vaniev (Kis_s) в раздел Администрирование - Системное

Система полной отчетности об использовании рабочего времени пользователями. Не только 1С, но и все активные окна Windows. Сколько времени и на что потрачено...

Клиент UsersLog.exe запускается фоном на рабочих местах пользователей. Постоянно отслеживает активное окно Windows, его заголовок и имя процесса. Все это пишется в центральную базу данных sql, dbf или Excel. Конфигурация на 1С анализирует эти данные и строит любые отчеты использования рабочего времени по пользователям. Вплоть до конкретного заголовка любого окна. В случае отключения от центральной базы (ноутбук уехал в командировку) все данные пишутся локально, а при подключении к центральной базе - перемещаются в неё. Используются только официальные и документированные функции Windows.

Вы знаете, как Стаханов стал рекордсменом?

Под его логином в шахту спускались четыре бригады...

//------------------------------------------------------------------------------------------------------------------------------------

Быстрый запуск

Клиент
- В пустой каталог кладем UsersLog.exe и UsersLog.ini
- Блокнотом открываем UsersLog.ini
- Секция [CONNECT] параметр "String". Должен быть разремарен (не должно стоять точки с запятой в начале строки) только один из шаблонов и в нем должны быть указаны корректные данные.
По-умолчанию в файле настроек приведены три возможных ODBC строки подключения к базам данных. SQL, dbf и Excel. Все параметры в них указаны.
Для sql - перед использованием нужно создать базу данных и пользователя/пароль для подключения к ней. Таблицу клиент создаст сам.
Для dbf - перед использованием в строке соединения нужно вместо "Dbq=d:\" прописать корректный путь до файла базы данных. Файл клиент создаст сам.
Для excel - перед использованием в строке соединения нужно вместо "Dbq=f:\UsersLog.xls;DefaultDir=f:\" прописать имя файла и путь. Файл клиент создаст сам.
- Запускаем клиента UsersLog.exe. Должно открыться окно клиента.
- Стартуем клиента (Кнопка Start). В системном трее значок программы должен стать зеленым. Если значок в системном трее остался черным, значит что-то не так с соединением с базой данных, проверям строку ODBC соединения. Также можно включить режим логирования [MAIN]WriteLog=1, перезапустить клиента и посмотреть на ошибку в C:\Users\ИмяПользователя\AppData\Local\UsersLog\UsersLog.log.
- По-умолчанию: Клиент сканирует активное окно раз в секунду и показывает это. Один раз в 10 минут пытается скинуть эту информацию в центральную базу или запомнить локально. При этом он очищает свой кеш.
- Для масштабирования на многих пользователей делаем папку общедоступной и прописываем запуск клиента всем пользователям. При этом меняем параметр в секции[MAIN]Hide=1. А база данных в строке соединения [CONNECT]String должна быть доступна всем.
- Просматриваем остальные настройки UsersLog.ini? меняем их, если нужно. (Все настройки прокомментированы в самом файле или в описании ниже)


- Поставляемый файл 1Cv8.cf содержит подсистему UsersLog, которую можно внедрить в любую конфигурацию или использовать отдельно. Для использования отдельной базы данных достаточно в пустую базу загрузить 1Cv8.cf.
- В 1С устанавливаем доступной роль логUsersLog
- Для загрузки данных из центральной базы клиента в 1С используется обработка "Загрузить users log". В ней выбирается/заполняется строка соединения с базой данных клиента, формат даты ('yyyy-MM-dd' для sql и #yyyy-MM-dd# для dbf), период загрузки.
- Обработка загружает данные, формирует и проводит документы "Действия пользователей".
- На основании оборотного регистра сведений "Анализ деятельности пользователей" строятся отчеты "Анализ деятельности пользователей"

//------------------------------------------------------------------------------------------------------------------------------------
Настройка UsersLog.ini

Булевы параметры могут принимать значения 0 или 1.
[MAIN]
- Hide=0 или Hide=1 - Скрывать ли основное окно при запуске. Если будет 1, то закрыть клиента можно будет только убив процесс
- AutoStart=1 - Автоматически начинать работу при старте клиента. Если будет включен скрытый режим, то клиент тоже начнет работу, не зависимо от этого параметра
- SysTrayIcon=1 - Показывать в системном трее иконку приложения или нет. При нескрытом режиме в контектсном меню иконки можно вызвать пункт "Show" и увидеть окно клиента. При скрытом такого пункта даже не будет. Но по цвету иконки видно, есть ли соединение с базой данных. Целеный - есть. Черный - нет. В нерабочее время клиент сам отключится от базы и иконка будет черной.
- WriteLog=0 - Писать ли собственный отладочный лог. При WriteLog=1 лог будет писаться по пути C:\Users\ИмяПользователя\AppData\Local\UsersLog\UsersLog.log. Открывается блокнотом. Лог очищается при каждом старте клиента.
- BeginTime=08:00 и EndTime=20:00 - тут можно указать рабочее время, в промежутке которого ведется логирование пользователя. Т.к. клиент ведет логирование, даже отключившись от базы данных, но учитывает только дату, имеет смысл установить.

[CONNECT]
;Строка соединения с базой данных на сервере
String=ODBC;DSN=MQIS;DRIVER={SQL Server};SERVER=ИмяСервера;DATABASE=ИмяБазыДанных;UID=ИмяПользователя;pwd=Пароль;Trusted_Connection=ИспользоватьВстроеннуюАвторизациюWindows
- По-умолчанию в файле настроек приведены три возможных ODBC строки подключения к базам данных. SQL, dbf и Excel. Все параметры в них указаны.
Для sql - перед использованием нужно создать базу данных и пользователя/пароль для подключения к ней. Таблицу клиент создаст сам.
Для dbf - перед использованием в строке соединения нужно вместо "Dbq=d:\" прописать корректный путь до файла базы данных. Файл клиент создаст сам.
Для excel - перед использованием в строке соединения нужно вместо "Dbq=f:\UsersLog.xls;DefaultDir=f:\" прописать имя файла и путь. Файл клиент создаст сам.
- TableName=UsersLog - Имя таблицы в базе данных или имя файла для файловой базы. Может изменяться только при вводе лицензии.
- ConnectAtStartup=1 - Выполнять соединение с центральной базой данных при старте или подождать указанный в настройках таймаут
- FormatDate=%Y-%m-%d - Формат даты, используемый ODBC драйвером.

[TIMER]
- Scan=1 - Интервал сканирования (сек). Один раз за это время клиент определяет активное пользовательское окно и запоминает в кеше информацию о нем.
- TimeOut=300 - Интервал простоя, после которого считается, что пользователь отошел (сек). В этом случае последние 300 секунд использования текущего окна считаются неверно истолкованными и время использования по этому окну откатывается на 300 секунд. Клиент переходит в режим ожидания. Простой определяется стандартыми API функциями GetTickCount()-GetLastInputInfo().
- Update=600 - Интервал записи данных и очистки текущего кеша (сек).
- Connect=3600 - Интервал попыток соединения с центральным сервером (сек). Если связь с центальной базой будет потеряна (Ноутбук уехал в командтровку), клиент перейдет во временный локальный режим сохранения данных. Значок в системном трее станет черный. Этот параметр отпределяет интервал, с которым клиент будет пытаться установить связь с центральной базой данных, чтобы добавить ей всю накопленную информацию.

[CLASSWINDOW]
КЛАССЫ ОКОН 1С
(Классы окон можно посмотреть, например, при помощи Spy++, входящего в поставку Microsoft Visual Studio)
Для обычных приложений клиент считывает только заголовок главного окна. Для 1С клиент углубляется в само приложение и считывает заголовки подокон, открытых в 1С (Оборотно-сальдовая ведомость, Справочник Контрагентов и т.д.). Данная секция описывает классы окон 1С:Предприятия, чтобы клиент мог по ним "спуститься" до нижнего окна.
- V8TopLevelFrame=V8TopLevelFrame|Afx:400000:0:0:0: - Имена или части имен классов окна основного приложения. Разделенные знаком "|"
- V8MDIClient=V8MDIClient|MDIClient - Имена или части имен клиентского окна рабочего стола приложения. Разделенные знаком "|"
- V8MDILocalFrame=V8MDILocalFrame|Afx:400000:b:10003:6: - Имена или части имен подчиненного локального окна. Разделенные знаком "|"

[APPLICATIONS]
- MakeUpApplicationName=0 - Делать имена приложений большими буквами при записи в базу данных. На различных компьютерах и операционных системах WinWord и WINWORD могут отличаться. Параметр используется, чтобы потом можно было сложить эти значения.
- SkipApplications = mtsc - Имена или части имен приложений, которые нужно пропускать. Разделенные знаком "|".
- SkipWindows = Секрет|Банк|клиент - Имена или части имен окон, которые нужно пропускать. Разделенные знаком "|"

 

//------------------------------------------------------------------------------------------------------------------------------------
Клиент UsersLog.exe

- Все настройки клиента хранятся в файле UsersLog.ini
- Файл настроек UsersLog.ini должен находиться рядом с UsersLog.exe и иметь то же название, что и клиентское приложение (в случае переименования exe, нужно переименовать и ini файл)
- Файл настроек UsersLog.ini редактируется обычным блокнотом
- Значения из файла настроек берутся клиентом при запуске и после этого не считываются
- Клиент запускается под именем пользователя, без каких-либо особенных прав
- Клиент считывает заголовки окон, имена приложений и т.д. при помощи документированных и легальных API функций
- Клиент с одним и тем же именем отслеживает себя и не может быть запущен дважды (если нужно, то придется менять имя исполняемому файлу)
- Для работы клиента на sql база данных, прописанная в настройках должна быть создана, таблицы создавать не нужно, клиент сделает это сам
- Для работы в dbf режиме у пользователя должны быть права на создание файлов в директории, указанной в строке соединения [CONNECT] String
- Текущая версия программы рассчитана на небольшую фирму и ограничена ведением журнала на 5 пользоватлелей и невозможность изменить имя таблицы

//------------------------------------------------------------------------------------------------------------------------------------
28.01.2015

Обновлен файл конфигурации:

- Обработка "Загрузка users log" может загружать данные из dbf файла штатным 1С средством XBase dBase III. Для этого в строке соединения нужно указать путь к файлу, а имя таблицы будет именем файла (.dbf дописывать в имя таблицы не нужно). Метод работает только для файлового режима запуска 1С.

- Работает выбор и сохранения вариантов отчета.

//------------------------------------------------------------------------------------------------------------------------------------
30.01.2015

Обновлено. Клиент 1.2.1.6. Косметические изменения ...

- Добавлена возможность сворачивать при старте в любом режиме.

- Исправлена ошибка с расчетом простоя "рабочего времени" после 00:00 часов

- Исправлена небольшая "утечка памяти" в режиме самологирования.

- По закрытию окна - сворачивание в трей.

- Для закрытия приложения не в скрытом режиме - отдельная кнопка.

- В демобазе заполнена общая область начальной страницы ...

 


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

Наименование Файл Версия Размер Кол. Скачив.
UsersLog.exe и UsersLog.ini (Основной клиент и файл настройки клиента)
.rar 706,97Kb
30.01.15
97
.rar 1.2.1.4 706,97Kb 97 Скачать
Конфигурация для загрузки данных и построения отчетности
.cf 87,40Kb
30.01.15
86
.cf 87,40Kb 86 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. VVV (V_V_V) 26.01.15 15:47
Как сильно клиент грузит систему? Есть ли проблемы с совместимостью для ХР, 7, 8? Более 5-ти пользователей - платно?
2. Alexander Vaniev (Kis_s) 26.01.15 16:39
(1) V_V_V,
Вообще не грузит .... он же считывает только активное окно ....
Плюс всю информацию хранит в памяти и только раз в [TIMER]Update=600 секунд обращается к базе (обычно раз в 10 минут) или к диску
Проблем совместимости не замечено ... проверено на XP, Win7 x86, Win7 x64 ....
Более 5 клиентов - версия будет попозже ...
3. Денис Лашев (911service) 26.01.15 17:40
Это уже вмешательством в личную жизнь папахивает. Перерывы на работе необходимы и работодателю знать о них не обязательно. Кто-то курить выходит, кто-то на обед, кто-то в соц.сетях посидит.
PavelZnaikin; zqzq; Mi4man; vdgb_bushkov; rngstr; Кузьмич; +6 2 Ответить 4
4. script Мальчинко (script) 26.01.15 17:48
У меня не работает запись в файл.
Настроил по минимому - файл не появляется и значек в трее не зенелеет.

Мой раздел конект в ини файле. больше ничего не менял.
Запустил под правами админа

[CONNECT]

;Строка соединения с базой данных на сервере

;sql
String=ODBC;DSN=MQIS;DRIVER={SQL Server};SERVER=ИмяСервера;DATABASE=ИмяБазыДанных;UID=ИмяПользователя;pwd=Пароль;Trusted_Connection=ИспользоватьВстроеннуюАвторизациюWindows

;dbf
String=Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=I:\;

;excel
;String=Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=f:\UsersLog.xls;DefaultDir=f:\;ReadOnly=0;
vnature72; +1 Ответить
5. script Мальчинко (script) 26.01.15 17:55
Вот Лог

26-01-2015 16:51:26 ---------------------------------------------------------------------------------------
26-01-2015 16:51:26 Start
26-01-2015 16:51:26 Initialization
26-01-2015 16:51:26 Add SysTrayIcon
26-01-2015 16:51:26 String connection: ODBC
26-01-2015 16:52:27 Click OK button
26-01-2015 16:52:27 SetTimer SCAN
26-01-2015 16:52:27 SetTimer UPDATE
26-01-2015 16:52:27 SetTimer CONNECT
26-01-2015 16:52:27 Timer CONNECT
26-01-2015 16:52:27 Start connect database...
26-01-2015 16:52:27 Opening database...
26-01-2015 16:52:27 Error connect database: Источник данных не найден и не указан драйвер, используемый по умолчанию Недопустимый атрибут строки соединения
26-01-2015 16:52:27 StartTimer CONNECT
6. Alexander Vaniev (Kis_s) 26.01.15 18:40
(3) 911service,
Рабочее время выставляется в настройках. Обеденные простои машины тоже учитываются. Отчеты, в основном, делаются по запущенным приложениям, а не по заголовкам окон - их можно и не считывать. Остальное - на усмотрение руководства. Сам использую для себя, чтобы понять на какие терминальные сессии или работы сколько времени потрачено...

(5) script,
Неверная строка ODBC .... у Вас разремарена sql переменная. Для DBF базы Нужно

;sql
;String=ODBC;DSN=MQIS;DRIVER={SQL ...

;dbf
String=Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=I:\;

А лучше вообще стереть лишние ODBC... Они даны для примера ....
Прав лишних не нужно ... все работает под обычным пользователем ...
7. sys1c (sys1c) 27.01.15 05:41
Будет ли работать на терминальном сервере?
8. Alexander Vaniev (Kis_s) 27.01.15 06:15
(7) sys1c, Если только запущен на самом сервере. Из опыта эксплуатации - клиента устанавливают и на сервер и на локальные машины, но на локальных машинах запрещается считать окно терминала сервера, чтобы данные не двоились, например:
[APPLICATIONS]
SkipWindows = 10.0.0.1|10.0.1
Локальный же клиент никак не сможет увидеть окна mstsc. Они отсутствуют в локальной системе. В этом можно легко убедиться, запустив spy++ из комплекта MS Visual Studio
9. Александр Воронов (ya.Avoronov) 27.01.15 10:12
Запуск на системе XP SP3. Все провайдеры ADODB в системе установлены. Использую строку подключения к dbf. Ошибка:

Невозможно установить соединение с базой данных! {Обработка.логЗагрузитьUsersLog.МодульОбъекта(18)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанного поставщика. Вероятно, он установлен неправильно.


Есть ли рекомендации по настройке поставщика?
Возможно указать путь к dbf и открыть стандартными средствами 1С, без ADODB.Connection?
10. Alexander Vaniev (Kis_s) 27.01.15 15:34
(9) ya.Avoronov, Хотелось бы универсальности ;о), поэтому и выбрал такой режим ....

Там же в обработке должна быть вроде выпадающая строка
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=Путь;
а в Имени таблицы нужно написать ИмяФайла - это самый стандартный драйвер от Microsoft ....

Если останется время, вечером добавлю возможность загружать стандартными 1Совыми XBase .... но только для Файл-Серверного варианта, чтобы без тонких и Web клиентов с передачей файла на сервер....
11. sys1c (sys1c) 28.01.15 07:14
Еще раз хотел бы уточнить. На терминальном сервере необходимо запускать (вижу есть возможность скрытно) файл UsersLog. Т.е. их в процессах, к примеру если 50 человек, будет 50 шт. Надеюсь он работает под правами Юсера?

Какие мысли у вас по поводу версии на 50 и больше юсеров?
12. Александр Топольский (AlexanderKai) 28.01.15 10:12
Для самоконтроля полезная штука.
maXon777; trdm; 1C82; Muxomop; marku; +5 Ответить
13. Alexander Vaniev (Kis_s) 28.01.15 10:35
(11) sys1c, да, 50, на каждого пользователя терминальной сессии ... клиент маленький и шустрый ... памяти ест мало .... время опроса можно поставить не 1, а 10-60 секунд - это сведет нагрузку к минимуму, а на данные не повлияет ... есть работающий пример 50-120 пользователей терминала и до 300 локальных рабочих мест, но, правда, там работа оффлайн ноутбуков только внедряется.... И модуль загрузки данных более оптимальный - несколько таблиц sql. Работает под правами текущего пользователя, никаких дополнительных полномочий не нужно, лишь бы время от времени был доступ к базе данных...

После завершения отладки и тестового периода версия на неограниченное число пользователей будет выпущена в свет. Возможно, платная. ;о)
14. Кузьмич (Кузьмич) 28.01.15 10:57
(3) 911service, поддержу. Это "шестёрочное" решение, нужное в случае, когда надо кого-то выгнать с работы.
Человек может и не заниматься посторонними вещами, и при этом создать за день 2 документа и 10 номенклатур. А другой может создать 200 документов, 300 номенклатур, и при этом нафлудить в фейсбуке, в контактах и прочих, и начитаться анекдотов. Все от скорости работы человека зависит.
Блокировать ресурсы адиминистративно надо, а не подглядывать за людьми.
*Не минусую, хотя наверное зря...
15. Alexander Vaniev (Kis_s) 28.01.15 11:06
(14) Кузьмич, спорить можно много. Как человек - я Вас поддерживаю. Но ведь Вы понимаете, какие у нас начальники. Этот проект я согласился делать для довольно крупной "офисносидящей" компании, где пользователи каждый день тратили по 20-30 минут на заполнение ежедневных отчетов а-ля "Как я весело провел рабочий день". А это, согласитесь, очень изнурительное дело - ежедневно доказывать, что ты не верблюд ... Сейчас же все официально оповещены, что лог ведется, но необходимость в ежедневных отчетах отпала сама собой - за что сами пользователи остались только благодарны ....

А уж самоконтроль - это вообще полезная штука... ;о)
16. юрий гулидов (gull22) 28.01.15 11:12
Мечта начальника.Жаль, что огрничение на 5 "клиентов"
17. DAnry (DAnry) 28.01.15 11:20
Мнигие затрагивают моральный аспект представленного приложения. Всё зависит в чьи руки оно попадёт и с какой целью будет использоваться. Тоесть само по себе приложение безобидное и даже полезное, ЕСЛИ используется к примеру для самоконтроля, или там для изучения эффективности работы, НО. В руках мерзавца оно может превратиться в инструмент подлости... Можно сравнить с динамитом: изобрели вроде для мирного использования, НО...
18. mc2 28.01.15 11:29
Хорошая идея! К сожалению, не работает при соединении клиентов с сервером 1С через веб-сервер (тонкий клиент, веб-клиент). В качестве предложения по унификации решения: выгружать данные в базу используя веб-сервис 1С. Тогда будет работать наличии любого соединения - есть соединение, выгружаем, а если нет, то буферируем.
19. Alexander Vaniev (Kis_s) 28.01.15 11:51
(17) DAnry, Тем более, не все работают в Гугле ;о)

Вот пара примеров из жизни:
Есть организация, которая использует клиента для полуавтоматического построения табеля работы. При этом сразу ставят 8 часов и не парятся.
Есть еще организация, занимающаяся аутсорсингом бухгалтерского учета. В заголовках 1С:Предприятия прописали названия организаций - клиентов и руководство может быстро сориентироваться - на кого из клиентов сколько времени тратится. Всем же известно, что 20% клиентов приносят 80% прибыли, а с такой статистикой - можно оперативно принимать управленческие решения.

(18) mc2, Возможно, можно подумать .... хотя хотелось на начальном этапе сбора статистики "отвязаться" от 1С платформы...
20. Александр Топольский (AlexanderKai) 28.01.15 13:52
Тестирую - на одной базе 1С(конфигуратор) вылезло -298(с минусом) секунд.
21. Sergei (kauksi) 28.01.15 14:01
статья 138 УК РФ. Она называется «Нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений».

«Нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений граждан - наказывается штрафом в размере до восьмидесяти тысяч рублей или в размере заработной платы или иного дохода осужденного за период до шести месяцев, либо обязательными работами на срок до трехсот шестидесяти часов, либо исправительными работами на срок до одного года».

Но это лишь первая часть закона. Читаем дальше:

«То же деяние, совершенное лицом с использованием своего служебного положения или специальных технических средств, предназначенных для негласного получения информации - наказывается штрафом в размере от ста тысяч до трехсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период от одного года до двух лет, либо лишением права занимать определенные должности или заниматься определенной деятельностью на срок от двух до пяти лет, либо обязательными работами на срок от ста восьмидесяти до двухсот сорока часов, либо арестом на срок до четырех месяцев, либо лишением свободы на срок до четырех лет».
22. cmd_vasec (cmd_vasec) 28.01.15 14:17
Нашел способ обойти данную программу: когда надо уйти открываешь документ (например) и уходишь. Программа все это время спишет на этот документ.
А как программа фиксирует бездействие пользователя?
23. Александр Топольский (AlexanderKai) 28.01.15 14:28
(21) kauksi,
Нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений граждан

Эта программа не нарушает тайну переписку, телефонных разговоров.
Или к чему была статья приведена?
24. Alexander Vaniev (Kis_s) 28.01.15 15:12
(20) AlexanderKai, Ничего страшного .... это время простоя ... т.е было так 1. Начала считать окно ... Слила информацию в базу ... Обнаружила простой, в кеше информации уже нет, запомнила минус - потом сольет в базу и все сложится ...

(22) cmd_vasec, нет .... время простоя указывается в ini - файле ... после обнаружения бездействия время текущего окна минусуется и таймер останавливается ....
Время простоя берется стандартными API функциями Windows:
GetLastInputInfo(&lpi);
DWORD te = ::GetTickCount();
int timeOutAll = (te - lpi.dwTime);

(21) kauksi, В заголовках окон Windows НИКОГДА не выводится информация о переписке. А тексты запросов Яндекс и Google и т.д. давным давно используют для контекстной рекламы. Более того, множество программ, открою Вам тайну, используют типовые API функции типа FindWindow("Текст заголовка окна"...)... не говоря уже о том, что Microsoft не запрещает даже одному приложению отправлять команды для другого. Последовательность из двух команд:
hWnd = FindWindow("Одноклассники"...).
SendMessage(hWnd, WM_CLOSE)
Закроет браузер без шума и пыли ....
25. Александр Воронов (ya.Avoronov) 28.01.15 15:12
Очень впечатлен программой. Спасибо за старания.
Отдельное спасибо за Обновление Обработки: "Загрузка users log", может загружать данные из dbf файла штатным 1С средством XBase dBase III
Буду тестировать на вредителях сотрудниках компании.
26. Александр Шемякин (RealEscander) 28.01.15 15:51
Я так понимаю UserLog не учитывает то время пока 1С чего-то активно делает... т.е. теоретически если мне ставят на комп эту прогу, то при запуске тяжёлых отчетов/обработок ранее я или с бумагами или чего смотрел на том-же ИС/мисте то теперь будут считать, что я или бездельничал или смотрел прон-онланн.... Ну зашибись, чё!

И ещё помнится по охране труда положено в течении часа 5-10 мин отваливать от монитора куда подальше... как понимаю в программе это тоже не учитывается (не ведётся ежечасный лимит простоя).Так?
27. Александр Топольский (AlexanderKai) 28.01.15 16:24
(26) RealEscander,
Ставь таймаут на 5-10 минут. Если отчет формируется дольше чем 10 минут - это неправильно написанный отчет скорей всего :)

Программа отслеживает время последнего ввода, так что если нажимать раз в минуту что-нибудь, то данные будут верно истолкованы.
28. Александр Топольский (AlexanderKai) 28.01.15 16:27
(26) RealEscander,
Даже если ты шевельнул мышкой - это уже ввод. И это учтется.
29. Илья Козлов (ilialin) 28.01.15 19:19
<философия>
В чем смысл заголовка колонок "Время по факту"? Или там есть еще другие заголовки, что-то типа "Запланировано потратить времени...". Почему не просто "Время"?
</философия>

<закон>
(21) kauksi,
Это относится к личному времени и личной переписке. Время на рабочем месте не личное. Сотрудники предупреждаются о факте контроля.
</закон>

<если нет 1С + красивые графики>
http://www.manictime.com/
</если нет 1С + красивые графики>
30. Сергей (1C82) 28.01.15 19:22
(3) 911service, На работе надо заниматься работой. Если вы согласились сами на полный рабочий день , то почему работодатель не должен знать сколько времени вы действительно работали? Если не нравится такая постановка вопроса - идите во фриланс. Я думаю это хорошая программа как для самоконтроля так и для организации эффективного рабочего времени!
sys1c; Anchoret; maXon777; ya.Avoronov; +4 1 Ответить 1
31. sys1c (sys1c) 29.01.15 03:40
Нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений граждан

Вы на работе сидите на стуле который купила вам организация, пользуетесь инетом который оплачивает вам организация, вы свое время продали работодателю.
Хотите посидеть в одноклассниках или поиграть в крестики нолики - запускайте на своей мобиле и никто не будет подсматривать.
maXon777; ya.Avoronov; +2 Ответить 1
32. Роман Грук (gruk) 29.01.15 05:17
(14) Кузьмич, Блокировки ресурсов частично обходятся или заменяются чем либо другим, но не основной работой. Сотрудники очень часто завышают уровень временных затрат на какие-либо выполняемые ими операции и хронически "заняты" или "не успевают". Я конечно про всех не говорю, есть люди которые умеют работать быстро (в основном они просто не занимаются всякой не имеющей отношения к работе чепухой). Да и если видно, что пользователь сидит 2часа в ворде над заявлением из 2 абзацев, ему можно предложить тренажер по скорости печати, курсы компьютерной грамотности или сменить профессию на ту, с которой он легко будет справляться.
Вот у нас шеф издал приказ и под роспись всех ознакомил, что в конце месяца премию не получат те, кто по анализу трафика будет уличен в соцсетях, новостных и развлекательных сайтах. Итог: на 25 чел снижение трафика на 6ГБ/мес. и некоторые сотрудники стали обходные пути находить. Вот зачем читать новости на сайтах, когда можно подписаться на рассылки :)
33. Алексей 1 (AlX0id) 29.01.15 10:51
Добрая штука наверное ) Я для подобных целей использую Manictime - оч удобно и полезно )
34. Alexander Vaniev (Kis_s) 29.01.15 17:15
(29) ilialin, Отчет "выдран" из рабочей базы. "Время по-факту" - это как раз время, которое отражает программа. Там еще есть ВремяПоПлану, ВремяПоНорме, Отклонения, Превышения, Эффективность и прочие показатели, которые хотел клиент ....
35. Александр Алекс (arktika1) 29.01.15 20:50
Хорошая программа
только я не понял она работает на Сервере
при условии что все клиенты терминальные и на машинах работы вообще ни какой нет
или её все же надо ставить на каждое рабочее место и потом от туда собирать урожай.
36. Alexander Vaniev (Kis_s) 29.01.15 22:47
(35) arktika1, Как нравится .... можно и туда и туда ... просто локальному клиенту запретить считать окно терминала - этим будет заниматься клиент на сервере ....
37. Вадим Латышев (pro1c@inbox.ru) 30.01.15 11:50
(30) 1C82,
для гиков это не проблема!
есть вирус, будет и антивирус!
38. Вадим Латышев (pro1c@inbox.ru) 30.01.15 11:56
помнится внедрили у нас на заре 2000 годов систему отчетов о проделанной работе...
надоело нам это. написали автоматический генератор формирования отчетов о работе. отсылка teamlead-у письма и т.д.
все работало, никто ничего не замечал... заметили, когда мы ушли, а письма о проделанной работе все приходили и приходили...
:)))
39. Степан Пинта (vnature72) 31.01.15 10:14
хм, из доменого юзера даже логи не пишет, запустил под админом -
31-01-2015 11:40:56	---------------------------------------------------------------------------------------
31-01-2015 11:40:56	Start
31-01-2015 11:40:56	Initialization
31-01-2015 11:40:56	Add SysTrayIcon
31-01-2015 11:40:56	String connection: Driver={Microsoft Excel Driver (*.xls)};DriverId=790;C:\log\UsersLog.xls;ReadOnly=0;
31-01-2015 11:41:06	Click OK button
31-01-2015 11:41:06	SetTimer SCAN
31-01-2015 11:41:06	SetTimer UPDATE
31-01-2015 11:41:06	SetTimer CONNECT
31-01-2015 11:41:06	Timer CONNECT
31-01-2015 11:41:06	Start connect database...
31-01-2015 11:41:06	Opening database...
31-01-2015 11:41:07	Error open database
31-01-2015 11:41:07	StartTimer CONNECT
31-01-2015 11:50:18	TimeOut. Go to sleep...
31-01-2015 11:51:06	Insert data to C:\Users\admin\AppData\Local\UsersLog\UsersLog.dat
31-01-2015 12:01:06	Insert data to C:\Users\admin\AppData\Local\UsersLog\UsersLog.dat
...Показать Скрыть

Может быть проблема с указанием xls файла?
[CONNECT]
String=Driver={Microsoft Excel Driver (*.xls)};DriverId=790;C:\log\UsersLog.xls;ReadOnly=0;
40. Alexander Vaniev (Kis_s) 31.01.15 15:47
(39) vnature72, проблема с установленными ODBC, а dbf драйвер? Или файл был занят...
41. Sergey S (stagov) 31.01.15 16:42
(3) 911service, Не вмешательство в личную жизнь - это конечно святое.НО.. Когда Вы нанимаете сотрудников и еще платите им ЗП, а потом на вопросы почему мы ничего не успеваем, отвечают: - Я была занята другой работой! Так вот из личного примера! Без вмешательства! Касперский - родительский контроль с вкл. запретом соц.сетей, магазинов, аудио-видео. Занятой другой работой человек ч-з неделю уволился. Пропал смысл жизни.
42. Sergey S (stagov) 31.01.15 16:46
Ну а с вмешательством... подобная программа слежения была поставлена в офисе торговой компании. Цель была поймать на хищении конкретного человека. Результат: подозреваемый оказался чист, а вот доверенное лицо директора как раз и приворовывало.
43. Степан Пинта (vnature72) 02.02.15 09:08
Не могу загрузить dbf в 1с:

Невозможно установить соединение с базой данных! {Обработка.логЗагрузитьUsersLog.МодульОбъекта(18)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
Строка подключения:
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:\log\;
пробовал также
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:\log\USERLOG.DBF;

Файл userlog.dbf успешно формируется.

02-02-2015 10:39:56	---------------------------------------------------------------------------------------
02-02-2015 10:39:56	Start
02-02-2015 10:39:56	Initialization
02-02-2015 10:39:56	Add SysTrayIcon
02-02-2015 10:39:56	String connection: Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:\log\;
02-02-2015 10:39:58	Click OK button
02-02-2015 10:39:58	SetTimer SCAN
02-02-2015 10:39:58	SetTimer UPDATE
02-02-2015 10:39:58	SetTimer CONNECT
02-02-2015 10:39:58	Timer CONNECT
02-02-2015 10:39:58	Start connect database...
02-02-2015 10:39:58	Opening database...
02-02-2015 10:39:58	Database is open
02-02-2015 10:39:58	Find table UserLog...
02-02-2015 10:39:58	Creating table...
02-02-2015 10:39:58	CREATE TABLE UserLog ([Date] date, [UserName] char(50), [Window] char(200), [SubWindow] char(200), [Application] char(50), [TimeSec] int)
02-02-2015 10:39:58	Create table
02-02-2015 10:46:48	TimeOut. Go to sleep...
02-02-2015 10:49:58	Start UpdateDatabase...
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','UsersLog','','UsersLog',7)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','Total Commander 8.01 - EKTOS A/S','','TOTALCMD',28)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','Reload','','notepad++',3)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','C:\log\UsersLog.ini - Notepad++','','notepad++',2)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','\\192.168.1.25\shared\it\soft\dameware\uni-dwp-1.1-FiNAL-vityan.nfo - Notepad++','','notepad++',3)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','C:\Users\butaev_ak\AppData\Local\UsersLog\UsersLog.log - Notepad++','','notepad++',25)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','Конфигурация','','1cv8c',53)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','1С:Предприятие','','1cv8c',3)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','Выберите период - Конфигурация','','1cv8c',2)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','Свойства: USERLOG.DBF','','TOTALCMD',9)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','Разрешения для группы "USERLOG.DBF"','','TOTALCMD',7)
02-02-2015 10:49:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','','','1cv8c',1)
02-02-2015 10:49:58	Insert data to database
02-02-2015 10:59:58	Start UpdateDatabase...
02-02-2015 10:59:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','Total Commander 8.0.1','','TOTALCMD',5)
02-02-2015 10:59:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','UsersLog','','UsersLog',3)
02-02-2015 10:59:58	INSERT INTO UserLog VALUES ('2015-02-02','Butaev_AK','Входящие - Личные папки - Microsoft Outlook','','OUTLOOK',73)

02-02-2015 10:59:58	Insert data to database
...Показать Скрыть



что я делаю не так?
44. Степан Пинта (vnature72) 02.02.15 13:14
s mssql такая-же проблема - таблица создается, данные в ней есть, но вот вытащить в 1с не получается.

SELECT COUNT(*) FROM UsersLog
Ошибка {Обработка.логЗагрузитьUsersLog.МодульОбъекта(31)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Недопустимое имя объекта "UsersLog".
45. Станислав Коляда (it@contlog.ru) 13.02.15 11:41
В принципе, все удобно, но программа почему-то в сам лог пишет время снятия, а в базу вставляет без времени, что не очень удобно :
13-02-2015 15:23:23 INSERT INTO UserLog VALUES ('2015-02-13','sk','Входящие - Microsoft Outlook','','OUTLOOK',14)
13-02-2015 15:23:23 INSERT INTO UserLog VALUES ('2015-02-13','sk','Без имени - Сообщение (HTML) ','','OUTLOOK',1)
','','OUTLOOK',11)
46. Александр Лукин (i_lo) 18.02.15 13:11
Пользуюсь ManicTime. Удобно, но у нее последнее время глюки. Достоинства по сравнению с (0) - красивый интерфейс и график времени.
(0) Согласен с (45) очень не хватает времени при записи в файл!
Ещё обнаружил, что при завершении работы системы она не сбрасывает последний кэш в файл. Печально. Терять до 10 минут - это много. Нельзя ли поймать какое-то оповещение от системы и сбросить кэш?
47. С К (kraynev-navi) 24.02.15 09:56
(33) ManicTime очень прожорлив. Спустя год-два при запущенной проге уже нельзя открыть файл MS Word - не хватает памяти. Приходилось выгружать. В итоге отказался от него совсем.

Вопрос по UsersLog. Не удалось заставить работать в интерфейсе такси и в режиме "с закладками" - накапливается только общая работа без детализации по закладкам внутри 1С. Использовал WinSpy++ для определения подчиненных окон. Не удалось найти не V8MDIClient, не V8MDILocalFrame. Находит лишь V8TopLevelFrameSDI и у него элементы с V8FormElement. Указание этого класса к желаемому результату не приводит. Что-то можно сделать?
windows 7x64, 1C 8.3.5.1383.
48. Alexandr Kuritsyn (hibico) 24.02.15 11:43
Не буду обсуждать полезность или вредность данных программ. У нас стоит "Crocotime". Смысл работы аналогичный. Хочу только сказать, что не надо быть крутым гуру чтобы обмануть подобную программу. Поэтому, кто поумнее сможет хоть целый день торчать в курилке, а другой будет корпеть за компом.
49. Алексей 1 (AlX0id) 24.02.15 20:06
(47) kraynev-navi,
Ну у меня пока не дожил до года - где-то полгода пока. Но разработчики утверждают, что производительность программы не зависит от количества информации в БД - не исключено, что зависит от релиза.
Памяти на данный момент у меня жрет 50 МБ - могу себе позволить )
50. Эмиль Карапетян (amon_ra) 25.02.15 15:24
присоединяюсь к вопросу от (43) vnature72. Может кто-то пояснить как быть?
51. С К (kraynev-navi) 25.02.15 16:00
Давайте все позовем топикстартера! Kis_s, приди!!!
Minovich_losha; hunterok; i_lo; +3 Ответить
52. Александр Лукин (i_lo) 26.02.15 02:37
(43) vnature72, (50) у меня конфа заработала с "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:\...\UsersLog\;". Вот только имя файла пришлось исправить: "UserLog". Соединение было установлено! Дальше была ошибка при загрузке. Обошел тем, что отказался от периода. Конфигуратор в помощь ;)!

(47) ManicTime уже почти год использования - 55Мб в памяти.
53. Igor Pogoreltsev (IgorArhangel) 05.03.15 16:09
Не скачивается клиент. Конфа скачалась а клиент не хочет, 2 ссылки ведут на конфигурацию
54. Igor Pogoreltsev (IgorArhangel) 05.03.15 16:15
Все скачалось... Странно
55. Андрей Павликовский (hunterok) 11.03.15 09:26
Настроил на SQL севрер, будем тестировать. В конфе имя таблицы, кстати, UserLog, а не UsersLog должно быть.
Не нравится только вот что: как изменить имена пользователей? На компах сотрудников сисадмин поставил хоть что: admin, user и т.п. - оно все в отчет и лезет. Некрасиво.
Update: Теперь вообще весело) 2 компа с одинаковым именем пользователя - записи в отчете суммируются)

Неужели нельзя в ini файл добавить опцию указания имени пользователя?

Update 2: с лицензией не понял. В логах есть "Only five users license". Лицензии докупать нужно что-ли?

Update 3: Короче, потестировал несколько дней. Мой вывод конкретно после работы с SQL: Продукт сырой, нужна нормальная версия и желательно не просто с датой, но и со временем. За вчера подгрузилась только часть данных, за сегодня вообще данных нет. Логи я еще не смотрел, но сам факт, что сначала данные грузились, а теперь не грузятся - печален. Об именах пользователей уже писал.
56. Александр Кислицин (alekckuc) 11.04.15 18:09
Скачал программу вроде все работает. Планирую избавить себя и сотрудников от рутины ввода потраченного времени.
Хотел бы узнать, будет ли автор развивать функции данной программы ? Будет ли выполнять какие то конкретные просьбы пользователей ? Или может автор выложит исходный код, тогда кто то сможет продолжить проект ?
57. Александр Кислицин (alekckuc) 12.04.15 07:13
То же заметил багу с отридцательным временем.
http://prntscr.com/6spgmz
58. Александр Кислицин (alekckuc) 28.04.15 12:57
Опробовал у себя все живет и работает. Попробовал поставить пользователю, его данные в базу не пишутся. Программа запущена таймер бежит никаких сообщений об ошибках не наблюдается.
59. Александр Кислицин (alekckuc) 28.04.15 15:41
Заглянул в лог такая картина:
28-04-2015 13:06:59 String connection:
ODBC;DSN=MQIS;DRIVER={SQL Server};SERVER=Rds0;DATABASE=time;UID=ПользовательMSSQL;pwd=*********;Trusted_Connection=v
28-04-2015 13:06:59 SetTimer AUTOSTART
28-04-2015 13:07:00 Timer AUTOSTART
28-04-2015 13:07:00 SetTimer SCAN
28-04-2015 13:07:00 SetTimer UPDATE
28-04-2015 13:07:00 SetTimer CONNECT
28-04-2015 13:07:00 Timer CONNECT
28-04-2015 13:07:00 Start connect database...
28-04-2015 13:07:00 Opening database...
28-04-2015 13:07:00 Error connect database: Ошибка входа пользователя "RDS0\ВиндовыйПользователь". Недопустимый атрибут строки соединения.
Не понятно причем тут виндовый юзер, строка соединения то совсем другая
60. Alexander Vaniev (Kis_s) 08.05.15 23:15
Ребят, сорри, не было в стране .... в ближайшие дни всем отвечу ....
61. Александр Кислицин (alekckuc) 16.05.15 07:40
В целом пользуюсь продуктом вполне успешно. Немного допилил на уровне SQL сделал триггер который записывает время апдейта вообще стало хорошо.
Обнаружил интересную особенность, таймер программы связан с текущим временем, к примеру если я установлю часы на час вперед в программе сразу прибавится этот час к текущему активному окну.
62. Александр Кислицин (alekckuc) 16.05.15 07:49
То же заметил багу с отридцательным временем.
http://prntscr.com/6spgmz

Понял что это не бага. Отридцательное время пишется при простоее более заданного параметра.
63. Админ (Bodyk) 05.06.15 19:18
У меня конфигурация работает криво на платформе 8.3 - вариант отчета подробно, не отображает подробную информацию! При этом в логах она имеется.
64. Igor Pogoreltsev (IgorArhangel) 25.06.15 11:48
Вопрос к автору.
Планируется ли расширение функционала?
И как можно будет наблюдать за более чем пятью компами?
65. Евгений Чекушкин (check2) 22.02.16 04:54
Коллега. подскажите, в чём проблема?
22-02-2016 04:51:05 ---------------------------------------------------------------------------------------
22-02-2016 04:51:05 Start
22-02-2016 04:51:05 Initialization
22-02-2016 04:51:05 Add SysTrayIcon
22-02-2016 04:51:06 String connection: ODBC;DSN=MQIS;DRIVER={SQL Server};SERVER=(local);UID=sa;PWD=UrG23hZt;DATABASE=STAT;LANGUAGE=русский
22-02-2016 04:51:10 Click OK button
22-02-2016 04:51:10 SetTimer SCAN
22-02-2016 04:51:10 SetTimer UPDATE
22-02-2016 04:51:10 SetTimer CONNECT
22-02-2016 04:51:10 Timer CONNECT
22-02-2016 04:51:10 Start connect database...
22-02-2016 04:51:10 Opening database...
22-02-2016 04:51:11 Database is open
22-02-2016 04:51:11 Find table UserLog...
22-02-2016 04:51:11 Creating table...
22-02-2016 04:51:11 CREATE TABLE UserLog ([Date] date, [UserName] char(50), [Window] char(200), [SubWindow] char(200), [Application] char(50), [TimeSec] int)
22-02-2016 04:51:11 Error create table: Столбец, параметр или переменная #1: невозможно найти тип данных date.
22-02-2016 04:51:11 StartTimer CONNECT

66. Васюткин Александр (itstopru) 22.04.16 15:50
Так а проблема с отрицательным временем будет решена или нет?
67. Igor Pogoreltsev (IgorArhangel) 25.05.16 10:24
Клиент UsersLog.exe стала падать.
Windows 7 x64.
С ошибкой приложение завершено с ошибкой.
У кого-то такое встречалось?

С отрицательным временем не поборишься.
Разве, что ставить интервал сброса в базу большее кол-во времени.
Я вот поставил интервал в 60 сек.
Так этих минусов просто немерено.
Видать программа клиент перед сбросом в базу не учитывает простой.

И еще вариант уменьшить значение времени простоя.
68. Art Sem (Art77) 02.06.16 04:45
69. Макс Широков (shmax) 22.06.16 12:16
Что то у меня ни как :-(
1. начал мучать dbf формат. вроде ограничение на пять пользователей и трафик никакой зачем думаю sql. Как не мучал ini файл строку:
String=Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;C:\3\1\UsersLog.DBF;
Путь начал указывать сетевой но создаётся из папки запуска, попробовал указывал и так: "C:\3\1\" и так : "C:\3\1\UserLog.DBF" и так "C:\3\1\UsersLog.DBF" и всё равно создаётся файл в папке запуска C:\3\. Ну думаю фиг с ним убедился что когда он создался в папке запуска данные туда летят все хорошо но в 1с всосать не смог. ругается что не может подключится :-(
указывал и только путь до папки и путь с файлом без расширения и путь с файлом и с расширением ни в какую :-(

2. плюнул думаю ладно пойду на sql . Создал БД и чтобы не заморачиваться в ини файле указал пароль sa благо тестил на себе. Таблицы не создались в БД. Сейчас попробую опустив параметр Trusted_Connection чтобы проходила авторизация SQL сервера
70. Макс Широков (shmax) 22.06.16 12:19
c sql ещё поковыряюсь - помогите данные из dbf подгрузить. Допускаю что проблема в том что я работаю не создав пользователя и не выполнив - В 1С устанавливаем доступной роль логUsersLog. Но если в конфигураторе попробовать создать пользователя. то там доступна только одна роль и установив ее пользователь не записывается говоря что нет ни одного пользователя с полными правами
71. Макс Широков (shmax) 22.06.16 12:26
C SQL после того как опустил параметр "Trusted_Connection " вроде наладилось, создалась таблица и я смог к ней подключится : Соединение успешно установлено! Записей в таблице UserLog: 0. Удивлён только что по умолчанию в 1с стоит имя таблицы UsersLog а создаётся UserLog - не внимательный никогда не запустит
73. Alexander Vaniev (Kis_s) 12.09.16 10:46
Программа будет полностью переделана, посему на эту версию даю ключ:

UsersLog.ini

[MAIN]

;Лицензия
License=UNPV2-RCDPX-HRC71-D1W2A
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа