История работы пользователей

20.08.18

Задачи пользователя - Поиск данных

Подключаемая обработка для просмотра истории работы конкретного пользователя

Скачать исходный код

Наименование Файл Версия Размер
История работы пользователей:
.epf 15,85Kb
90
.epf 1.3 15,85Kb 90 Скачать

Изучая записи Журнала Регистрации в поисках намеков на действия пользователей, в очередной раз, поймал себя на мысли, что хорошо было бы посмотреть не только сухие данные по изменению объектов ИБ, но и увидеть как пользователь работает с интерфейсом системы. Какими вариантами отчетов пользуется, какие разделы открывает, какие документы открывал. Часто эта информация нужна, чтобы оперативно получить ссылку на объект с которым пользователь работал и у него возникли проблемы.

Опытные разработчики знают, что можно зайти под любым пользователем, подменив на время входа пароль, и все увидеть самому. Но это всегда долго. Нужно запустить инструменты, найти пользователя, дождаться открытия программы и т.д. И я решил изучить вопрос истории работы пользователей детальней.

Читая документацию 1С стало ясно, что последние 200 записей истории каждого пользователя хранятся в ИБ на сервере в таблице _usersworkhistory.

UsersWorkHistory

Документация поведала мне, что есть замечательный метод ИсторияРаботыПользователя.Получить(). Но описание к нему дало ясно понять, что метод этот очень недоработан, т.к. менеджер ИсторияРаботыПользователей позволяет очистить всю историю всех пользователей, но получить всю историю или по какому-либо отдельно взятому пользователю - невозможно. Только под Текущим!

Я подумал, неужели в 1С нет никаких методов запустить отдельно взятую процедуру под нужным мне пользователем? И оказалось, что легких путей - нет! Но есть Регламентные задания, которые умеют выполняться под любым пользователем...

Оставалось понять как решить следующие потянувшиеся проблемы:

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

- регламентные задания невозможно запустить по щелчку мыши в отличие от фоновых;

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

- регламентное задание не вернет мне никаких данных, т.к. оно не знает по какому адресу ему поместить результат (параметры ведь не передать никак), к тому же между сессиями ВременноеХранилище не передается. (несмотря на то что документация заявляет об обратном. Все сделал по инструкции из документации с передачей пустого значения и адреса хранилища)

- нужно как-то ловить момент завершения регламентного задания;

 

Все эти проблемы были решены через трюки и уловки. Скажу только, что обработку обязательно необходимо подключать через механизм БСП: ДополнительныеОтчетыИОбработки, под пользователем с правами Администратора, обязателен Клиент-Серверный вариант базы (иначе рег.задания не работают), обработка в процессе выборки истории создает рег.задание в ИБ, пишет данные в Справочник.ДополнительныеОтчетыИОбработки, удаляет рег.задание по окончании. Никакие внешние компоненты, shell скрипты или COM объекты не используются.

Пользуйтесь на свой страх и риск, на здоровье! Ничего такого серьезного и криминального она не делает. Советы по улучшению приветствуются.

 

См. также

Быстрый поиск дублей с четким/нечетким поиском по любому сочетанию реквизитов/реквизитов таб. частей с отбором и быстрой заменой значений в ЛЮБЫХ базах 8.1-8.3 (УТ 10.3, БП 2, ЗУП 2.5, КА 1.1, УТ 11, БП 3, УНФ 1.6/3.0, КА 2, ЗУП 3 и т.д.)

Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработки помогут Вам легко и, главное, быстро (в 5 раз и быстрее штатной обработки 1С), выполнить поиск дублирующих данных в Ваших базах 1С на платформах 8.1-8.3. Это позволит уменьшить объем лишней информации в справочниках и документах, планах видов характеристик и др., упростит работу с данными пользователям. А так же можно, одним нажатием, узнать в каких ссылочных объектах есть вообще дубли! Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! (Обновление от 27.11.2023, версия 6.12)

10800 руб.

14.05.2012    155523    327    252    

559

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

Архивирование (backup) Журнал регистрации Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

21600 руб.

15.05.2017    42617    10    24    

38

Кто такая Мантикора?

Поиск данных Платформа 1С v8.3 Россия Абонемент ($m)

Статья об опыте развертывания и интеграции с базой данных Manticore Search для быстрого полнотекстового поиска.

1 стартмани

30.11.2023    3221    andreysidor4uk    16    

46

PowerOffice

Поиск данных Корректировка данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

PowerOffice - обработка для поиска, просмотра и обработки данных для пользователей. Доступ к объектам на просмотр и редактирование данных определяется правами пользователя.

1 стартмани

05.06.2023    1971    23    PowerBoy    1    

15

Получение ссылки по бинарной строке PostgreSQL или MSSQL

Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Получение ссылки в 1С по бинарной строке из PostgreSQL в виде строки формата bytea или из MSSQL в виде шестнадцатиричной строки. Кроме ссылочных объектов ссылки могут быть получены и для перечислений. Это может быть полезно при анализе логов журнала регистрации или СУБД.

1 стартмани

04.04.2023    2634    2    berserg    2    

12

Поиск документов с ошибками проведения, универсальный

Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Обработка позволяет найти проведенные документы без движений и, наоборот, НЕ проведенные документы с движениями. Подходит для любой конфигурации.

1 стартмани

18.08.2022    3021    22    KVIKS    3    

10

Поиск и замена значений + Поиск дублирующихся элементов справочников с подключением к внешней базе

Поиск данных Корректировка данных Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для гибкого поиска и дальнейшей замены дублей справочников, документов, а также планов видов расчетов и планов видов характеристик. В обработку включена возможность проверки наличия ссылки во внешней базе (по УИДу), поиска дублей с предварительным отбором, а также произвольной обработки реквизитов перед поиском (например, возможно удалить определенные символы из наименования).

3600 руб.

30.03.2022    8612    3    0    

5
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user929348 13.08.18 01:17 Сейчас в теме
При выборе любого пользователя вылетает с ошибкой
{ВнешняяОбработка.ПросмотрИсторииРаботыПользователя.Форма.ОсновнаяФорма.Форма(93)}: Ошибка при вызове метода контекста (ОжидатьЗавершения)
Задания[0].ОжидатьЗавершения();
по причине:
Выполнение одного или нескольких заданий завершилось с ошибкой
2. PerlAmutor 129 13.08.18 13:03 Сейчас в теме
(1) В ЖР пишет что-нибудь?
19. user2008729 11.12.23 11:13 Сейчас в теме
(2) Тоже такая ошибка вышла, можете пожалуйста подсказать.
Ошибка при вызове метода контекста (ОжидатьЗавершения)
{ВнешняяОбработка.ПросмотрИсторииРаботыПользователя.Форма.ОсновнаяФорма.Форма(111)}:Задания[0].ОжидатьЗавершения();
{ВнешняяОбработка.ПросмотрИсторииРаботыПользователя.Форма.ОсновнаяФорма.Форма(86)}:Если ПроверкаФоновыхЗаданийСервер(УникальныйИдентификаторРегламентногоЗадания) Тогда

по причине:
Выполнение одного или нескольких заданий завершилось с ошибкой
3. user929348 15.08.18 12:55 Сейчас в теме
Только такая

РегламентноеЗаданиеПолученияИсторииПользователя, Предупреждение безопасности

Открывается "Просмотр истории работы пользователя".

Рекомендуется обращать внимание на источник, из которого был получен данный файл. Если с источником нет договоренности о разработке дополнительных модулей, или есть сомнения в содержимом файла, то его не рекомендуется открывать, поскольку это может нанести вред компьютеру и данным.

Разрешить открывать данный файл?
4. PerlAmutor 129 15.08.18 14:34 Сейчас в теме
(3) Этот вопрос будет у Вас выскакивать на попытку открыть любую внешнюю обработку. Это механизм защиты от опасных действий в новых версиях платформы. Есть несколько вариантов отключения этой проверки. Выберите тот, который принят у вас в организации политикой безопасности.
5. user929348 15.08.18 16:22 Сейчас в теме
Я в курсе. Вопрос в первом сообщении
6. PerlAmutor 129 15.08.18 18:12 Сейчас в теме
(5) Уточните версию платформы и конфигурацию.
7. user929348 17.08.18 15:13 Сейчас в теме
Управление торговлей, редакция 11.1 (11.1.10.167)
1С:Предприятие 8.3 (8.3.10.2580)

Аналогичная ошибка в 1С:ERP Управление предприятием 2 (2.4.5.54)
8. PerlAmutor 129 20.08.18 21:28 Сейчас в теме
(7) Проверил на платформе 8.3.11. Ошибок не обнаружил, однако сделал некоторые изменения для подстраховки некоторых моментов. Ссылку на новую версию обработки отправил в личку. Также обновил обработку в публикации.
9. user929348 21.08.18 10:55 Сейчас в теме
Та же ошибка, проверил на платформе 8.3.12.1440 в файловом варианте.
Интересно, у других 21 скачавших нет таких ошибок?
10. PerlAmutor 129 21.08.18 19:32 Сейчас в теме
(9) Развернул файловую демо-базу ERP, все работает. Обратил внимание на то, что в файловой базе история пользователя на УФ может появиться не сразу, а спустя несколько секунд (возможно даже больше 10-20). Видимо для файловых баз есть какая-то задержка в запуске регламентных заданий.
Прикрепленные файлы:
11. TreeDogNight 22 24.09.18 10:30 Сейчас в теме
В последних версиях платформы можно обойтись без использования Регламентных заданий, используя Систему взаимодействия. Можно дать запрос всем активным пользователям на получение истории работы, либо записи ей в какой-нибудь регистр.
12. PerlAmutor 129 24.09.18 11:30 Сейчас в теме
(11) Как Вы и сказали новая возможность ограничена списком активных пользователей и новой версией платформы. Еще там вроде бы нужно ставить отдельный корпоративный сервер взаимодействий, который тоже немалых денег стоит. В общем нужно тему изучить детальней, может быть пригодится еще в чем-то.
TreeDogNight; +1 Ответить
13. romankoav 4 28.09.18 15:26 Сейчас в теме
Вопрос немного не по теме.
Никто не сталкивался с тем, что по одним объектам метод ИсторияРаботыПользователя.Получить() выдает инфу, а по другим нет?
У меня в частности по справочнику пользователей работает, а по справочнику, например ВидыБюджета, - нет!!
Платформа 1С:Предприятие 8.3 (8.3.12.1567). Конфигурация УПП 1.3. База файловая
14. romankoav 4 28.09.18 15:44 Сейчас в теме
Нда... применение аналитических способностей выявило, что у этих объектов управляемые формы... вот косяк. Получается в обычных формах не работает?
15. PerlAmutor 129 28.09.18 17:19 Сейчас в теме
16. romankoav 4 28.09.18 17:44 Сейчас в теме
в документы при открытии еще можно просто (в 1 месте) принудительно поставить запись в историю, а вот в отчеты, справочники - уже нет. Печалька ((((
17. Godfather85 02.09.22 11:37 Сейчас в теме
1С:Предприятие 8.3 (8.3.20.1674)
1С:Комплексная автоматизация 2 (2.4.13.103)

Клиент-сервер( MSSQL)
чистый экран при запуске
18. PerlAmutor 129 02.09.22 17:16 Сейчас в теме
(17) Скриншот можете показать? Выполнение регламентных заданий включено в базе?
20. user2008729 11.12.23 11:16 Сейчас в теме
При выборе другого пользователя выходит такая ошибка:
Поле объекта не обнаружено (Пользователь)
{ВнешняяОбработка.ПросмотрИсторииРаботыПользователя.Форма.ОсновнаяФорма.Форма(125)}:РезультатПользователя = Настройки.Пользователь;
{ВнешняяОбработка.ПросмотрИсторииРаботыПользователя.Форма.ОсновнаяФорма.Форма(86)}:Если ПроверкаФоновыхЗаданийСервер(УникальныйИдентификаторРегламентногоЗадания) Тогда
21. user2008729 11.12.23 12:50 Сейчас в теме
Оставьте свое сообщение