</po>
As of Vertec version 6.8.0.19 it is possible to track the history of the data, i.e. from generation to deletion. The change log, the so-called AuditTrail, is written automatically and is stored in Vertec via Python. vtcapp retrievable.
In this way, changes to objects are transparently recorded in Vertec and it becomes clear who made which changes when.
Under System settings > General, this feature is available with the option Keep Maintain a complete change log log. If this setting is enabled, a full change log is output, including user data and detailed changes to objects. If this setting is disabled, a truncated form of the change log is output, which does not save specific changes or user data. It only records that an object has been created, changed, or deleted.
The data is queried via Python. Please note that any person who can call any of the Python features will receive the full data as a return value with this setting. So there are no additional restrictions. Therefore, you should make this setting consciously according to your privacy requirements.
In the AuditTrail, all changes to objects in Vertec are logged, depending on the system settings in different levels of detail.
Changes to objects of the classes are not taken into account:
The following members are also not written separately, since they are identical to the time of the AuditTrail entry:
The AuditTrail can also be used to write notes. For example, a note could be written when a user invokes a certain feature.
The following Python features are available for this purpose:
| feature | description | Example |
|---|---|---|
vtcapp.createauditnote(obj, text: String) |
Creates a note with the specified text on the passed object. | vtcapp.createauditnote(argobject, "Meine Notiz") |
vtcapp.getauditnotes(objid: int): list of notes |
This method outputs the notes that have been created on the passed object. In addition, the notes also appear when querying the AuditTrail via |
notes = vtcapp.getauditnotes(argobject.objid) |
The AuditTrail can be queried with the following Vertec Python Features:
| feature | description | Example |
|---|---|---|
vtcapp.getchangelogforobject(objid: int[, changesSince: datetime]): dict of changelogs |
This method outputs changelog entries for a specific object by passing the internal ID of the object and optionally the time of filtering. |
vtcapp.getchangelogforobject(argobject.objid)) |
vtcapp.getchangelogsince(changesSince: datetime or Id[, classfilter: stringlist]): dict of changelogs |
This method displays all changelog entries that have been created since a certain point in time. The changesSince can be either a date value or an id (index in the list of changelogs, not the Vertec internal ID). The query is done via Optionally, a filter of the classes can be passed in the form of a comma-separated list. The class names can be specified in English or German. Base classes are supported (e.g. when specifying service, both Open Performance and Billed Performance are taken into account). |
import datetime vtcapp.getchangelogsince(datetime.datetime(2026, 4, 27), ["Project"]) vtcapp.getchangelogsince(1234, ["Project"]) |
The Python features return a list of Python dictionaries. Each dictionary contains a single change with the following information:
[{'Id': 7017, 'BoldId': 2771, 'UserId': 515, 'BoldType': 18,
'AuditType': 'Modified', 'Member': 'type', 'TimeStamp': datetime.datetime(2026, 4, 27, 20, 14, 37),
'NewValue': '183'}]| Column | description |
|---|---|
Id |
The position of the object in the list. |
BoldId |
The unique Internal Identification Number (Internal ID) of the Vertec object (see also KB Article The Properties Dialog). |
UserId |
The identification number of the user who made the change. |
BoldType |
The identification number of the Vertec object type. |
AuditType |
The changes to Vertec objects are noted by the following audit entries:
*Note: The status note is only given if the note is written via the Python feature vtcapp.createauditnote(). |
Member |
The name of the changed attribute, i.e. a data field of the object or a link. |
TimeStamp |
Date and time of the modification. |
NewValue |
The changed or new value. For data type Blob the new value is not written. |
a truncated change log does not save the UserId, Member, and Newvalue information.