AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.03.2012, 11:17   #1  
sable102 is offline
sable102
Участник
Аватар для sable102
Злыдни
 
34 / 21 (1) +++
Регистрация: 22.07.2011
Адрес: тундра
Изменение свойства таблиц
Добрый день.
При изменении структуры таблицы, информация о пользователе, который менял сохранятся в Change By. А возможно ли как-нибудь отследить, кто изменял свойство полей таблиц?

DAX4.0
Старый 07.03.2012, 11:21   #2  
Мартынов Дмитрий is offline
Мартынов Дмитрий
Участник
 
236 / 66 (3) ++++
Регистрация: 02.02.2004
Адрес: г. Москва
Информации по каждому отдельно полю нет
Если изменилось хотя бы одно свойство одного поля, фиксируется изменение таблицы.
Старый 07.03.2012, 11:52   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Боюсь что просто это сделать не удастся. Вот здесь есть несколько идей о том как это можно реализовать how to monitor changes on tables automatically
Старый 07.03.2012, 11:55   #4  
sable102 is offline
sable102
Участник
Аватар для sable102
Злыдни
 
34 / 21 (1) +++
Регистрация: 22.07.2011
Адрес: тундра
допустим в InventSum поле PostedQty изменили свойство AllowEdit на Yes. факт изменения то не попадает в ChangeBy. а мне надо узнать кто это сделал
Старый 07.03.2012, 12:03   #5  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
Используйте контроль версий например TFS, сможете отслеживать все изменения объектов
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy
Старый 07.03.2012, 12:08   #6  
vallys is offline
vallys
Developer
 
146 / 108 (0) +++++
Регистрация: 18.01.2005
На самом деле не совсем "нельзя узнать". Можно узнать кто последний... Так что я тоже придерживаюсь мнения, что лучше использовать систему контроля версий.

Информация о создании и последнем изменении объектов из перечислимого типа 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).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX 2012 Наследование таблиц. Краткое описание механизма sukhanchik DAX: Программирование 32 21.09.2018 17:56
изменение свойства mandatory у поля формы tolstjak DAX: Программирование 2 23.11.2010 13:35
Свойства элемента управления в отладчике. Logger DAX: Программирование 10 01.10.2009 12:53
Изменение свойства Table источника данных формы vasiliy DAX: Программирование 6 26.04.2005 12:16
Проблема импортации таблиц lm DAX: Программирование 6 08.02.2002 18:30

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:26.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.