07.03.2012, 11:17 | #1 |
Участник
|
Изменение свойства таблиц
Добрый день.
При изменении структуры таблицы, информация о пользователе, который менял сохранятся в Change By. А возможно ли как-нибудь отследить, кто изменял свойство полей таблиц? DAX4.0 |
|
07.03.2012, 11:21 | #2 |
Участник
|
Информации по каждому отдельно полю нет
Если изменилось хотя бы одно свойство одного поля, фиксируется изменение таблицы. |
|
07.03.2012, 11:52 | #3 |
Участник
|
Боюсь что просто это сделать не удастся. Вот здесь есть несколько идей о том как это можно реализовать how to monitor changes on tables automatically
|
|
07.03.2012, 11:55 | #4 |
Участник
|
допустим в InventSum поле PostedQty изменили свойство AllowEdit на Yes. факт изменения то не попадает в ChangeBy. а мне надо узнать кто это сделал
|
|
07.03.2012, 12:03 | #5 |
Участник
|
Используйте контроль версий например TFS, сможете отслеживать все изменения объектов
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy |
|
07.03.2012, 12:08 | #6 |
Developer
|
На самом деле не совсем "нельзя узнать". Можно узнать кто последний... Так что я тоже придерживаюсь мнения, что лучше использовать систему контроля версий.
Информация о создании и последнем изменении объектов из перечислимого типа UtilElementType (на каждом слое отдельно) хранится в системных таблицах UtilElements и UtilIdElements. Т.е. информацию о последней модификации поля на верхнем слое можно получить, например, так: X++: select firstonly utilIdElements order by utilLevel desc where utilIdElements.recordType == UtilElementType::TableField && utilIdElements.parentId == tablenum(Table) && utilIdElements.Id == fieldnum(Table, Field); // или utilIdElements.Name == fieldstr(Table, Field); P.S. На таблице UtilIdElements есть уникальные индексы [recordType, parentId, name, utilLevel] и [recordType, parentId, id, utilLevel]. На таблице UtilElements, соответственно, первый указанный индекс. |
|
|
За это сообщение автора поблагодарили: sable102 (1). |