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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.11.2007, 00:33   #1  
Blog bot is offline
Blog bot
Участник
 
25,459 / 846 (79) +++++++
Регистрация: 28.10.2006
jinx: Microsoft Dynamics AX und .NET - Erstellen eines Termins in Outlook
Man kann viel dar?ber lesen, dass es ab der Version 4.0 von Microsoft Dynamics AXm?glich ist auch mit .NET Objekten innerhalb von Dynamics AX zu arbeiten. Leider fehltes oft an konkreten Beispielen, die einen ersten ?berblick geben, wie man was machenmuss.
Jeder der sich mit dem Thema schon einmal auseinander setzen musste, wird mit hoherWahrscheinlichkeit auf eines dieser „Probleme“ gesto?en sein:
  • Wie kann ein Datum zwischen Dynamics AX und .NET ausgetauscht werden?
  • Wie kann die aktuelle Zeit an ein .NET Objekt ?bermittelt werden?
  • Wie rufe ich eigentlich Werte eines .NET Enums ab?
Diese Liste k?nnte man noch beliebig erweitern.
Damit man einen kleinen Anhaltspunkt hat, wie die „Arbeit“ mit .NET Objekten gehenkann, soll dies anhand des Beispiels „Anlegen eines Termins in Outlook“ vorgestelltwerden.
Zuerst muss eine Referenz zur der .NET Assembly erstellt werden, welche im Weiternverwendet werden soll. Hierzu muss im AOT der Zweig „References“ gew?hlt werden und?ber das Kontextmen? „Verweis hinzuf?gen“ ausgew?hlt werden.

In der neuen Maske wird die Assembly ausgew?hlt zu der eine Referenz erstellt werdensoll. Hierzu navigiert man zu der entsprechenden Assembly und w?hlt diese ?ber „Ausw?hlen“aus. Mit dem Dr?cken von „OK“ werden zu den ausgew?hlten Assemblys die Referenzenerstellt.
Bei diesem Beispiel wurde eine Referenz zur Assembly „Microsoft.Office.Interop.Outlook“erstellt.

Ab jetzt k?nnen alle .NET Objekte, die in dieser Assembly enthalten sind, in DynamicsAX verwendet werden.
Wie dies im Einzelnen geschieht kann dem folgenden Beispiel entnommen werden, wo demonstriertwird, wie man aus Dynamics AX heraus ein Outlook Termin erstellt werden kann.
static void CreateOutlookAppointment(Args_args)
{
//.NET(CLR) Datentypen
InteropPermission permission;
Microsoft.Office.Interop.Outlook._Application outlookApplication;
Microsoft.Office.Interop.Outlook._AppointmentItem outlookAppointment;
Microsoft.Office.Interop.Outlook.OlItemType outlookItemType;
System.DateTime appointmentStartTime;
System.DateTime appointmentEndTime;

//DynamicsAX Datentypen
Date1980 startDate, endDate;
TimeExpected startTime, endTime;
;
permission = new InteropPermission(InteropKind::ClrInterop);
if (permission== null)
{
return;
}
//”Unsichere”Aufrufe starten
permission.assert();

//DasOutlook Application Objekt instanzieren
//(Beispielf?r Erstellung eines .NET Klassenobjekts)
outlookApplication = new Microsoft.Office.Interop.Outlook.ApplicationClass();

//Gew?nschtenOutlook-Elementtyp ausw?hlen
//(Beispielf?r Zuweisung eines .NET Enum Wertes)
outlookItemType = ClrInterop::parseClrEnum('Microsoft.Office.Interop.Outlook.OlItemType','olAppointmentItem');

//Gew?nschtenOutlook-Elemnttyp erstellen (Termin)
outlookAppointment = outlookApplication.CreateItem(outlookItemType);

//DenBetreff zuweisen
//(Beispielf?r Zuweisung eines "einfachen" Wertes)
outlookAppointment.set_Subject("EinTest aus Dynamics AX");

startDate = str2Date("25.10.2007",123);
startTime = str2Time("10:30:00");
//"Beginntum" zuweisen
//(Beispielf?r Konvertierung Dynamics AX Datum/Zeit -> .NET DateTime)
appointmentStartTime = System.Convert::ToDateTime(strfmt("%1%2", startDate, time2str(startTime, 0, 0)));
outlookAppointment.set_Start(appointmentStartTime);

endDate = str2Date("26.10.2007",123);
endTime = str2Time("11:00:00");
//"Endetum" zuweisen
appointmentEndTime = System.Convert::ToDateTime(strfmt("%1%2", endDate, time2str(endTime, 0, 0)));
outlookAppointment.set_End(appointmentEndTime);

//DenTermin speichern (ab jetzt ist der Termin in Outlook zu sehen)
outlookAppointment.Save();

//”Unsichere”Aufrufe beenden
CodeAccessPermission::revertAssert();
}


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...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: Microsoft's strategy and vision for Dynamics AX and SOA Blog bot DAX Blogs 0 05.03.2009 18:05
jinx: Microsoft Dynamics AX - X++ und .NET (CLR) Arrays Blog bot DAX auf Deutsch 0 03.03.2009 03:08
jinx: Microsoft Dynamics AX 2009, Windows Server 2008 und SQL Server 2008 Blog bot DAX auf Deutsch 0 12.10.2008 20:10
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Сергей Герасимов: Что нового в Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 0 16.01.2007 11:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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