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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.08.2005, 15:01   #1  
andkud is offline
andkud
Участник
 
13 / 10 (1) +
Регистрация: 05.07.2005
? Создание контакта в outlook
Стандартная синхронизация с Outlook создаёт контакты в общей папке контактов.

COM item;
COM outlook;


outlook = new COM("Outlook.Application");
item = outlook.createItem(#olContactItem);

потом
item.FirstName("Вася");
item.save();

Это как я понимаю это создание контакта в корневой папке контактов, но наверное как-то можно задать нужную папку контактов.

Не подскажите?
Старый 08.08.2005, 17:21   #2  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Вот код на VB, который выбирает папку:
Dim nms As NameSpace
Dim its As Integer
'Dim MyContItem As ContactItem
Dim Adr As String


'Создание объекта, указывающего на данные в Outlook
Set out = New Outlook.Application

Set nms = out.GetNamespace("MAPI")


'Создание объекта, указывающего на папку "Контакты"
Set MyCont = nms.Folders("Общие папки")
Set MyCont = MyCont.Folders("Все общие папки")
Set MyCont = MyCont.Folders("Журналы")
MyCont.CreateItem(...
Старый 09.08.2005, 07:26   #3  
andkud is offline
andkud
Участник
 
13 / 10 (1) +
Регистрация: 05.07.2005
Цитата:
'Создание объекта, указывающего на данные в Outlook
Set out = New Outlook.Application

Set nms = out.GetNamespace("MAPI")


'Создание объекта, указывающего на папку "Контакты"
Set MyCont = nms.Folders("Общие папки")
Set MyCont = MyCont.Folders("Все общие папки")
Set MyCont = MyCont.Folders("Журналы")
MyCont.CreateItem(...
В Axapta это выглядит немного подругому:


contactFolder = outlookNameSpace.GetDefaultFolder(#olFolderContacts);
contactFolders = contactFolder.Folders();
contactFolder = contactFolders.Item("Личные контакты");
но это ладно...
а вот когда хочешь создать элемент

contactFolder.createItem(2); // 2 - это означает, что элемент это контакт

пишет что COM объект не имеет метода createItem...

должен наверное быть другой метод или способ...
Старый 09.08.2005, 08:05   #4  
andkud is offline
andkud
Участник
 
13 / 10 (1) +
Регистрация: 05.07.2005
Цитата:
'Создание объекта, указывающего на данные в Outlook
Set out = New Outlook.Application

Set nms = out.GetNamespace("MAPI")


'Создание объекта, указывающего на папку "Контакты"
Set MyCont = nms.Folders("Общие папки")
Set MyCont = MyCont.Folders("Все общие папки")
Set MyCont = MyCont.Folders("Журналы")
MyCont.CreateItem(...
В Axapta это выглядит немного подругому:


contactFolder = outlookNameSpace.GetDefaultFolder(#olFolderContacts);
contactFolders = contactFolder.Folders();
contactFolder = contactFolders.Item("Личные контакты");
но это ладно...
а вот когда хочешь создать элемент

contactFolder.createItem(2); // 2 - это означает, что элемент это контакт

пишет что COM объект не имеет метода createItem...

должен наверное быть другой метод или способ...
Старый 09.08.2005, 09:15   #5  
andkud is offline
andkud
Участник
 
13 / 10 (1) +
Регистрация: 05.07.2005
Всё я уже разобрался...

как записывать сразу в нужную папку я так и не нашёл...
но можно после сохранения контакта написать:

Item.Move("Нужная папка");

И он окажется там где нужно
Старый 10.08.2005, 16:22   #6  
maximus is offline
maximus
Участник
 
153 / 10 (1) +
Регистрация: 16.03.2005
PHP код:
   Dim ou As New Outlook.Application
   Dim contact 
As ContactItem
   Dim folder 
As MAPIFolder
      
   Set folder 
ou.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
   If 
Not (folder Is NothingThen
      
' найдите нужную папку: ищется контакты\important
      Set folder = folder.Folders.Item("important")
      
      If Not (folder Is Nothing) Then
         Set contact = folder.Items.Add()
         
         If Not (contact Is Nothing) Then
            contact.LastName = "Pupkin"
            contact.FirstName = "Vasya"
            contact.Save
         End If
      End If
   End If 
Аутглюк не Аксапта, но и там не всегда разработчикам удается угадать какое имя надо дать методу, чтобы было интуитивно понятно. Согласен, folder.Items.Add() - интуитивно не понятно, мало того, еще сбивает с толку. Я бы предположил, что создается еще одна подпапка..

Однако, в таких случаях поиск рулит с неимоверной силой
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблемы с OutLook dreamer DAX: Программирование 2 05.08.2008 20:20
dax-lessons: Create Outlook Appointment or Meeting Request using X++ Blog bot DAX Blogs 0 30.04.2008 23:07
jinx: Microsoft Dynamics AX und .NET - Erstellen eines Termins in Outlook Blog bot DAX auf Deutsch 0 03.11.2007 00:33
Доступ к Outlook из web - портала magnetica DAX: Программирование 6 07.07.2006 16:05
синхронизация с outlook alpine DAX: Функционал 7 09.06.2004 13:53
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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