Добрый день! 



Настраиваем журнал изменений (ChangeLog) для каждого объекта. После настройки в конфигурациях в пакете Custom создается замещающий объект, текущий пакет (CurrentPackageId) у нас не Custom. Как сделать так, чтобы настройки Журнала изменений сохранялись в текущем пакете?

 

Меняли CustomPackageUId -- не помогло. В конфигурации объекта ставили галку «Вести журнал изменений» -- Журнал включается, но после того, как настраиваешь поля, все равно создается замещающий объект в Custom.

 

Заранее благодарю за ответ

Нравится

2 комментария
Лучший ответ

Вадим, добрый день!

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

Сохранение настроек журнала изменений через интерфейс соответствующего раздела технически работает так, что в любом случае в пакете Custom создаётся замещающий объект, вне зависимости от значения настройки Текущий пакет.

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

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

Вадим, добрый день!

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

Сохранение настроек журнала изменений через интерфейс соответствующего раздела технически работает так, что в любом случае в пакете Custom создаётся замещающий объект, вне зависимости от значения настройки Текущий пакет.

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

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

Благодарю за ответ!

Показать все комментарии

В какой то момент пропали настройки журнала изменений по контакту.

Как можно отследить изменение настроек аудита? Кто, когда?

Нравится

4 комментария

Егор, добрый день!

Обычно такие задачи решаются с помощью самого журнала аудита (не журнала изменений). Но сейчас в системе не логируется изменение настроек журнала изменений (я создала соответствующую идею в беклоге профильной команды). Список логируемых операций можно посмотреть тут: https://academy.terrasoft.ru/documents/studio/7-12/razdel-zhurnal-audita

В качестве обходного решения можно сделать следуюшее:

1. Для анализа текущей ситуации проанализировать логи приложения (там должны быть видны соответсвующие запросы) и сравнить с данными по сессиям пользователей.

2. На будущее реализовать собственный тригер на уровне БД, который будет писать в лог, если кто-то будет менять настройки журнала изменений.

Старун Юлия,

спасибо за развернутый ответ!

Юлия, можете еще подсказать на какую таблицу вешать триггер чтобы отследить изменение настроек журнала изменений?

Настройка - по каким полям ведется логирование в таблицу SysContactLog.

Егор, как оказалось, все не так просто (как это бывает). Настроки журнала хранятся непосредственно в метаданных таблицы, которая логируется. Причем в слабочитаемом виде. Система умеет их парсить. Например, открыв в конфигурации метаданные логируемого объекта вы можете увидеть читабельный текст со свойствами всех колонок объекта:

        {
          "UId": "736c30a7-c0ec-4fa9-b034-2552b319b633",
          "Name": "Name",
          "CreatedInSchemaUId": "11ab4bcb-9b23-4b6d-9c86-520fae925d75",
          "ModifiedInSchemaUId": "4cbdc6f3-625d-4639-92bf-bb19d4c9d58e",
          "CreatedInPackageId": "66e9e705-64b4-4dda-925e-d1e05a389eb6",
          "DataValueTypeUId": "ddb3a1ee-07e8-4d62-b7a9-d0e618b00fbd",
          "RequirementType": 1,
          "IsTrackChangesInDB": true,
          "IsLocalizable": true
        },

Но вот на уровне базы данных это уже хранится в колонке MetaData таблицы SysSchema в не таком удобном виде. Там следует искать код Е16, чтобы понять, колонка с каким UID логируется:

Таким образом, триггер нужно вешать на таблицу SysSchema на колонку MetaData по тому объекту, который вы хотите отследить. И сохранять весь текст метаданных, а потом уже анализировать его вручную. Наверное, можно даже посмотреть, какой запрос отправляет система в БД при открытии страницы настроек журнала изменений - там наверняка есть встроенные механизмы парсинга этих данных.

В общем я постараюсь повысить приоритет реализации логирования этих изменений через журнал аудита средствами системы :)

Показать все комментарии

Здравствуйте!

Установил приложение из маркетплейс https://marketplace.terrasoft.ru/app/change-log-bpmonline

Но не могу зайти в ее настройки, система пишет, что у меня не достаточно прав http://prntscr.com/hfoe1d, хотя я администратор системы. Что с этим сделать можно? 

Нравится

2 комментария

Добрый день.

 

Вы можете посмотреть полную инструкцию к продукту на сайте: https://samarasoft.com/changelog/

Дело в том, что для работы с продуктом необходимо настроить соответствующий доступ по операциям.

Для возможности настройки журналирования вам необходимо добавить доступ пользователю или роли для операции "Доступ к разделу "Журналирование""

Толмачев Дмитрий Юрьевич,

Спасибо, Дмитрий!

Показать все комментарии

Добрый день!
Сегодня поговорим немного о функциональности, которую я и Евгений Генов недавно реализовали и которую уже несколько раз запрашивали клиенты. Это логирование (журналирование) действий пользователей.
 
Очень часто руководителю компании или CRM-координатору хочется знать, насколько активны пользователи при работе с CRM-системой, что конкретно они делают и работают ли они в ней вообще. Более того, некоторые даже хотят строить на основе подобной активности сотрудников мотивационные схемы, формирование заработной платы, бонусов и т.д. Для этих целей и была реализована некая функциональность, которая отслеживает большинство операций (манипуляций) пользователя и пишет это все в специальную таблицу. 
 
Теперь о самой утилите. Вот так выглядит окно логирования действий.

 
Как Вы видите, все довольно-таки просто: в верхней части фильтрация по периоду и пользователю, которого Вы мониторите. 
Поскольку сама утилита предназначена в основном ответственному лицу, занимающимся подобным мониторингом и скорее всего будет доступна только пользователю с административными правами, то мы вынесли возможность удаления записей из этого журнала, о чем свидетельствует наличие кнопки "Удалить"
 
Теперь о настройке. Вот так выглядит окно настроек.

Как видно из скриншота, под настройкой понимается следующее: какие действия конкретного пользователя система должна отслеживать.

На данный момент доступны следующие действия: переходы по разделам, переходы по деталям, запуски действий, отчетов, открытия наборов данных, открытия карточек редактирования и, на мой взгляд, самое интересное - изменение записей, т.е. регистрируются все внесения изменений, производимые пользователем.

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

Нравится

Поделиться

38 комментариев

Очень интересно!
Скажите, функционал войдет в базовую версию или будет распространятся как утилита?
Если как утилита, то каким образом можно получить\купить функционал?

Пока не уверен на счет базовой версии, поскольку не всем нужен этот функционал. Скорее всего будет распространяться как отдельная утилита.
А вот на вопрос приобретения пока не готов ответить, т.к. мы презентовали ее только на днях. Обязуюсь завтра пообщаться с руководством по этому вопросу. Буду держать Вас в курсе.

Такая функциональность очень полезна для мотивации персонала при внедрении системы и при аудите использования ПО. Также есть смысл для аналитики определенных действий пользователя при отладке. В принципе этот функционал с определенной фильтрацией можно заложить для формирования БП, но с условием, что пользователь действительно занят работ в системе, а не просто нажимает кнопки, и при условии, что он не начинающий пользователь.
Также была бы полезна фильтрация/поиск в действиях по значениям.
В качестве развития этой утилиты предлагаю в отдельное окно вынести пользователей, к-е на текущий момент активны в системе и период их активности. Эта информация используется в системах документооборота (БП визирования документов), а так же при мотивации персонала, особенно на этапе внедрения нового ПО, когда важно сотрудников приучить к тому, что по приходу на работу они должны запускать Terrasoft CRM.

Вы знаете, у меня сразу возникает вопрос а не будет ли система перегружена? Ведь на каждое действие пользователя формируется запись в таблице, обрабатывается какой то скрипт или триггер.. Как это скажется на скорости? И если таких пользователей много, то со временем база данных вырастет в разы.

Пока что значительных "тормозов" замечено не было. А база, естесственно, будет разрастаться. Но можно все организовать регламентами, например в конце месяца или чаще можно эти логи чистить, или делать бекап, сформировав предварительно всю необходимую отчетность. Т.е. все зависит от того, как Вы захотите организовать такой мониторинг.

"S.Kalishenko" написал:Пока что значительных "тормозов" замечено не было.

Попробуйте протестировать на веб-сервисах и больше 10 пользователей. Интересно узнать результат.

--
www.it-sfera.com.ua

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

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

"Александр Кудряшов" написал:Как вариант расширения функциональности данной утилиты - возможность возврата к некоторым типовым действиям: редактировал запись - возможность вернуться к ней (карточке или выделение ее в реестре нужного раздела быстрым фильтром) и т.д;-)

Неплохая идея. Думаю, сделаем.

"Хорошилов Евгений Игоревич" написал:Было бы хорошо видеть не только конкретные действия пользователей, но и общие показатели в виде отчетов и графиков. Например: общее время работы в системе за день, общее время по разделам, можно отслеживать в какие часы пользователь сидит в системе и т.п.

Честно говоря, не думал еще об отчетах, но, в принципе, поскольку вся необходимая информация для анализа есть, то разработать их не составит особого труда. Попробуем.

Было бы очень интересно попробовать применить в нашей компании функционал, именно для аналитики - кто сколько времени провел в системе и кто что полезного сделал. А то клиентам внедряем, у них все хорошо, а вот у нас самих полноценно не больше 70% сотрудников активно используют crm. Скажите, когда будет возможность попробовать это?

"S.Kalishenko" написал:А вот на вопрос приобретения пока не готов ответить, т.к. мы презентовали ее только на днях.

Есть какие-либо новости по данному вопросу?

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

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

Да. я имел ввиду часть, которую упомянула Алёна. Была фраза о оформлении функционала как отдельного модуля.

Вариант частичного решения требуемого функционала.

Вот тоже заинтересовал вопрос о распространении ... У нас руководство хотело видеть кто, со скольки и до скольки работает в системе. И что собственно с системе делает.
Вопрос кажется актуальным на этапе внедрения, когда некоторые сотрудники скажем так "саботируют" процесс.

А время все идет... Решение какое то принято?

подскажите пожалуйста решение уже сейчас можно купить как отдельный модуль?
если да прошу скинуть цену в личку. спасибо

Обещаю, до конца недели выложить сюда, в эту ветку сервисы по этому функционалу. Ничего покупать не нужно. :)
Прошу прощения у всех, просто времени совсем не было.

Друзья!
Прикрепил к посту архив с сервисами и с описанием действий, которые обязательно нужно выполнить после загрузки этих сервисов (см. файл Readme.txt). Проверено на версии 3.3.2 (сервисы именно этой версии). Если что-то не будет получаться, пишите.

Настоятельная просьба, кто будет пробовать загружать сервисы: СДЕЛАЙТЕ БЕКАП БАЗЫ.

добрый день
установил ваши сервисы. все зделал как в readme.txt. запускаю настраиваю что буду логировать себя. указываю все галочки. в результате все логирует кроме изменение данных

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

версия террасофта 3.3.2 Террасофт Пресс

нашел ошибку. все исправил работает вопрос снят

А в чем ошибка была?

так как мы в 3.3.2 перешли с 3.3.0. Обновление глобальных скриптов и необходимых разделов шло по потребности. и поэтому многое что еще вручную сравниваю исправляю и добавляю. но там уже остались мелочи. вот одна из таких мелочей это отсутствие в scr_Main в функции wnd_MainOnPrepare двух строчек:
DatasetTriggers.Load();
SetServicesEvents();
+ самой функции SetServicesEvents и ссылки на скрипт scr_DatasetTriggers. Добавив данные строчки у меня все заработало. плюс я добавил еще 2 подписи на события. Для того чтобы логировать удаления. Это для меня важно. плюс хочу доработать систему поиска и фильтрации внутри лога. Как доработаю выложу сюда.

но я если рассматривать в глобальном размере данные скрипты на 3.3.0 точно не заработают. так как много еще что от 3.3.2 нужно перенести.

Понятно. Выкладывайте, как доработаете. Думаю, всем пригодится.

А версию утилиты для 3.4 можете выложить?

А текущий вариант на 3.4 разве не работает? Недавно вроде пробовал - все было ок.

Перестает работать автоматический запуск БП из-за этой утилиты

подскажите, пожалуйста, как на базе этого функционала сделать отчет, кто сколько времени проработал в системе?

Добрый день!

По этому функционалу можно построить отчет Fast Report, использовав набор данных логов.
Либо Вы можете установить необходимые фильтры прямо в окне логов и распечатать/экспортировать в Excel все записи реестра.

Сегодня решила настроить эти доработки у себя в базе.
Все сделала, по кнопке вызывается указанное окно, ошибок нет. Но и логирования собственно тоже нет, никакого вообще.
Прочитала, что это возможно из-за нашего перехода из 3.3.1 в 3.3.2, но для устранения проблемы не смогла найти в нашей базе scr_DatasetTriggers. Где мне можно его взять?

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

Видимо у меня нет не только этого скрипта, но и enm_DatasetTriggerType, ds_DatasetTrigger, sq_DatasetTrigger, tbl_DatasetTrigger, и что там еще может быть с этими DatasetTrigger.

Если возможно выгрузите и их тоже

Виктория, вложила архив с сервисами.

спасибо, буду надеяться что поможет.

С логированием действий все получилось, спасибо!

Показать все комментарии