Страницы: 1
RSS
Учёт рабочего процесса. Программа для учёта времени работы активного приложения
 
Добрый день Планетяне.
Задался таким вопросом. На работе ужесточают наш труд. И теперь необходимо каждый день писать в конце рабочего дня отчёт о том чем именно занимался, расписывать поминутно сколько времени затратил на определённую операцию. Есть несколько основных пунктов. Для облегчения рабочего процесса и учёта этого самого времени хочу воспользоваться программкой, которой у меня пока нет.
Суть программы заключается вот в чём. На работе в основном работаем в одних и тех же программах, Excel, AutoCad, Eplan. Так вот хочу чтобы программа автоматически подсчитывала время активного окна, т.е. программы могут быть открыты все одновременно, чаще всего так и бывает, но время чтобы учитывалось когда определённое окно находится в активном состоянии. Т.е. если активен AutoCad, то рисую чертежи, если Excel, то считаю, если Eplan, то рисую схемы, если браузер, то проё.. ищу информацию нужную.
Вопрос-то собственно в том, может кто уже знает готовые такие программы, знаю есть которые учитывают время запущенного процесса, но это не то, тут именно время активного приложения надо суммировать. Если нет такого в природе, то буду сам писать тогда.
Подскажите и просветите в этой теме кто в курсе, может всё придумано давно.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Цитата
Alemox написал:
На работе ужесточают наш труд. И теперь необходимо каждый день писать в конце рабочего дня отчёт о том чем именно занимался, расписывать поминутно сколько времени затратил на определённую операцию. Есть несколько основных пунктов.
Видимо пришел эффективный менеджмент, направленный на процесс ради процесса, отчет ради отчета, а не на результат. Сочувствую.
Цитата
Alemox написал:
Т.е. если активен AutoCad, то рисую чертежи,
или тупо смотрю в экран или говорю по телефону  или …. короче задача в очередной раз утопична и сочуствую еще раз.
Главное в конце написать время на составление этого дебильного и ненужного отчета.

Alemox, то что подобное попадалось в свое время  -точно, но было давно. Ведь как я понял, это не для отчета нужно, а для облегчения составления этого отчета. Кстати "фотография рабочего дня" постепенно усредняется и зрелые компании давно пришли к такой усредненной модели.
По вопросам из тем форума, личку не читаю.
 
БМВ, нас уже заваляли этой бесполезной бюрократией. Вместо дела, занимаемся всякой ерундой. Времени на эту всю бюрократическую структуру уходит больше чем на основное реально полезное дело. А отчёт можно заполнить только после того как в 1С нажал на кнопочку завершить рабочий день, т.е. в 17:00 нажал и только потом уже сидишь полчаса пишешь чем занимался, вне рабочее время получается. Короче у нас начальство не понимает кто чем занимается  :D
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Я бы так сделал:
Отчет:
1) Выполнял основную работу 30 минут
2)Составление отчета о выполненной работе 7 часов 30 минут

обычно, это головная боль работодателя, раз он хочет это контролировать. Есть куча софта, подозреваю что не дешевого, который внедряется на уровне всего домена
что то типа такого:
https://www.timedoctor.com/ru/
Изменено: pharmaprofi - 18.07.2019 10:07:25
 
pharmaprofi, я бы тоже так написал, но нас ограничили несколькими выпадающими списками. Предположим ведёшь одновременно 4 проекта, по каждому из этих проектов необходимо указать, что именно делал из выпадающих списков и указать время на каждую операцию в минутах. Ну есть ещё строка прочее, куда можно писать буквы.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Случай из жизни.
Регулировка электронных шкафов (такие большие металические ящики с кучей элекстроники и исполнительных механизмов). На регулировку каждого отдельный техпроцесс: подключить к испытательному стенду, перемычку там, включить здесь, замерить это, проверить задержку, подрегулировать... Т.к. слесаря, собирающие все в кучу, не суперидеальны, ошибок сборки бывает много - регулировка включет в себя и поиск/устранение неполадок.
В процессе приходится проверять много временных задержек. А еще перед сдачей представителю заказчика прогоны (несколько часов работы на стенде с контролем параметров).
У опытного регулировщика в один момент времени в работе может быть несколько изделий, при том разных. Он  замеряет-перепаивает-устраняет, выставляет время. Пока эти 20 минут (5, 7, 63 мин, 45 сек...) тикают, переходит к другому стенду... При этом очень существенно уменьшается общее время работы по регулировке, хотя, если следовать букве техпроцессов, уйму времени нужно просто ждать, когда сработает реле или индикатор что-то покажет.

Это дело приметили завидующие слесаря-сборщики. Как так? Электронщики зарабатывают намного больше, при этом больше вемени на перекуры? Капнули в техотдел.
Приходит девочка из техотдела - снимать фотонрафию рабочего времени. Это не с фотоаппаратом ) Проверяющий с карандашом и листочком фиксирует в таблице каждое новое действие и время.
Села (бегать от одного изделия к другому - низзя! техпроцесс!) - и поехало. Регулировщик не спеша читает пункты техпроцесса, подключает провода-разъемы к стенду, спокойно щелкает тумблерами, ждет окончания выдержки. Находит неполадку, не спеша сверяется со схемой, умно думает ), ищет, перепаивает. ставит вторую выдержку... Есть время на разговоры с приятным технологом...

Итог: техпроцесс немного доработали, добавили время на его выполнение, следовательно, несколько увеличили заработок регулировщика. Вполне возможно, что повлияло и умение разговаривать :)
 
vikttur, у нас пока дошло только до того, что переработки теперь не оплачиваются, следовательно о повышении ЗП речи не может и идти. Ну теперь мы и не перерабатываем. 17:00 встали и ушли. И гори оно всё огнём отгрузка не отгрузка по барабану.  :)
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Мораль примера не в повышении зарплаты. Умейте презентовать работу :)
 
Off
У нас тоже тараканы есть. Тут финансовому взбрендило порядок навести в учете расходных материалов и запасных частей. Типа привести в соответствие того что числится, тому что есть на складе. Ну по правде сказать при количестве сотрудников в офисе мы столько печатаем и цветная печать обходится дорого и когда картридж стоит 100$ а их  8 + прочие, то понятно что заметны расходы, но все мои отчеты по количеству печати ушли в топку и спустили бумажный журнал с записью что , куда когда и подписью представителя подразделения где принтер установлен. Я сразу запросил бересту и глину, ну чтоб соответствовал  процесс технологии, а то брошюрованный журнал  - это слишком передовой метод. Но главное , я не получил ответа на вопрос "зачем так?", "Что это вам даст, кроме доп. работы со стороны нас и бухгалтерии, которая потом будет списывать МЦ по этому журналу?". Или есть недоверие ИТ, мол домой картриджи таскают. Ничего что аппарат стоит как однушка не в центре Питера.
По вопросам из тем форума, личку не читаю.
 
БМВ, нам на прошлой работе вообще сказали, что вы слишком много бумаги используете. Это при том что один проект больше 100 листов и как минимум 3 копии проекта надо делать. На что сказали покупать бумагу самим из своих денег. Это был край. Тут пока только на черновиках заставляют печатать. По поводу подписи в журналах, так это тоже практикуется. На работе кофемашина стоит, раньше кофе можно было пить в неограниченном количестве, теперь только одну кружку в день. Ладно хоть не заставляют самим покупать. Хотя покупают на деньги списанные на проект если он в плюсе. Если прибыли мало, то и кофе нет. Кароче чем дальше тем веселее.  :D
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
 
Dark1589, по поводу совы мне нравится вот это
Скрытый текст

А по поводу работы нам тут сказали всем написать ту работу, которую ты выполняешь, то-бишь чем занимаешься. На что я им отправил
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Alemox, у меня тоже подобные опросы составлялись, но на какой-то срок (неделю подряд или раз в несколько месяцев). Сейчас не стал бы подобное заполнять (если появилась сова - лучше уйти, а если информация для адекватной цели - её можно предоставить в более понятном виде)

ps. С активным внедрением PQ разница между временем затрачиваемым каждым отдельным сотрудником возросла в разы. Пока условный Ваня занят подгоном ВПРок и СУММЕСЛИ, Миша может нажать Обновить всё и попить кофе. Однако многие руководители будут считать Ваню более эффективным, ведь он целиком погружён в работу
 
Доброе время суток.
Вариант, для такой программы, которая собирает информацию по именам активных окон и дате/времени, когда они стали активными. В принципе, если составить список используемых программ, то по значению заканчивается на одну из программ из этого списка можно отфильтровать, когда конкретная программа стала активной и по разнице во времени с другой активной вычислить сколько её пользовались (висела на переднем плане). Ну, или как вариант, пойти дальше в WinAPI и проверять не является ли ставшее активным окно дочерним к основному.
Сделал на C#, а то Виталий BedVit пристыдил как-то, что я совсем C# забросил. И в прямь, после двух лет отсутствия практики, еле-еле наваял. Кое что костыльно, признаюсь сразу... Идеи из этого обсуждения Detect active window changed using C# without polling
P. S. В файле demo.txt результат прослушивания программы.
В архиве ActiveWindowListener.zip проект и в ActiveWindowListener\ActiveWindowListener\bin\Debug собственно исполняемый файл.
Изменено: Андрей VG - 20.07.2019 13:50:02
 
Андрей привет! Неплохо) а что сборка Debug, а не Release?) смотрю под .Net Framework v4.5 писал :)
Кстати, та задачка остается, если вдруг возьмешься за С#, подкину как обещал (по нужной цене сам проговоришь с заказчиком)
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
bedvit написал:
если вдруг возьмешься за С#
Привет, Виталий.
Скинь на email - посмотрю... Но ничего не обещаю.

По сабжу, в принципе, можно задействовать GetAncestor, чтобы получить указатель окна приложения. По нему и группировать локально диапазоны работы по времени.
 
Андрей VG, это круто. Спасибо за потраченное время. Буду использовать.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Цитата
Alemox написал:
Спасибо за потраченное время
Да не за что. Успехов.
Ещё вариант - в третьем столбце имя exe файла, процесс которого является владельцем активного окна. Может так проще будет составлять отчёт. Если будете сохранять отчёт в c:\path\timeReport.txt, то в файл timeReport.xlsx прописан запрос Power Query, который составляет худо-бедно простой отчёт по времени активного окна каждого exe (опять же, если у вас есть power query). Конечно можно было бы и в проекте это сделать - но было лень, если честно :)
 
Андрей VG, Благодарю ещё раз.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
Страницы: 1
Наверх