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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.05.2008, 05:22   #1  
Blog bot is offline
Blog bot
Участник
 
25,640 / 848 (80) +++++++
Регистрация: 28.10.2006
jinx: Werte der Systemfelder eines Datensatzes setzen
F?r jede Tabelle k?nnen Systemfelder wie Erstellt von, Ge?ndert von, Erstellungsdatum,Erstellungszeit oder ?nderungsdatum von Dynamics AX aktiviert werden.
Diese Felder werden durch Dynamics AX automatisch gef?llt. Wird zum Beispiel ein neuerDatensatz erzeugt, f?llt Dynamics AX die Systemfelder mit den entsprechendenDaten.
Es gibt aber Situationen wo man selber Einfu? auf die Werte dieser Felder nehmenmuss. Ein Beispiel hierf?r k?nnte eine Daten?bernahme sein, bei der die Informationen?ber den Ersteller oder das Erstellungsdatum des Datensatzes nicht verloren gehend?rfen.
Wie dies gehen kann zeigt dieses kleine Beispiel:
YourTabletable;
;
ttsbegin;

//canonly be called on server tier. -> method must be executed on server tier.
new SkipAOSValidationPermission().assert();
table.skipAosValidation(true);

table.YourField = "Value";

table.overwriteSystemfields(true);

//setyour own values for the system fields.
table.(fieldnum(Table1, ModifiedDate)) = today() - 2;
table.(fieldnum(Table1, CreatedDate)) = today() - 5;
table.(fieldnum(Table1, CreatedBy)) = "TEST";

table.insert();
ttscommit;

table.skipAosValidation(false);

Allerdings k?nnen die Systemfelder nur beim Erstellen eines neuen Datensatzes "vonHand" festgelegt werden.
Wie das ?ndern von Werten der Systemfelder bei bereits bestehenden Datens?tzen gehtdemonstriert die Klasse "BatchRun", Methode "runJob" und "finishJob".
Kurz gesagt wird genau genommen der Datensatz nicht ge?ndert, sondern es werden nurdie Daten des bestehenden Datensatzes in den neuen Datensatz kopiert (mit newBuffer= oldBuffer.data()) und dann wie bereits beschrieben die Systemfelder mit eigenenWerten bef?llt. Dann wird der bestehnde Datensatz gel?scht und der neue Datensatzin die Datenbank geschrieben.

Es wird keine Haftung oder Gew?hrleistung auf die Richtigkeit der gemachten Angaben gegeben. Die Verwendung erfolgt auf eigene Gefahr. Copyright © Axel K?hn (Aku's AX Blog, http://blog.ak-home.net) and Mathias F??ler (jinx's AX Blog, http://starside.eu)

More...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
jinx: Microsoft Dynamics AX - Der COM Business Connector wird in zukünftigen Versionen nicht mehr unterstützt Blog bot DAX auf Deutsch 0 03.03.2009 03:08
jinx: Dynamics AX 2009 AIF - Aufruf der Dokumentkorrelierung im Dokumentverlauf Blog bot DAX auf Deutsch 0 05.11.2008 22:05
jinx: Microsoft Dynamics AX und .NET - Erstellen eines Termins in Outlook Blog bot DAX auf Deutsch 0 03.11.2007 00:33
jinx: ?ndern von Methoden der Klasse Info Blog bot DAX auf Deutsch 1 17.05.2007 16:45

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:36.